2 Commits
Author SHA1 Message Date
zemion d2a19248c4 fix(packaging): expose immutable WebUI Git package for v0.1.22
Module Package Release / publish-packages (push) Successful in 11s
2026-09-08 02:06:10 +02:00
zemion 14808037fb fix(webui): bind status-link delivery to help
Module Package Release / publish-packages (push) Successful in 11s
2026-08-24 11:36:41 +02:00
6 changed files with 55 additions and 4 deletions
+18
View File
@@ -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.
+33
View File
@@ -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
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "govoplan-portal" name = "govoplan-portal"
version = "0.1.20" 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"
+1 -1
View File
@@ -43,7 +43,7 @@ from govoplan_core.core.views import ViewSurface
MODULE_ID = "portal" MODULE_ID = "portal"
MODULE_VERSION = "0.1.20" 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")
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@govoplan/portal-webui", "name": "@govoplan/portal-webui",
"version": "0.1.20", "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>