Add dashboard module

This commit is contained in:
2026-07-09 17:08:00 +02:00
commit 441f8f11ac
23 changed files with 548 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
"""GovOPlaN dashboard module."""
__all__ = ["__version__"]
__version__ = "0.1.6"

View File

@@ -0,0 +1,2 @@
"""Backend integration for the GovOPlaN dashboard module."""

View File

@@ -0,0 +1,40 @@
from __future__ import annotations
from govoplan_core.core.modules import DocumentationTopic, FrontendModule, FrontendRoute, ModuleManifest, NavItem
manifest = ModuleManifest(
id="dashboard",
name="Dashboard",
version="0.1.6",
dependencies=("access",),
optional_dependencies=("ops", "campaigns", "files", "mail", "tasks", "notifications", "reporting"),
nav_items=(NavItem(path="/dashboard", label="Dashboard", icon="dashboard", order=10),),
frontend=FrontendModule(
module_id="dashboard",
package_name="@govoplan/dashboard-webui",
routes=(FrontendRoute(path="/dashboard", component="DashboardPage", order=10),),
nav_items=(NavItem(path="/dashboard", label="Dashboard", icon="dashboard", order=10),),
),
documentation=(
DocumentationTopic(
id="dashboard.configurable-home",
title="Configurable user dashboard",
summary="The dashboard module owns the configurable home surface. Feature modules expose widgets through a narrow dashboard.widgets capability.",
body=(
"Core only provides a minimal fallback home when the dashboard module is absent. "
"Dashboard widgets must be contributed through core contracts, not by importing sibling module components directly."
),
layer="configured",
documentation_types=("admin", "user"),
audience=("user", "tenant_admin", "operator"),
related_modules=("core", "ops"),
order=20,
),
),
)
def get_manifest() -> ModuleManifest:
return manifest

View File

@@ -0,0 +1 @@