Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2a19248c4 | ||
|
|
14808037fb | ||
|
|
e0326d3394 |
@@ -46,3 +46,21 @@ data. Core and the deployment operator remain responsible for request/security
|
|||||||
logs. This reviewed boundary avoids duplicate or contradictory privacy exports.
|
logs. This reviewed boundary avoids duplicate or contradictory privacy exports.
|
||||||
|
|
||||||
See [docs/SERVICE_DIRECTORY_CONCEPT.md](docs/SERVICE_DIRECTORY_CONCEPT.md).
|
See [docs/SERVICE_DIRECTORY_CONCEPT.md](docs/SERVICE_DIRECTORY_CONCEPT.md).
|
||||||
|
|
||||||
|
## Git-source WebUI package
|
||||||
|
|
||||||
|
The repository root exposes `@govoplan/portal-webui` for Git-tagged release
|
||||||
|
dependencies. It mirrors the owning `webui/package.json` version, public
|
||||||
|
TypeScript/CSS exports and peer requirements, with entry paths under
|
||||||
|
`webui/src`. Consumers provide the shared Core/React peers; the facade runs no
|
||||||
|
development or install scripts. The source archive contains `webui/src`, this
|
||||||
|
README and any repository license file. Run module development checks from `webui/`; Python
|
||||||
|
installation remains governed by `pyproject.toml`.
|
||||||
|
|
||||||
|
Das Repository stellt `@govoplan/portal-webui` am Wurzelpfad für versionierte
|
||||||
|
Git-Abhängigkeiten bereit. Version, öffentliche TypeScript-/CSS-Exporte und
|
||||||
|
Peer-Anforderungen entsprechen `webui/package.json`; die Einstiegspfade liegen
|
||||||
|
unter `webui/src`. Gemeinsame Core-/React-Peers stellt die einbindende Anwendung
|
||||||
|
bereit. Die Fassade führt keine Entwicklungs- oder Installationsskripte aus.
|
||||||
|
Entwicklungsprüfungen bleiben in `webui/`, die Python-Installation weiterhin in
|
||||||
|
`pyproject.toml` definiert.
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"name": "@govoplan/portal-webui",
|
||||||
|
"version": "0.1.22",
|
||||||
|
"private": true,
|
||||||
|
"type": "module",
|
||||||
|
"main": "webui/src/index.ts",
|
||||||
|
"module": "webui/src/index.ts",
|
||||||
|
"types": "webui/src/index.ts",
|
||||||
|
"exports": {
|
||||||
|
".": {
|
||||||
|
"types": "./webui/src/index.ts",
|
||||||
|
"import": "./webui/src/index.ts"
|
||||||
|
},
|
||||||
|
"./styles/portal.css": "./webui/src/styles/portal.css"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@govoplan/core-webui": "^0.1.18",
|
||||||
|
"lucide-react": "^1.23.0",
|
||||||
|
"react": ">=19.2.7 <20",
|
||||||
|
"react-dom": ">=19.2.7 <20",
|
||||||
|
"react-router": ">=8.3.0 <9"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@govoplan/core-webui": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"webui/src",
|
||||||
|
"README.md",
|
||||||
|
"LICENSE"
|
||||||
|
]
|
||||||
|
}
|
||||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "govoplan-portal"
|
name = "govoplan-portal"
|
||||||
version = "0.1.19"
|
version = "0.1.22"
|
||||||
description = "GovOPlaN service discovery and public portal module."
|
description = "GovOPlaN service discovery and public portal module."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
"""German translations for public structured documentation metadata."""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
|
|
||||||
|
GERMAN_STRUCTURED_TRANSLATIONS: dict[str, dict[str, Any]] = {'portal.application-status': {'privacy_notes': ['Der Besitz eines permanenten Statuslinks gewährt '
|
||||||
|
'Zugriff auf die begrenzte Projektion, bis der '
|
||||||
|
'Eigentümer die Police aussetzt oder den Zuschuss '
|
||||||
|
'widerruft.',
|
||||||
|
'Die Oberfläche der E-Mail-Anfrage zeigt nicht '
|
||||||
|
'an, ob die Tracking-Kennung, die E-Mail-Adresse, '
|
||||||
|
'der Anbieter oder der Lieferversuch '
|
||||||
|
'übereinstimmen.']},
|
||||||
|
'portal.service-directory': {'steps': ['Öffnen Sie das Dienstverzeichnis und wählen Sie einen '
|
||||||
|
'entsprechenden veröffentlichten Dienst aus.',
|
||||||
|
'Überprüfen Sie alle erklärten '
|
||||||
|
'Verfügbarkeitsbeschränkungen, bevor Sie fortfahren.',
|
||||||
|
'Öffnen Sie den Dienst, damit Portal die genaue '
|
||||||
|
'Überarbeitung erneut überprüft und den Start an sein '
|
||||||
|
'eigenes Modul übergibt.']}}
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from govoplan_core.core.modules import with_documentation_structured_translations
|
||||||
|
from govoplan_portal.backend.german_structured_documentation import GERMAN_STRUCTURED_TRANSLATIONS
|
||||||
|
|
||||||
from govoplan_core.core.application_status import (
|
from govoplan_core.core.application_status import (
|
||||||
CAPABILITY_APPLICATION_STATUS_PROJECTION,
|
CAPABILITY_APPLICATION_STATUS_PROJECTION,
|
||||||
application_status_projection_provider,
|
application_status_projection_provider,
|
||||||
@@ -40,7 +43,7 @@ from govoplan_core.core.views import ViewSurface
|
|||||||
|
|
||||||
|
|
||||||
MODULE_ID = "portal"
|
MODULE_ID = "portal"
|
||||||
MODULE_VERSION = "0.1.19"
|
MODULE_VERSION = "0.1.22"
|
||||||
READ_SCOPE = "portal:service:read"
|
READ_SCOPE = "portal:service:read"
|
||||||
SERVICE_LAUNCH_CAPABILITIES = tuple(
|
SERVICE_LAUNCH_CAPABILITIES = tuple(
|
||||||
service_launch_capability(kind) for kind in ("case", "form", "workflow")
|
service_launch_capability(kind) for kind in ("case", "form", "workflow")
|
||||||
@@ -432,5 +435,10 @@ manifest = ModuleManifest(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
manifest = with_documentation_structured_translations(
|
||||||
|
manifest, locale="de", translations=GERMAN_STRUCTURED_TRANSLATIONS
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_manifest() -> ModuleManifest:
|
def get_manifest() -> ModuleManifest:
|
||||||
return manifest
|
return manifest
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@govoplan/portal-webui",
|
"name": "@govoplan/portal-webui",
|
||||||
"version": "0.1.19",
|
"version": "0.1.22",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "src/index.ts",
|
"main": "src/index.ts",
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ export default function PortalStatusPage({ settings }: PlatformRouteContext) {
|
|||||||
<FormField label="Linked email address">
|
<FormField label="Linked email address">
|
||||||
<input type="email" value={email} onChange={(event) => setEmail(event.target.value)} disabled={sending} required autoComplete="email" />
|
<input type="email" value={email} onChange={(event) => setEmail(event.target.value)} disabled={sending} required autoComplete="email" />
|
||||||
</FormField>
|
</FormField>
|
||||||
<Button type="submit" variant="primary" disabled={sending || !email.trim()}>
|
<Button type="submit" variant="primary" helpContextId="portal.application-status" helpModuleId="portal" disabled={sending || !email.trim()}>
|
||||||
<Send size={16} aria-hidden="true" />
|
<Send size={16} aria-hidden="true" />
|
||||||
Send new link
|
Send new link
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
Reference in New Issue
Block a user