From 927574920b25f633ad30bdb9c1c125a559f5e8b2 Mon Sep 17 00:00:00 2001 From: Anto Subash Date: Wed, 17 Jun 2026 16:58:58 +0200 Subject: [PATCH 01/10] docs(branding): design spec for branding feature --- .../2026-06-17-branding-feature-design.md | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 docs/plans/2026-06-17-branding-feature-design.md diff --git a/docs/plans/2026-06-17-branding-feature-design.md b/docs/plans/2026-06-17-branding-feature-design.md new file mode 100644 index 00000000..b262066c --- /dev/null +++ b/docs/plans/2026-06-17-branding-feature-design.md @@ -0,0 +1,176 @@ +# Branding feature — design + +**Date:** 2026-06-17 +**Status:** design (intended state) + +## Goal + +Let an administrator customise the application's identity — **app name, logo, +favicon, and primary brand colour** — from the admin UI, and have those values +applied everywhere the framework currently hard-codes "SimpleModule" (browser +title, sidebar/header label and logo, favicon, primary colour). + +## Scope (MVP) and explicit non-goals + +In scope: + +- A `branding` module exposing **app name**, **logo image**, **favicon image**, + and **primary colour (hex)**. +- A dedicated admin page (`/branding`) with uploads, a colour picker and a live + preview — gated behind a `branding.manage` permission. +- Logo/favicon **image upload** reusing the existing `file_storage` module + (stored by UUID, served via its download endpoint). +- Values persisted via the existing **settings store** (no new branding DB + table), hydrated at boot and hot-reloaded on save. +- Values surfaced to **every** Inertia page (authenticated *and* guest) via a + new generic framework extension point, then consumed in the React layout, + the document ``, the favicon `<link>`, and primary-colour CSS vars. + +Non-goals (deliberately deferred — note where the design leaves room): + +- **Per-tenant branding.** MVP is SYSTEM scope only. The settings store already + supports TENANT/USER scope, so this is an additive change later (resolve the + tenant in the shared-props provider). +- **Full colour-scale theming.** We override the shadcn semantic tokens + (`--primary`, `--primary-foreground`, `--sidebar-primary`) from the single + hex. We do *not* regenerate the `primary-50…900` OKLCH scale used by some + gradients; that is a future enhancement. +- Custom fonts, login-page background imagery, dark/light logo variants. + +## Why this shape + +The framework already has every primitive this needs; the feature is mostly +*wiring*, not new infrastructure: + +- **Settings store** persists arbitrary module config (SYSTEM/TENANT/USER + scope), hydrates a pydantic `BaseSettings` at boot into + `app.state.<module>.settings`, and hot-swaps it on save via + `apply_changes_and_reload(...)` which also publishes `SettingsReloaded`. + → Branding stores its four values here; **no new table**. +- **file_storage** stores an uploaded image and returns a stable UUID; the + image is served from `GET /api/file-storage/files/{id}/download` for every + backend (local disk or S3/MinIO). + → Branding stores `logo_file_id` / `favicon_file_id` and derives URLs. +- **`InertiaLayoutDataMiddleware`** already assembles per-page shared props + (`auth`, `menus`, `i18n`) and — crucially — avoids the `SM009` + framework→plugin import ban by reading a *module-registered callable* off + `app.state` (`principal_serializer`). Branding follows that exact precedent. + +## Architecture + +### New framework extension point: Inertia shared-prop providers + +A generic, module-agnostic hook so any plugin can contribute layout-wide shared +props without the framework importing the plugin (mirrors `principal_serializer`). + +- `app.state.inertia_shared_providers: list[Callable[[Request], dict]]`, + initialised to `[]` in `app_builder`. +- A tiny hosting helper `register_inertia_shared_provider(app, fn)` appends to it. +- `InertiaLayoutDataMiddleware` iterates the providers and merges each returned + dict into `shared` (after the built-in `auth`/`menus`/`i18n`). Providers must + be cheap and total (no exceptions); a provider that raises is skipped and + logged, never failing the request. + +This is generic framework value, not a branding special-case. + +### The `branding` module (plugin) + +``` +modules/branding/branding/ +├── module.py # registers settings, permission, menu, routes, provider +├── settings.py # BrandingSettings(BaseSettings): app_name, logo_file_id, +│ # favicon_file_id, primary_color +├── services.py # BrandingState(settings=...) +├── service.py # BrandingService: read current branding, apply updates, +│ # upload+set logo/favicon via file_storage + settings store +├── shared_props.py # provider: (request) -> {"branding": {...}} from app.state +├── contracts/ # BrandingOut, BrandingUpdate DTOs +├── deps.py +├── endpoints/api.py # JSON: GET current, PUT name/colour, POST logo, POST +│ # favicon, DELETE logo/favicon (all branding.manage) +├── endpoints/views.py # Inertia: GET /branding -> "Branding/Manage" +├── pages/Manage.tsx # admin page: name, uploads, colour picker, live preview +└── locales/en.json +``` + +- `meta = ModuleMeta(name="Branding", route_prefix="/api/branding", + view_prefix="/branding", depends_on=["Settings", "FileStorage"])`. +- `register_permissions`: group "Branding" with `branding.view`, `branding.manage`. +- `register_menu_items`: "Branding" under the "Administration" group, + `roles=["admin"]`. +- `register_settings`: `register_module_settings(app, "branding", + BrandingSettings, lambda s: BrandingState(settings=s))`. +- Shared-props provider registered in `on_startup` (after settings hydrated): + returns `{"branding": {appName, logoUrl, faviconUrl, primaryColor}}`, reading + the live `app.state.branding.settings`. URLs derived from file ids; `None` + when unset so the frontend falls back to defaults. + +### Data flow + +``` +admin saves on /branding + → POST /api/branding/logo (UploadFile) + → file_storage.upload() -> StoredFileOut.id (UUID) + → settings apply_changes_and_reload(app, bus, store, "branding", + {"logo_file_id": str(id)}) + → app.state.branding.settings hot-swapped + SettingsReloaded event + → next request: + InertiaLayoutDataMiddleware merges branding provider output into shared + → inertia.share(**shared) + → usePage().props.branding in React + → SidebarLayout (name + logo), app.tsx title, <Head> favicon, + CSS var override for --primary +``` + +### Frontend consumption (packages/ui + host) + +- `app.tsx` title callback: `title ? \`${title} — ${appName}\` : appName`, + reading the initial-page branding prop (fallback "SimpleModule"). +- `SidebarLayout.tsx`: render `branding.appName` and, when `logoUrl` set, an + `<img>` instead of the "SM" badge — both mobile and desktop. Fallback to the + current "SM"/"SimpleModule" treatment. +- New `BrandingHead` component (packages/ui) rendered in the authenticated and + public layouts: emits `<Head>` with a favicon `<link>` (when set) and a + `<style>` overriding `--primary` / `--primary-foreground` / + `--sidebar-primary` from the hex (when set). +- Branding shared prop also reaches **guest** pages (login etc.) because the + provider runs for every request. + +## Validation & error handling + +- Image uploads constrained to an allow-list (`image/png`, `image/jpeg`, + `image/svg+xml`, `image/x-icon`, `image/webp`) and a max size (e.g. 2 MB), + enforced in the branding endpoint before handing to file_storage. +- `primary_color` validated as a `#rrggbb` hex (pydantic field validator); + invalid input rejected with 422. +- `app_name` length-bounded (1–60 chars). +- Shared-props provider is defensive: any failure → omit branding block, log, + never 500 a page. + +## Testing + +- **Unit (pytest):** `BrandingSettings` defaults/validation; `BrandingService` + upload→settings-write happy path with a fake file_storage; shared-props + provider output (set vs unset values); hex validator. +- **Integration (pytest + authenticated_client):** `PUT /api/branding` + persists name/colour and the value appears in the next page's shared props; + `POST /api/branding/logo` stores a file and sets `logo_file_id`; permission + gate returns 403 without `branding.manage`. +- **Framework:** provider registry — a registered provider's dict is merged + into shared; a throwing provider is skipped, not fatal. +- **JS (vitest):** `SidebarLayout` renders custom name/logo when prop present, + falls back when absent; `BrandingHead` emits favicon + CSS var style. +- **Doctor:** `make doctor` clean (no SM00x/SM01x regressions; menu+permission + present so no SM019). + +## Build sequence + +1. Framework extension point (registry + middleware merge + helper) — TDD. +2. Scaffold `branding` module (`make new-module`), strip CRUD shape to the + settings/singleton shape above. +3. `BrandingSettings` + state + service + contracts + provider — TDD. +4. Endpoints (JSON + Inertia view) + permissions + menu — TDD. +5. Frontend: shared-prop typing, SidebarLayout, app.tsx title, BrandingHead, + Manage.tsx page. +6. Wire provider registration; `make gen-pages`; migrations check. +7. `make lint`, `make test`, `make doctor`; e2e smoke of `/branding`. From 0d60c217c465e9d226a88c1e46d3ce461fa926cc Mon Sep 17 00:00:00 2001 From: Anto Subash <antosubash@live.com> Date: Wed, 17 Jun 2026 17:07:43 +0200 Subject: [PATCH 02/10] feat(hosting): generic Inertia shared-prop provider extension point Modules can register a Callable[[Request], dict] via register_inertia_shared_provider(app, fn); InertiaLayoutDataMiddleware merges each provider's output into the per-page shared props after the built-in auth/menus/i18n blocks. A provider that raises is skipped and logged, never failing the request. Mirrors the principal_serializer precedent so the framework never imports plugin modules (SM009). --- .../hosting/simple_module_hosting/__init__.py | 13 +++- .../simple_module_hosting/app_builder.py | 4 + .../simple_module_hosting/middleware.py | 18 +++++ .../simple_module_hosting/shared_props.py | 42 +++++++++++ .../tests/test_inertia_shared_providers.py | 75 +++++++++++++++++++ 5 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 framework/hosting/simple_module_hosting/shared_props.py create mode 100644 framework/hosting/tests/test_inertia_shared_providers.py diff --git a/framework/hosting/simple_module_hosting/__init__.py b/framework/hosting/simple_module_hosting/__init__.py index c5f6dbe3..9431d8d9 100644 --- a/framework/hosting/simple_module_hosting/__init__.py +++ b/framework/hosting/simple_module_hosting/__init__.py @@ -3,5 +3,16 @@ from simple_module_hosting.app_builder import create_app from simple_module_hosting.logging import correlation_id, setup_logging from simple_module_hosting.settings import Settings +from simple_module_hosting.shared_props import ( + SharedPropsProvider, + register_inertia_shared_provider, +) -__all__ = ["Settings", "correlation_id", "create_app", "setup_logging"] +__all__ = [ + "Settings", + "SharedPropsProvider", + "correlation_id", + "create_app", + "register_inertia_shared_provider", + "setup_logging", +] diff --git a/framework/hosting/simple_module_hosting/app_builder.py b/framework/hosting/simple_module_hosting/app_builder.py index 2a96040d..220fb881 100644 --- a/framework/hosting/simple_module_hosting/app_builder.py +++ b/framework/hosting/simple_module_hosting/app_builder.py @@ -199,6 +199,10 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]: lifespan=lifespan, ) + # Generic Inertia shared-prop providers (modules append via + # register_inertia_shared_provider). Initialised here so it always exists. + app.state.inertia_shared_providers = [] + # ── Phase 4: Module settings ─────────────────────────── for mod in modules: mod.register_settings(app) diff --git a/framework/hosting/simple_module_hosting/middleware.py b/framework/hosting/simple_module_hosting/middleware.py index a02e02df..0cf4b84b 100644 --- a/framework/hosting/simple_module_hosting/middleware.py +++ b/framework/hosting/simple_module_hosting/middleware.py @@ -277,6 +277,24 @@ async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: ), "i18n": i18n_block, } + + # Merge module-registered shared-prop providers (e.g. branding). Read off + # app.state (never importing the plugin) to keep SM009 intact. Defensive: + # a provider that raises is skipped, not allowed to 500 the page. + providers = getattr(scope["app"].state, "inertia_shared_providers", None) or () + for provider in providers: + try: + extra = provider(request) + except Exception: # noqa: BLE001 - a bad provider must not break the page + logger.warning( + "InertiaLayoutDataMiddleware: shared-prop provider %r raised; skipping", + getattr(provider, "__name__", provider), + exc_info=True, + ) + continue + if extra: + shared.update(extra) + request.state.inertia_shared = shared await self.app(scope, receive, send) diff --git a/framework/hosting/simple_module_hosting/shared_props.py b/framework/hosting/simple_module_hosting/shared_props.py new file mode 100644 index 00000000..a60160ee --- /dev/null +++ b/framework/hosting/simple_module_hosting/shared_props.py @@ -0,0 +1,42 @@ +"""Module-registered Inertia shared-prop providers. + +A generic extension point so plugin modules can contribute layout-wide Inertia +shared props (e.g. branding) on every page, without the framework importing the +plugin. This mirrors the ``principal_serializer`` precedent: the framework reads +a registered callable off ``app.state`` rather than reaching into module code, +keeping the ``SM009`` framework→plugin import ban intact. + +A provider is ``Callable[[Request], dict]``. It must be cheap and total — it runs +for every request. :class:`InertiaLayoutDataMiddleware` merges each provider's +returned dict into the ``shared`` payload after the built-in ``auth``/``menus``/ +``i18n`` blocks; a provider that raises is skipped and logged, never failing the +request. +""" + +from __future__ import annotations + +from collections.abc import Callable +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from fastapi import FastAPI + from starlette.requests import Request + +SharedPropsProvider = Callable[["Request"], dict] +"""A function mapping a request to a dict merged into Inertia shared props.""" + +_STATE_ATTR = "inertia_shared_providers" + + +def register_inertia_shared_provider(app: FastAPI, provider: SharedPropsProvider) -> None: + """Register a shared-props provider on the app. + + Idempotently initialises ``app.state.inertia_shared_providers`` (a list) and + appends ``provider``. Safe to call from a module lifecycle hook before the + framework has set up the list. + """ + providers = getattr(app.state, _STATE_ATTR, None) + if providers is None: + providers = [] + setattr(app.state, _STATE_ATTR, providers) + providers.append(provider) diff --git a/framework/hosting/tests/test_inertia_shared_providers.py b/framework/hosting/tests/test_inertia_shared_providers.py new file mode 100644 index 00000000..a8d68799 --- /dev/null +++ b/framework/hosting/tests/test_inertia_shared_providers.py @@ -0,0 +1,75 @@ +"""Verify InertiaLayoutDataMiddleware merges module-registered shared-prop providers. + +Modules contribute layout-wide Inertia shared props (e.g. branding) without the +framework importing the plugin — mirroring the ``principal_serializer`` precedent. +Providers are registered on ``app.state.inertia_shared_providers`` and merged into +the ``shared`` dict for every request. +""" + +from __future__ import annotations + +import logging + +from fastapi import FastAPI +from simple_module_core.menu import MenuRegistry +from simple_module_core.permissions import PermissionRegistry +from simple_module_hosting.middleware import InertiaLayoutDataMiddleware +from simple_module_hosting.shared_props import register_inertia_shared_provider +from starlette.middleware.sessions import SessionMiddleware +from starlette.requests import Request +from starlette.responses import JSONResponse +from starlette.testclient import TestClient + + +def _build_app() -> FastAPI: + app = FastAPI() + + @app.get("/shared") + def shared(request: Request) -> JSONResponse: + return JSONResponse(request.state.inertia_shared) + + app.add_middleware( + InertiaLayoutDataMiddleware, + menu_registry=MenuRegistry(), + permission_registry=PermissionRegistry(), + ) + app.add_middleware(SessionMiddleware, secret_key="test-secret") + return app + + +def test_registered_provider_dict_merged_into_shared() -> None: + app = _build_app() + register_inertia_shared_provider(app, lambda _req: {"branding": {"appName": "Acme"}}) + + body = TestClient(app).get("/shared").json() + + assert body["branding"] == {"appName": "Acme"} + # Built-in blocks still present. + assert "auth" in body + assert "menus" in body + + +def test_provider_that_raises_is_skipped_not_fatal(caplog) -> None: + app = _build_app() + + def boom(_req: Request) -> dict: + raise RuntimeError("provider blew up") + + register_inertia_shared_provider(app, boom) + register_inertia_shared_provider(app, lambda _req: {"branding": {"appName": "Acme"}}) + + with caplog.at_level(logging.WARNING, logger="simple_module_hosting.middleware"): + resp = TestClient(app).get("/shared") + + assert resp.status_code == 200 + body = resp.json() + # The good provider still applied; the failing one was skipped. + assert body["branding"] == {"appName": "Acme"} + assert "auth" in body + assert any("shared-prop" in rec.message.lower() for rec in caplog.records) + + +def test_no_providers_leaves_shared_unchanged() -> None: + body = TestClient(_build_app()).get("/shared").json() + assert "branding" not in body + assert "auth" in body and "menus" in body From d76c2a87a79a9fb1debc4cab97d8b14c89021282 Mon Sep 17 00:00:00 2001 From: Anto Subash <antosubash@live.com> Date: Wed, 17 Jun 2026 17:17:58 +0200 Subject: [PATCH 03/10] feat(branding): backend module (settings store + file_storage + shared-props) New branding module: app name, logo, favicon and primary colour, persisted via the settings store (no own table), surfaced to every page through a registered Inertia shared-props provider. JSON API (PUT text fields, logo/ favicon upload+clear) gated by branding.manage; Inertia view at /branding gated by branding.view; sidebar entry + permissions registered. Also fixes two make-new-module scaffold bugs hit here: host/pyproject used the bare package name instead of simple_module_<name>, and the module pyproject was missing [tool.hatch.build.targets.wheel] packages. --- host/pyproject.toml | 2 + modules/branding/branding/__init__.py | 1 + modules/branding/branding/constants.py | 29 ++++ .../branding/branding/contracts/__init__.py | 8 + .../branding/branding/contracts/schemas.py | 35 ++++ modules/branding/branding/deps.py | 21 +++ .../branding/branding/endpoints/__init__.py | 0 modules/branding/branding/endpoints/api.py | 74 +++++++++ modules/branding/branding/endpoints/views.py | 23 +++ modules/branding/branding/locales/en.json | 23 +++ modules/branding/branding/module.py | 77 +++++++++ modules/branding/branding/py.typed | 0 modules/branding/branding/service.py | 63 +++++++ modules/branding/branding/services.py | 20 +++ modules/branding/branding/settings.py | 49 ++++++ modules/branding/branding/shared_props.py | 44 +++++ modules/branding/package.json | 16 ++ modules/branding/pyproject.toml | 35 ++++ modules/branding/tests/test_branding.py | 154 ++++++++++++++++++ modules/branding/tsconfig.json | 11 ++ pyproject.toml | 3 +- 21 files changed, 687 insertions(+), 1 deletion(-) create mode 100644 modules/branding/branding/__init__.py create mode 100644 modules/branding/branding/constants.py create mode 100644 modules/branding/branding/contracts/__init__.py create mode 100644 modules/branding/branding/contracts/schemas.py create mode 100644 modules/branding/branding/deps.py create mode 100644 modules/branding/branding/endpoints/__init__.py create mode 100644 modules/branding/branding/endpoints/api.py create mode 100644 modules/branding/branding/endpoints/views.py create mode 100644 modules/branding/branding/locales/en.json create mode 100644 modules/branding/branding/module.py create mode 100644 modules/branding/branding/py.typed create mode 100644 modules/branding/branding/service.py create mode 100644 modules/branding/branding/services.py create mode 100644 modules/branding/branding/settings.py create mode 100644 modules/branding/branding/shared_props.py create mode 100644 modules/branding/package.json create mode 100644 modules/branding/pyproject.toml create mode 100644 modules/branding/tests/test_branding.py create mode 100644 modules/branding/tsconfig.json diff --git a/host/pyproject.toml b/host/pyproject.toml index fe5b8a1c..ef02ea95 100644 --- a/host/pyproject.toml +++ b/host/pyproject.toml @@ -13,6 +13,7 @@ dependencies = [ "simple_module_settings", "simple_module_feature_flags", "simple_module_audit_log", + "simple_module_branding", "python-multipart>=0.0.6", ] @@ -26,3 +27,4 @@ simple_module_file_storage = { workspace = true } simple_module_settings = { workspace = true } simple_module_feature_flags = { workspace = true } simple_module_audit_log = { workspace = true } +simple_module_branding = { workspace = true } diff --git a/modules/branding/branding/__init__.py b/modules/branding/branding/__init__.py new file mode 100644 index 00000000..fe9ceb0b --- /dev/null +++ b/modules/branding/branding/__init__.py @@ -0,0 +1 @@ +"""Branding module.""" diff --git a/modules/branding/branding/constants.py b/modules/branding/branding/constants.py new file mode 100644 index 00000000..c8948ba6 --- /dev/null +++ b/modules/branding/branding/constants.py @@ -0,0 +1,29 @@ +"""Branding module constants.""" + +from __future__ import annotations + +from typing import Final + +PACKAGE: Final = "branding" + +PERM_VIEW: Final = "branding.view" +PERM_MANAGE: Final = "branding.manage" + +# Image upload guard-rails (enforced before handing the file to file_storage). +MAX_IMAGE_BYTES: Final = 2 * 1024 * 1024 # 2 MB +ALLOWED_IMAGE_TYPES: Final = frozenset( + { + "image/png", + "image/jpeg", + "image/svg+xml", + "image/webp", + "image/gif", + "image/x-icon", + "image/vnd.microsoft.icon", + } +) + +# Mirrors the file_storage download route (``/api/file-storage`` + +# ``/files/{id}/download``). Branding depends on FileStorage, so this stable +# public URL is safe to derive without a runtime lookup. +FILE_DOWNLOAD_URL: Final = "/api/file-storage/files/{}/download" diff --git a/modules/branding/branding/contracts/__init__.py b/modules/branding/branding/contracts/__init__.py new file mode 100644 index 00000000..3be68fe9 --- /dev/null +++ b/modules/branding/branding/contracts/__init__.py @@ -0,0 +1,8 @@ +"""Branding contracts — public interface for other modules.""" + +from branding.contracts.schemas import BrandingOut, BrandingUpdate + +__all__ = [ + "BrandingOut", + "BrandingUpdate", +] diff --git a/modules/branding/branding/contracts/schemas.py b/modules/branding/branding/contracts/schemas.py new file mode 100644 index 00000000..79defe9a --- /dev/null +++ b/modules/branding/branding/contracts/schemas.py @@ -0,0 +1,35 @@ +"""SQLModel DTOs for the Branding module — the public surface.""" + +from __future__ import annotations + +import re + +from pydantic import field_validator +from sqlmodel import Field, SQLModel + +_HEX_COLOR = re.compile(r"^#[0-9a-fA-F]{6}$") + + +class BrandingOut(SQLModel): + """Current branding, with logo/favicon resolved to download URLs.""" + + app_name: str + primary_color: str = "" + logo_url: str | None = None + favicon_url: str | None = None + + +class BrandingUpdate(SQLModel): + """Editable text fields. Logo/favicon are set via dedicated upload routes.""" + + app_name: str | None = Field(default=None, min_length=1, max_length=60) + primary_color: str | None = Field(default=None) + + @field_validator("primary_color") + @classmethod + def _valid_hex(cls, value: str | None) -> str | None: + if value is None: + return None + if value != "" and not _HEX_COLOR.match(value): + raise ValueError("primary_color must be a #rrggbb hex string or empty") + return value.lower() diff --git a/modules/branding/branding/deps.py b/modules/branding/branding/deps.py new file mode 100644 index 00000000..18a7f4d4 --- /dev/null +++ b/modules/branding/branding/deps.py @@ -0,0 +1,21 @@ +"""FastAPI dependencies for the Branding module.""" + +from __future__ import annotations + +from typing import Annotated + +from fastapi import Depends, Request +from simple_module_db.deps import get_db +from sqlalchemy.ext.asyncio import AsyncSession + +from branding.service import BrandingService + + +async def get_branding_service( + request: Request, + db: AsyncSession = Depends(get_db), +) -> BrandingService: + return BrandingService(request.app, db) + + +BrandingServiceDep = Annotated[BrandingService, Depends(get_branding_service)] diff --git a/modules/branding/branding/endpoints/__init__.py b/modules/branding/branding/endpoints/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/modules/branding/branding/endpoints/api.py b/modules/branding/branding/endpoints/api.py new file mode 100644 index 00000000..9de0ad83 --- /dev/null +++ b/modules/branding/branding/endpoints/api.py @@ -0,0 +1,74 @@ +"""REST API endpoints for Branding (JSON). All writes require branding.manage.""" + +from __future__ import annotations + +from fastapi import APIRouter, Depends, HTTPException, UploadFile +from file_storage.deps import get_file_storage_service +from file_storage.service import FileStorageService +from simple_module_hosting.permissions import RequiresPermission + +from branding import constants +from branding.contracts.schemas import BrandingOut, BrandingUpdate +from branding.deps import BrandingServiceDep + +router = APIRouter() + +_MANAGE = Depends(RequiresPermission(constants.PERM_MANAGE)) + + +def _validate_image(file: UploadFile) -> None: + if file.content_type not in constants.ALLOWED_IMAGE_TYPES: + raise HTTPException( + status_code=415, + detail=f"Unsupported image type {file.content_type!r}.", + ) + if file.size is not None and file.size > constants.MAX_IMAGE_BYTES: + raise HTTPException( + status_code=413, + detail=f"Image exceeds {constants.MAX_IMAGE_BYTES} bytes.", + ) + + +@router.get("/", response_model=BrandingOut, dependencies=[_MANAGE]) +async def get_branding(service: BrandingServiceDep) -> BrandingOut: + return service.current() + + +@router.put("/", response_model=BrandingOut, dependencies=[_MANAGE]) +async def update_branding(data: BrandingUpdate, service: BrandingServiceDep) -> BrandingOut: + changes = {k: v for k, v in data.model_dump(exclude_unset=True).items() if v is not None} + if not changes: + return service.current() + return await service.apply(changes) + + +@router.post("/logo", response_model=BrandingOut, dependencies=[_MANAGE]) +async def upload_logo( + service: BrandingServiceDep, + file: UploadFile, + storage: FileStorageService = Depends(get_file_storage_service), +) -> BrandingOut: + _validate_image(file) + stored = await storage.upload(file) + return await service.set_logo(str(stored.id)) + + +@router.post("/favicon", response_model=BrandingOut, dependencies=[_MANAGE]) +async def upload_favicon( + service: BrandingServiceDep, + file: UploadFile, + storage: FileStorageService = Depends(get_file_storage_service), +) -> BrandingOut: + _validate_image(file) + stored = await storage.upload(file) + return await service.set_favicon(str(stored.id)) + + +@router.delete("/logo", response_model=BrandingOut, dependencies=[_MANAGE]) +async def clear_logo(service: BrandingServiceDep) -> BrandingOut: + return await service.clear_logo() + + +@router.delete("/favicon", response_model=BrandingOut, dependencies=[_MANAGE]) +async def clear_favicon(service: BrandingServiceDep) -> BrandingOut: + return await service.clear_favicon() diff --git a/modules/branding/branding/endpoints/views.py b/modules/branding/branding/endpoints/views.py new file mode 100644 index 00000000..a04f997d --- /dev/null +++ b/modules/branding/branding/endpoints/views.py @@ -0,0 +1,23 @@ +"""Inertia view endpoints for Branding.""" + +from __future__ import annotations + +from fastapi import APIRouter, Depends +from inertia import InertiaResponse +from simple_module_hosting.inertia_deps import InertiaDep +from simple_module_hosting.permissions import RequiresPermission + +from branding import constants + +router = APIRouter() + + +@router.get( + "/", + response_model=None, + dependencies=[Depends(RequiresPermission(constants.PERM_VIEW))], +) +async def manage(inertia: InertiaDep) -> InertiaResponse: + # Current branding is delivered through the shared ``branding`` prop + # (the branding shared-props provider), so no page props are needed. + return await inertia.render("Branding/Manage") diff --git a/modules/branding/branding/locales/en.json b/modules/branding/branding/locales/en.json new file mode 100644 index 00000000..fbc94005 --- /dev/null +++ b/modules/branding/branding/locales/en.json @@ -0,0 +1,23 @@ +{ + "manage": { + "title": "Branding", + "description": "Customise your application's name, logo, favicon and primary colour.", + "app_name_label": "Application name", + "app_name_help": "Shown in the sidebar, the browser tab and on sign-in.", + "primary_color_label": "Primary colour", + "primary_color_help": "Accent colour used across buttons and highlights. Leave blank for the default.", + "logo_label": "Logo", + "logo_help": "Square PNG or SVG works best. Replaces the default badge in the sidebar.", + "favicon_label": "Favicon", + "favicon_help": "Small icon shown in the browser tab. PNG, SVG or ICO.", + "upload_button": "Upload", + "replace_button": "Replace", + "remove_button": "Remove", + "save_button": "Save changes", + "saving": "Saving…", + "preview_title": "Preview", + "saved_toast": "Branding updated", + "error_toast": "Could not update branding", + "upload_error_toast": "Could not upload image" + } +} diff --git a/modules/branding/branding/module.py b/modules/branding/branding/module.py new file mode 100644 index 00000000..8ee2b621 --- /dev/null +++ b/modules/branding/branding/module.py @@ -0,0 +1,77 @@ +"""Branding module definition. + +Lets an administrator customise the app name, logo, favicon and primary colour. +Values persist in the shared settings store (no branding table) and reach every +page through a registered Inertia shared-props provider. +""" + +from __future__ import annotations + +import importlib.resources +from pathlib import Path + +from fastapi import APIRouter, FastAPI +from simple_module_core.menu import MenuItem, MenuRegistry, MenuSection +from simple_module_core.module import ModuleBase, ModuleMeta +from simple_module_core.permissions import PermissionRegistry + +from branding import constants + + +class BrandingModule(ModuleBase): + meta = ModuleMeta( + name="Branding", + route_prefix="/api/branding", + view_prefix="/branding", + depends_on=["Settings", "FileStorage"], + ) + + def register_settings(self, app: FastAPI) -> None: + from settings.registration import register_module_settings + + from branding.services import BrandingServices + from branding.settings import BrandingSettings + + register_module_settings( + app, + constants.PACKAGE, + BrandingSettings, + lambda s: BrandingServices(settings=s), + ) + + def register_permissions(self, registry: PermissionRegistry) -> None: + registry.add_group( + "Branding", + [constants.PERM_VIEW, constants.PERM_MANAGE], + ) + + def register_menu_items(self, registry: MenuRegistry) -> None: + registry.add( + MenuItem( + label="Branding", + url="/branding", + icon="palette", + order=115, + section=MenuSection.SIDEBAR, + group="Administration", + roles=["admin"], + ) + ) + + def register_routes(self, api_router: APIRouter, view_router: APIRouter) -> None: + from branding.endpoints.api import router as api + from branding.endpoints.views import router as views + + api_router.include_router(api) + view_router.include_router(views) + + async def on_startup(self, app: FastAPI) -> None: + from simple_module_hosting.shared_props import register_inertia_shared_provider + + from branding.shared_props import branding_shared_props + + register_inertia_shared_provider(app, branding_shared_props) + + def locale_dirs(self) -> dict[str, Path]: + base = Path(str(importlib.resources.files(__package__) / "locales")) + return {constants.PACKAGE: base} diff --git a/modules/branding/branding/py.typed b/modules/branding/branding/py.typed new file mode 100644 index 00000000..e69de29b diff --git a/modules/branding/branding/service.py b/modules/branding/branding/service.py new file mode 100644 index 00000000..f535287b --- /dev/null +++ b/modules/branding/branding/service.py @@ -0,0 +1,63 @@ +"""Branding service — reads current branding and applies admin changes. + +There is no branding DB table: values live in the shared settings store. Writes +go through ``settings.reload.apply_changes_and_reload`` which validates against +``BrandingSettings``, persists (SYSTEM scope), hot-swaps ``app.state.branding`` +and publishes ``SettingsReloaded``. +""" + +from __future__ import annotations + +from typing import TYPE_CHECKING, Any + +from branding.constants import PACKAGE +from branding.contracts.schemas import BrandingOut +from branding.shared_props import file_url + +if TYPE_CHECKING: + from fastapi import FastAPI + from sqlalchemy.ext.asyncio import AsyncSession + + +class BrandingService: + """Read/update the application's branding.""" + + def __init__(self, app: FastAPI, db: AsyncSession) -> None: + self.app = app + self.db = db + + def current(self) -> BrandingOut: + settings = self.app.state.branding.settings + return BrandingOut( + app_name=settings.app_name, + primary_color=settings.primary_color, + logo_url=file_url(settings.logo_file_id), + favicon_url=file_url(settings.favicon_file_id), + ) + + async def apply(self, changes: dict[str, Any]) -> BrandingOut: + """Persist and hot-swap the given field changes, then return current.""" + # Plugin→plugin imports (settings is a declared dependency); kept local + # so import order during discovery stays tolerant. + from settings.reload import apply_changes_and_reload + from settings.service import SettingService + from settings.store import SettingsStore + + store = SettingsStore(SettingService(self.db)) + bus = self.app.state.sm.event_bus + await apply_changes_and_reload( + self.app, bus, store, package=PACKAGE, changes=changes + ) + return self.current() + + async def set_logo(self, file_id: str) -> BrandingOut: + return await self.apply({"logo_file_id": file_id}) + + async def set_favicon(self, file_id: str) -> BrandingOut: + return await self.apply({"favicon_file_id": file_id}) + + async def clear_logo(self) -> BrandingOut: + return await self.apply({"logo_file_id": ""}) + + async def clear_favicon(self) -> BrandingOut: + return await self.apply({"favicon_file_id": ""}) diff --git a/modules/branding/branding/services.py b/modules/branding/branding/services.py new file mode 100644 index 00000000..91917947 --- /dev/null +++ b/modules/branding/branding/services.py @@ -0,0 +1,20 @@ +"""Module-scoped state container. + +Stored as ``app.state.branding`` by +:meth:`BrandingModule.register_settings` (via ``register_module_settings``). +``settings`` is hot-swapped by ``settings.reload.apply_changes_and_reload`` when +an admin saves changes. +""" + +from __future__ import annotations + +from dataclasses import dataclass + +from branding.settings import BrandingSettings + + +@dataclass +class BrandingServices: + """Branding module singletons.""" + + settings: BrandingSettings diff --git a/modules/branding/branding/settings.py b/modules/branding/branding/settings.py new file mode 100644 index 00000000..7bda72ca --- /dev/null +++ b/modules/branding/branding/settings.py @@ -0,0 +1,49 @@ +"""Branding module settings — DB-backed via ``register_module_settings``. + +The four values an administrator can customise (app name, logo, favicon, +primary colour) are stored in the shared settings store at SYSTEM scope, +hydrated into ``app.state.branding.settings`` at boot, and hot-swapped on save +through ``settings.reload.apply_changes_and_reload``. + +Logo/favicon are stored as ``file_storage`` UUIDs (empty string = unset); the +frontend derives a download URL from the id. +""" + +from __future__ import annotations + +import re + +from pydantic import field_validator +from pydantic_settings import BaseSettings, SettingsConfigDict + +_HEX_COLOR = re.compile(r"^#[0-9a-fA-F]{6}$") + +DEFAULT_APP_NAME = "SimpleModule" + + +class BrandingSettings(BaseSettings): + """Customisable application identity.""" + + model_config = SettingsConfigDict(extra="ignore") + + app_name: str = DEFAULT_APP_NAME + primary_color: str = "" # "" = use the theme default; otherwise "#rrggbb" + logo_file_id: str = "" # file_storage UUID, "" = no custom logo + favicon_file_id: str = "" # file_storage UUID, "" = no custom favicon + + @field_validator("app_name") + @classmethod + def _non_empty_name(cls, value: str) -> str: + cleaned = value.strip() + if not cleaned: + raise ValueError("app_name must not be blank") + if len(cleaned) > 60: + raise ValueError("app_name must be at most 60 characters") + return cleaned + + @field_validator("primary_color") + @classmethod + def _valid_hex(cls, value: str) -> str: + if value and not _HEX_COLOR.match(value): + raise ValueError("primary_color must be a #rrggbb hex string or empty") + return value.lower() diff --git a/modules/branding/branding/shared_props.py b/modules/branding/branding/shared_props.py new file mode 100644 index 00000000..3ec70247 --- /dev/null +++ b/modules/branding/branding/shared_props.py @@ -0,0 +1,44 @@ +"""Branding shared-props provider. + +Registered on ``app.state.inertia_shared_providers`` so every Inertia page +(authenticated *and* guest) receives a ``branding`` block in its shared props. +The frontend uses it for the app name, logo, favicon and primary colour. +""" + +from __future__ import annotations + +from typing import TYPE_CHECKING + +from branding.constants import FILE_DOWNLOAD_URL + +if TYPE_CHECKING: + from starlette.requests import Request + + from branding.settings import BrandingSettings + + +def file_url(file_id: str) -> str | None: + """Build the file_storage download URL for a stored file id (or None).""" + return FILE_DOWNLOAD_URL.format(file_id) if file_id else None + + +def branding_payload(settings: BrandingSettings) -> dict: + """The camelCase branding block shared with the frontend.""" + return { + "appName": settings.app_name, + "primaryColor": settings.primary_color or None, + "logoUrl": file_url(settings.logo_file_id), + "faviconUrl": file_url(settings.favicon_file_id), + } + + +def branding_shared_props(request: Request) -> dict: + """Provider: emit ``{"branding": {...}}`` from the live module settings. + + Defensive — returns ``{}`` if the branding state isn't mounted yet, so a + half-booted app never errors a page render. + """ + services = getattr(request.app.state, "branding", None) + if services is None: + return {} + return {"branding": branding_payload(services.settings)} diff --git a/modules/branding/package.json b/modules/branding/package.json new file mode 100644 index 00000000..f6b6973c --- /dev/null +++ b/modules/branding/package.json @@ -0,0 +1,16 @@ +{ + "name": "@simple-module-py/branding", + "version": "0.1.0", + "private": true, + "description": "Frontend assets for the Branding module", + "peerDependencies": { + "react": "^19.0.0", + "react-dom": "^19.0.0", + "@inertiajs/react": "^2.0.0", + "@simple-module-py/ui": "*" + }, + "devDependencies": { + "@simple-module-py/tsconfig": "*" + }, + "dependencies": {} +} diff --git a/modules/branding/pyproject.toml b/modules/branding/pyproject.toml new file mode 100644 index 00000000..8f9a1a16 --- /dev/null +++ b/modules/branding/pyproject.toml @@ -0,0 +1,35 @@ +[project] +name = "simple_module_branding" +version = "0.1.0" +description = "The Branding module" +authors = [] +requires-python = ">=3.12" +dependencies = [ + "simple_module_core", + "simple_module_db", + "simple_module_hosting", + "simple_module_settings", + "simple_module_file_storage", +] + +[project.entry-points.simple_module] +branding = "branding.module:BrandingModule" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel] +packages = ["branding"] + +# Ship the module-root package.json inside the wheel so the host can +# discover JS deps via importlib.resources after a pip install. +[tool.hatch.build.targets.wheel.force-include] +"package.json" = "branding/package.json" + +[tool.uv.sources] +simple_module_core = { workspace = true } +simple_module_db = { workspace = true } +simple_module_hosting = { workspace = true } +simple_module_settings = { workspace = true } +simple_module_file_storage = { workspace = true } diff --git a/modules/branding/tests/test_branding.py b/modules/branding/tests/test_branding.py new file mode 100644 index 00000000..c11826c6 --- /dev/null +++ b/modules/branding/tests/test_branding.py @@ -0,0 +1,154 @@ +"""Tests for the Branding module.""" + +from __future__ import annotations + +import uuid +from types import SimpleNamespace + +import httpx +import pytest +from branding.settings import BrandingSettings +from branding.shared_props import branding_payload, branding_shared_props + +# ── Unit: settings validation ────────────────────────────────────────── + + +def test_settings_defaults() -> None: + s = BrandingSettings() + assert s.app_name == "SimpleModule" + assert s.primary_color == "" + assert s.logo_file_id == "" + assert s.favicon_file_id == "" + + +def test_settings_app_name_trimmed_and_required() -> None: + assert BrandingSettings(app_name=" Acme ").app_name == "Acme" + with pytest.raises(ValueError): + BrandingSettings(app_name=" ") + with pytest.raises(ValueError): + BrandingSettings(app_name="x" * 61) + + +def test_settings_primary_color_validation() -> None: + assert BrandingSettings(primary_color="#1A7DD1").primary_color == "#1a7dd1" + assert BrandingSettings(primary_color="").primary_color == "" + with pytest.raises(ValueError): + BrandingSettings(primary_color="red") + with pytest.raises(ValueError): + BrandingSettings(primary_color="#fff") + + +# ── Unit: shared-props payload + provider ────────────────────────────── + + +def test_branding_payload_unset() -> None: + payload = branding_payload(BrandingSettings()) + assert payload == { + "appName": "SimpleModule", + "primaryColor": None, + "logoUrl": None, + "faviconUrl": None, + } + + +def test_branding_payload_set() -> None: + s = BrandingSettings( + app_name="Acme", + primary_color="#ff0000", + logo_file_id="abc-123", + favicon_file_id="def-456", + ) + payload = branding_payload(s) + assert payload["appName"] == "Acme" + assert payload["primaryColor"] == "#ff0000" + assert payload["logoUrl"] == "/api/file-storage/files/abc-123/download" + assert payload["faviconUrl"] == "/api/file-storage/files/def-456/download" + + +def test_provider_returns_empty_when_state_absent() -> None: + request = SimpleNamespace(app=SimpleNamespace(state=SimpleNamespace())) + assert branding_shared_props(request) == {} # type: ignore[arg-type] + + +def test_provider_emits_branding_block() -> None: + state = SimpleNamespace(branding=SimpleNamespace(settings=BrandingSettings(app_name="Acme"))) + request = SimpleNamespace(app=SimpleNamespace(state=state)) + out = branding_shared_props(request) # type: ignore[arg-type] + assert out["branding"]["appName"] == "Acme" + + +# ── Integration: API + persistence + hot-swap ────────────────────────── + + +async def test_get_branding_returns_defaults(authenticated_client: httpx.AsyncClient) -> None: + resp = await authenticated_client.get("/api/branding/") + assert resp.status_code == 200, resp.text + body = resp.json() + assert body["app_name"] == "SimpleModule" + assert body["logo_url"] is None + + +async def test_update_persists_and_hot_swaps( + app, authenticated_client: httpx.AsyncClient +) -> None: + resp = await authenticated_client.put( + "/api/branding/", + json={"app_name": "Acme Corp", "primary_color": "#1A7DD1"}, + ) + assert resp.status_code == 200, resp.text + body = resp.json() + assert body["app_name"] == "Acme Corp" + assert body["primary_color"] == "#1a7dd1" + + # Hot-swapped on app.state so the shared-props provider sees it immediately. + settings = app.state.branding.settings + assert settings.app_name == "Acme Corp" + assert branding_payload(settings)["appName"] == "Acme Corp" + + # Persisted: a fresh GET reflects the change. + again = await authenticated_client.get("/api/branding/") + assert again.json()["app_name"] == "Acme Corp" + + +async def test_update_rejects_bad_hex(authenticated_client: httpx.AsyncClient) -> None: + resp = await authenticated_client.put("/api/branding/", json={"primary_color": "nope"}) + assert resp.status_code == 422 + + +async def test_logo_upload_rejects_non_image(authenticated_client: httpx.AsyncClient) -> None: + resp = await authenticated_client.post( + "/api/branding/logo", + files={"file": ("notes.txt", b"hello", "text/plain")}, + ) + assert resp.status_code == 415 + + +async def test_logo_upload_sets_logo_url( + app, authenticated_client: httpx.AsyncClient, monkeypatch +) -> None: + fake_id = uuid.uuid4() + + async def fake_upload(self, upload): # noqa: ANN001 + return SimpleNamespace(id=fake_id) + + monkeypatch.setattr( + "file_storage.service.FileStorageService.upload", fake_upload, raising=True + ) + + resp = await authenticated_client.post( + "/api/branding/logo", + files={"file": ("logo.png", b"\x89PNG\r\n", "image/png")}, + ) + assert resp.status_code == 200, resp.text + assert resp.json()["logo_url"] == f"/api/file-storage/files/{fake_id}/download" + assert app.state.branding.settings.logo_file_id == str(fake_id) + + # Clearing removes it. + cleared = await authenticated_client.delete("/api/branding/logo") + assert cleared.status_code == 200 + assert cleared.json()["logo_url"] is None + + +async def test_manage_view_requires_auth(client: httpx.AsyncClient) -> None: + resp = await client.get("/branding", follow_redirects=False) + assert resp.status_code in (302, 401, 403) diff --git a/modules/branding/tsconfig.json b/modules/branding/tsconfig.json new file mode 100644 index 00000000..fcf70685 --- /dev/null +++ b/modules/branding/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "@simple-module-py/tsconfig/base.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./branding/*"], + "@simple-module-py/ui/*": ["../../packages/ui/src/*"] + } + }, + "include": ["branding/**/*.ts", "branding/**/*.tsx"] +} diff --git a/pyproject.toml b/pyproject.toml index edfede6e..57dca1d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,6 +74,7 @@ extra-paths = [ "modules/feature_flags", "modules/keycloak", "modules/audit_log", + "modules/branding", "host", "scripts", ] @@ -109,7 +110,7 @@ invalid-assignment = "ignore" [tool.pytest.ini_options] asyncio_mode = "auto" -testpaths = ["framework/cli/tests", "framework/core/tests", "framework/db/tests", "framework/hosting/tests", "framework/testing/tests", "host/tests", "modules/auth/tests", "modules/dashboard/tests", "modules/users/tests", "modules/permissions/tests", "modules/background_tasks/tests", "modules/file_storage/tests", "modules/settings/tests", "modules/feature_flags/tests", "modules/keycloak/tests", "modules/audit_log/tests", "scripts/tests", "tests/integration", "tests/e2e", "tests/benchmarks"] +testpaths = ["framework/cli/tests", "framework/core/tests", "framework/db/tests", "framework/hosting/tests", "framework/testing/tests", "host/tests", "modules/auth/tests", "modules/dashboard/tests", "modules/users/tests", "modules/permissions/tests", "modules/background_tasks/tests", "modules/file_storage/tests", "modules/settings/tests", "modules/feature_flags/tests", "modules/keycloak/tests", "modules/audit_log/tests", "modules/branding/tests", "scripts/tests", "tests/integration", "tests/e2e", "tests/benchmarks"] markers = [ "e2e: end-to-end tests requiring a live browser", "perf: performance benchmarks (opt-in; run via `make bench`)", From ef36dbd513591729d0798435de35b04278c21921 Mon Sep 17 00:00:00 2001 From: Anto Subash <antosubash@live.com> Date: Wed, 17 Jun 2026 17:29:23 +0200 Subject: [PATCH 04/10] =?UTF-8?q?feat(branding):=20frontend=20=E2=80=94=20?= =?UTF-8?q?branded=20layout,=20title,=20favicon,=20colour,=20admin=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Type the branding shared prop; SidebarLayout renders the configured app name + logo (fallback to the SM badge); PublicLayout wordmark too. - BrandingHead (rendered globally in app.tsx Root) sets the favicon and overrides the --primary CSS vars from the configured colour, reactively. - Document <title> suffix uses the configured app name. - Branding/Manage admin page: app name, colour picker, logo + favicon upload with live preview; saves via fetch then router.reload(). - Regenerated module pages manifest + i18n keys. --- .../simple_module_hosting/app_builder.py | 4 - .../simple_module_hosting/middleware.py | 2 +- host/client_app/app.tsx | 21 +- modules/branding/branding/pages/Manage.tsx | 263 ++++++++++++++++++ modules/branding/branding/service.py | 4 +- modules/branding/tests/test_branding.py | 10 +- package-lock.json | 17 ++ packages/i18n/src/generated-resources.ts | 26 ++ packages/i18n/src/keys.generated.ts | 38 +++ .../ui/src/components/BrandingHead.test.tsx | 49 ++++ packages/ui/src/components/BrandingHead.tsx | 45 +++ .../ui/src/components/BrandingMark.test.tsx | 28 ++ packages/ui/src/components/BrandingMark.tsx | 51 ++++ packages/ui/src/layouts/PublicLayout.tsx | 30 +- packages/ui/src/layouts/SidebarLayout.tsx | 33 ++- packages/ui/src/types.ts | 10 + 16 files changed, 587 insertions(+), 44 deletions(-) create mode 100644 modules/branding/branding/pages/Manage.tsx create mode 100644 packages/ui/src/components/BrandingHead.test.tsx create mode 100644 packages/ui/src/components/BrandingHead.tsx create mode 100644 packages/ui/src/components/BrandingMark.test.tsx create mode 100644 packages/ui/src/components/BrandingMark.tsx diff --git a/framework/hosting/simple_module_hosting/app_builder.py b/framework/hosting/simple_module_hosting/app_builder.py index 220fb881..2a96040d 100644 --- a/framework/hosting/simple_module_hosting/app_builder.py +++ b/framework/hosting/simple_module_hosting/app_builder.py @@ -199,10 +199,6 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]: lifespan=lifespan, ) - # Generic Inertia shared-prop providers (modules append via - # register_inertia_shared_provider). Initialised here so it always exists. - app.state.inertia_shared_providers = [] - # ── Phase 4: Module settings ─────────────────────────── for mod in modules: mod.register_settings(app) diff --git a/framework/hosting/simple_module_hosting/middleware.py b/framework/hosting/simple_module_hosting/middleware.py index 0cf4b84b..bb7d0b60 100644 --- a/framework/hosting/simple_module_hosting/middleware.py +++ b/framework/hosting/simple_module_hosting/middleware.py @@ -285,7 +285,7 @@ async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: for provider in providers: try: extra = provider(request) - except Exception: # noqa: BLE001 - a bad provider must not break the page + except Exception: # a bad provider must not break the page render logger.warning( "InertiaLayoutDataMiddleware: shared-prop provider %r raised; skipping", getattr(provider, "__name__", provider), diff --git a/host/client_app/app.tsx b/host/client_app/app.tsx index 86a8de39..a9af83c2 100644 --- a/host/client_app/app.tsx +++ b/host/client_app/app.tsx @@ -1,24 +1,40 @@ import { createInertiaApp, router } from '@inertiajs/react'; +import { BrandingHead } from '@simple-module-py/ui/components/BrandingHead'; import { ErrorBoundary } from '@simple-module-py/ui/components/ErrorBoundary'; import { useEffect, useRef } from 'react'; import { createRoot } from 'react-dom/client'; import { bootI18nFromInitialPage, subscribeI18nToNavigation } from './i18n'; import { resolvePage } from './pages'; +// Document-title suffix. Defaults to "SimpleModule" and is updated from the +// branding shared prop on first load and every navigation, so the title +// callback (which only receives the page title) can still reflect the +// configured app name. +let brandAppName = 'SimpleModule'; + +function appNameFromProps(props: unknown): string | undefined { + const branding = (props as { branding?: { appName?: string } } | undefined)?.branding; + return branding?.appName; +} + createInertiaApp({ - title: (title) => (title ? `${title} — SimpleModule` : 'SimpleModule'), + title: (title) => (title ? `${title} — ${brandAppName}` : brandAppName), resolve: async (name) => { const page = await resolvePage(name); return page; }, setup({ el, App, props }) { bootI18nFromInitialPage(props.initialPage.props); + brandAppName = appNameFromProps(props.initialPage.props) ?? brandAppName; function Root() { const boundaryRef = useRef<ErrorBoundary>(null); useEffect(() => { - const stopReset = router.on('navigate', () => boundaryRef.current?.reset()); + const stopReset = router.on('navigate', (event) => { + boundaryRef.current?.reset(); + brandAppName = appNameFromProps(event.detail.page.props) ?? brandAppName; + }); const stopI18n = subscribeI18nToNavigation(); return () => { stopReset(); @@ -28,6 +44,7 @@ createInertiaApp({ return ( <ErrorBoundary ref={boundaryRef}> + <BrandingHead /> <App {...props} /> </ErrorBoundary> ); diff --git a/modules/branding/branding/pages/Manage.tsx b/modules/branding/branding/pages/Manage.tsx new file mode 100644 index 00000000..20af772f --- /dev/null +++ b/modules/branding/branding/pages/Manage.tsx @@ -0,0 +1,263 @@ +import { Head, router, usePage } from '@inertiajs/react'; +import { keys, useT } from '@simple-module-py/i18n'; +import { PageShell } from '@simple-module-py/ui/components/PageShell'; +import { Button } from '@simple-module-py/ui/components/ui/button'; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from '@simple-module-py/ui/components/ui/card'; +import { Input } from '@simple-module-py/ui/components/ui/input'; +import { Label } from '@simple-module-py/ui/components/ui/label'; +import { AuthenticatedLayout } from '@simple-module-py/ui/layouts/AuthenticatedLayout'; +import type { SharedProps } from '@simple-module-py/ui/types'; +import { type ChangeEvent, useRef, useState } from 'react'; +import { toast } from 'sonner'; + +const DEFAULT_SWATCH = '#10b981'; +type ImageKind = 'logo' | 'favicon'; + +async function readError(res: Response): Promise<string> { + try { + const body = await res.json(); + return typeof body?.detail === 'string' ? body.detail : res.statusText; + } catch { + return res.statusText; + } +} + +function ImageField({ + label, + help, + url, + onUpload, + onRemove, + disabled, +}: { + label: string; + help: string; + url: string | null; + onUpload: (file: File) => void; + onRemove: () => void; + disabled: boolean; +}) { + const { t } = useT(); + const inputRef = useRef<HTMLInputElement>(null); + + return ( + <div className="space-y-2"> + <Label>{label}</Label> + <div className="flex items-center gap-4"> + <div className="flex h-16 w-16 items-center justify-center overflow-hidden rounded-lg border bg-muted"> + {url ? ( + <img src={url} alt={label} className="h-full w-full object-contain" /> + ) : ( + <span className="text-xs text-muted-foreground">—</span> + )} + </div> + <div className="flex gap-2"> + <input + ref={inputRef} + type="file" + accept="image/*" + className="hidden" + onChange={(e: ChangeEvent<HTMLInputElement>) => { + const file = e.target.files?.[0]; + if (file) onUpload(file); + e.target.value = ''; + }} + /> + <Button + type="button" + variant="outline" + size="sm" + disabled={disabled} + onClick={() => inputRef.current?.click()} + > + {url ? t(keys.branding.manage.replace_button) : t(keys.branding.manage.upload_button)} + </Button> + {url && ( + <Button type="button" variant="ghost" size="sm" disabled={disabled} onClick={onRemove}> + {t(keys.branding.manage.remove_button)} + </Button> + )} + </div> + </div> + <p className="text-xs text-muted-foreground">{help}</p> + </div> + ); +} + +function Manage() { + const { t } = useT(); + const { branding } = usePage<{ props: SharedProps }>().props as unknown as SharedProps; + const canManage = ( + usePage<{ props: SharedProps }>().props as unknown as SharedProps + ).auth?.permissions?.includes('branding.manage'); + + const [appName, setAppName] = useState(branding?.appName ?? ''); + const [color, setColor] = useState(branding?.primaryColor ?? ''); + const [busy, setBusy] = useState(false); + + async function run(work: () => Promise<Response>, errorMsg: string) { + setBusy(true); + try { + const res = await work(); + if (!res.ok) throw new Error(await readError(res)); + toast.success(t(keys.branding.manage.saved_toast)); + router.reload(); + } catch (err) { + toast.error(`${errorMsg}: ${(err as Error).message}`); + } finally { + setBusy(false); + } + } + + const saveText = () => + run( + () => + fetch('/api/branding/', { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ app_name: appName, primary_color: color }), + }), + t(keys.branding.manage.error_toast), + ); + + const uploadImage = (kind: ImageKind, file: File) => { + const form = new FormData(); + form.append('file', file); + return run( + () => fetch(`/api/branding/${kind}`, { method: 'POST', body: form }), + t(keys.branding.manage.upload_error_toast), + ); + }; + + const removeImage = (kind: ImageKind) => + run( + () => fetch(`/api/branding/${kind}`, { method: 'DELETE' }), + t(keys.branding.manage.error_toast), + ); + + return ( + <> + <Head title={t(keys.branding.manage.title)} /> + <PageShell + title={t(keys.branding.manage.title)} + description={t(keys.branding.manage.description)} + > + <div className="grid gap-6 lg:grid-cols-3"> + <Card className="lg:col-span-2"> + <CardHeader> + <CardTitle>{t(keys.branding.manage.title)}</CardTitle> + <CardDescription>{t(keys.branding.manage.description)}</CardDescription> + </CardHeader> + <CardContent className="space-y-6"> + <div className="space-y-2"> + <Label htmlFor="app_name">{t(keys.branding.manage.app_name_label)}</Label> + <Input + id="app_name" + value={appName} + maxLength={60} + disabled={!canManage || busy} + onChange={(e) => setAppName(e.target.value)} + /> + <p className="text-xs text-muted-foreground"> + {t(keys.branding.manage.app_name_help)} + </p> + </div> + + <div className="space-y-2"> + <Label htmlFor="primary_color">{t(keys.branding.manage.primary_color_label)}</Label> + <div className="flex items-center gap-3"> + <input + type="color" + aria-label={t(keys.branding.manage.primary_color_label)} + value={color || DEFAULT_SWATCH} + disabled={!canManage || busy} + onChange={(e) => setColor(e.target.value)} + className="h-9 w-12 cursor-pointer rounded border bg-transparent" + /> + <Input + id="primary_color" + value={color} + placeholder={DEFAULT_SWATCH} + disabled={!canManage || busy} + onChange={(e) => setColor(e.target.value)} + className="max-w-40 font-mono" + /> + {color && ( + <Button + type="button" + variant="ghost" + size="sm" + disabled={busy} + onClick={() => setColor('')} + > + {t(keys.branding.manage.remove_button)} + </Button> + )} + </div> + <p className="text-xs text-muted-foreground"> + {t(keys.branding.manage.primary_color_help)} + </p> + </div> + + <ImageField + label={t(keys.branding.manage.logo_label)} + help={t(keys.branding.manage.logo_help)} + url={branding?.logoUrl ?? null} + onUpload={(file) => uploadImage('logo', file)} + onRemove={() => removeImage('logo')} + disabled={!canManage || busy} + /> + <ImageField + label={t(keys.branding.manage.favicon_label)} + help={t(keys.branding.manage.favicon_help)} + url={branding?.faviconUrl ?? null} + onUpload={(file) => uploadImage('favicon', file)} + onRemove={() => removeImage('favicon')} + disabled={!canManage || busy} + /> + + <Button type="button" disabled={!canManage || busy} onClick={saveText}> + {busy ? t(keys.branding.manage.saving) : t(keys.branding.manage.save_button)} + </Button> + </CardContent> + </Card> + + <Card> + <CardHeader> + <CardTitle>{t(keys.branding.manage.preview_title)}</CardTitle> + </CardHeader> + <CardContent> + <div className="flex items-center gap-3 rounded-lg border p-4"> + <div + className="flex h-10 w-10 items-center justify-center overflow-hidden rounded-lg text-white" + style={{ backgroundColor: color || DEFAULT_SWATCH }} + > + {branding?.logoUrl ? ( + <img + src={branding.logoUrl} + alt={appName} + className="h-full w-full object-contain" + /> + ) : ( + <span className="font-bold">{(appName.trim()[0] ?? 'S').toUpperCase()}</span> + )} + </div> + <span className="font-semibold">{appName || 'SimpleModule'}</span> + </div> + </CardContent> + </Card> + </div> + </PageShell> + </> + ); +} + +Manage.layout = (page: React.ReactNode) => <AuthenticatedLayout>{page}</AuthenticatedLayout>; + +export default Manage; diff --git a/modules/branding/branding/service.py b/modules/branding/branding/service.py index f535287b..82733feb 100644 --- a/modules/branding/branding/service.py +++ b/modules/branding/branding/service.py @@ -45,9 +45,7 @@ async def apply(self, changes: dict[str, Any]) -> BrandingOut: store = SettingsStore(SettingService(self.db)) bus = self.app.state.sm.event_bus - await apply_changes_and_reload( - self.app, bus, store, package=PACKAGE, changes=changes - ) + await apply_changes_and_reload(self.app, bus, store, package=PACKAGE, changes=changes) return self.current() async def set_logo(self, file_id: str) -> BrandingOut: diff --git a/modules/branding/tests/test_branding.py b/modules/branding/tests/test_branding.py index c11826c6..0798e38d 100644 --- a/modules/branding/tests/test_branding.py +++ b/modules/branding/tests/test_branding.py @@ -88,9 +88,7 @@ async def test_get_branding_returns_defaults(authenticated_client: httpx.AsyncCl assert body["logo_url"] is None -async def test_update_persists_and_hot_swaps( - app, authenticated_client: httpx.AsyncClient -) -> None: +async def test_update_persists_and_hot_swaps(app, authenticated_client: httpx.AsyncClient) -> None: resp = await authenticated_client.put( "/api/branding/", json={"app_name": "Acme Corp", "primary_color": "#1A7DD1"}, @@ -128,12 +126,10 @@ async def test_logo_upload_sets_logo_url( ) -> None: fake_id = uuid.uuid4() - async def fake_upload(self, upload): # noqa: ANN001 + async def fake_upload(self, upload): return SimpleNamespace(id=fake_id) - monkeypatch.setattr( - "file_storage.service.FileStorageService.upload", fake_upload, raising=True - ) + monkeypatch.setattr("file_storage.service.FileStorageService.upload", fake_upload, raising=True) resp = await authenticated_client.post( "/api/branding/logo", diff --git a/package-lock.json b/package-lock.json index ea56becf..434f876f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -108,6 +108,19 @@ "react-dom": "^19.0.0" } }, + "modules/branding": { + "name": "@simple-module-py/branding", + "version": "0.1.0", + "devDependencies": { + "@simple-module-py/tsconfig": "*" + }, + "peerDependencies": { + "@inertiajs/react": "^2.0.0", + "@simple-module-py/ui": "*", + "react": "^19.0.0", + "react-dom": "^19.0.0" + } + }, "modules/dashboard": { "name": "@simple-module-py/dashboard", "version": "0.1.0", @@ -4501,6 +4514,10 @@ "resolved": "modules/background_tasks", "link": true }, + "node_modules/@simple-module-py/branding": { + "resolved": "modules/branding", + "link": true + }, "node_modules/@simple-module-py/dashboard": { "resolved": "modules/dashboard", "link": true diff --git a/packages/i18n/src/generated-resources.ts b/packages/i18n/src/generated-resources.ts index d2415120..6224ef46 100644 --- a/packages/i18n/src/generated-resources.ts +++ b/packages/i18n/src/generated-resources.ts @@ -76,6 +76,25 @@ export default { 'background_tasks.table.worker': '', 'background_tasks.toasts.retried': '', 'background_tasks.toasts.retry_failed': '', + 'branding.manage.app_name_help': '', + 'branding.manage.app_name_label': '', + 'branding.manage.description': '', + 'branding.manage.error_toast': '', + 'branding.manage.favicon_help': '', + 'branding.manage.favicon_label': '', + 'branding.manage.logo_help': '', + 'branding.manage.logo_label': '', + 'branding.manage.preview_title': '', + 'branding.manage.primary_color_help': '', + 'branding.manage.primary_color_label': '', + 'branding.manage.remove_button': '', + 'branding.manage.replace_button': '', + 'branding.manage.save_button': '', + 'branding.manage.saved_toast': '', + 'branding.manage.saving': '', + 'branding.manage.title': '', + 'branding.manage.upload_button': '', + 'branding.manage.upload_error_toast': '', 'dashboard.home.description': '', 'dashboard.home.description_body': '', 'dashboard.home.stats.active_users': '', @@ -177,6 +196,13 @@ export default { 'host.landing.hero_subtitle': '', 'host.landing.hero_title_line1': '', 'host.landing.hero_title_line2': '', + 'keycloak.errors.callback_failed': '', + 'keycloak.errors.invalid_state': '', + 'keycloak.errors.token_validation_failed': '', + 'keycloak.login.redirecting': '', + 'keycloak.login.title': '', + 'keycloak.logout.message': '', + 'keycloak.logout.title': '', 'permissions.browse.count_label': '', 'permissions.browse.count_label_one': '', 'permissions.browse.count_label_other': '', diff --git a/packages/i18n/src/keys.generated.ts b/packages/i18n/src/keys.generated.ts index f2de105a..d28abc2c 100644 --- a/packages/i18n/src/keys.generated.ts +++ b/packages/i18n/src/keys.generated.ts @@ -109,6 +109,29 @@ export const keys = { retry_failed: 'background_tasks.toasts.retry_failed', }, }, + branding: { + manage: { + app_name_help: 'branding.manage.app_name_help', + app_name_label: 'branding.manage.app_name_label', + description: 'branding.manage.description', + error_toast: 'branding.manage.error_toast', + favicon_help: 'branding.manage.favicon_help', + favicon_label: 'branding.manage.favicon_label', + logo_help: 'branding.manage.logo_help', + logo_label: 'branding.manage.logo_label', + preview_title: 'branding.manage.preview_title', + primary_color_help: 'branding.manage.primary_color_help', + primary_color_label: 'branding.manage.primary_color_label', + remove_button: 'branding.manage.remove_button', + replace_button: 'branding.manage.replace_button', + save_button: 'branding.manage.save_button', + saved_toast: 'branding.manage.saved_toast', + saving: 'branding.manage.saving', + title: 'branding.manage.title', + upload_button: 'branding.manage.upload_button', + upload_error_toast: 'branding.manage.upload_error_toast', + }, + }, dashboard: { home: { description: 'dashboard.home.description', @@ -250,6 +273,21 @@ export const keys = { hero_title_line2: 'host.landing.hero_title_line2', }, }, + keycloak: { + errors: { + callback_failed: 'keycloak.errors.callback_failed', + invalid_state: 'keycloak.errors.invalid_state', + token_validation_failed: 'keycloak.errors.token_validation_failed', + }, + login: { + redirecting: 'keycloak.login.redirecting', + title: 'keycloak.login.title', + }, + logout: { + message: 'keycloak.logout.message', + title: 'keycloak.logout.title', + }, + }, permissions: { browse: { count_label: 'permissions.browse.count_label', diff --git a/packages/ui/src/components/BrandingHead.test.tsx b/packages/ui/src/components/BrandingHead.test.tsx new file mode 100644 index 00000000..c9a6bc7b --- /dev/null +++ b/packages/ui/src/components/BrandingHead.test.tsx @@ -0,0 +1,49 @@ +import { cleanup, render } from '@testing-library/react'; +import type React from 'react'; +import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; + +const state = vi.hoisted(() => ({ branding: undefined as unknown })); + +vi.mock('@inertiajs/react', () => ({ + usePage: () => ({ props: { branding: state.branding } }), + Head: ({ children }: { children?: React.ReactNode }) => <>{children}</>, +})); + +import { BrandingHead } from './BrandingHead'; + +beforeEach(() => { + state.branding = undefined; + document.documentElement.style.removeProperty('--primary'); + document.documentElement.style.removeProperty('--sidebar-primary'); +}); + +afterEach(() => cleanup()); + +describe('BrandingHead', () => { + test('writes the primary colour as a CSS variable on :root', () => { + state.branding = { appName: 'Acme', primaryColor: '#ff0000', logoUrl: null, faviconUrl: null }; + render(<BrandingHead />); + expect(document.documentElement.style.getPropertyValue('--primary')).toBe('#ff0000'); + expect(document.documentElement.style.getPropertyValue('--sidebar-primary')).toBe('#ff0000'); + }); + + test('renders a favicon link when a faviconUrl is set', () => { + state.branding = { + appName: 'Acme', + primaryColor: null, + logoUrl: null, + faviconUrl: '/api/file-storage/files/fav/download', + }; + render(<BrandingHead />); + // React 19 hoists <link> into <head>, so query the whole document. + const link = document.querySelector('link[rel="icon"]'); + expect(link).not.toBeNull(); + expect(link?.getAttribute('href')).toBe('/api/file-storage/files/fav/download'); + }); + + test('does not set the colour variable when none is configured', () => { + state.branding = { appName: 'Acme', primaryColor: null, logoUrl: null, faviconUrl: null }; + render(<BrandingHead />); + expect(document.documentElement.style.getPropertyValue('--primary')).toBe(''); + }); +}); diff --git a/packages/ui/src/components/BrandingHead.tsx b/packages/ui/src/components/BrandingHead.tsx new file mode 100644 index 00000000..008c9b00 --- /dev/null +++ b/packages/ui/src/components/BrandingHead.tsx @@ -0,0 +1,45 @@ +import { Head, usePage } from '@inertiajs/react'; +import { useEffect } from 'react'; +import type { SharedProps } from '../types'; + +const COLOR_VARS = ['--primary', '--sidebar-primary'] as const; + +/** + * Applies branding that lives in the document head / root, on every page: + * + * - the favicon `<link>` when a custom favicon is set, and + * - the primary brand colour, written as inline CSS variables on `:root` + * (inline wins over the stylesheet's `:root`/`.dark` rules; `--color-primary` + * already resolves to `var(--primary)`, so Tailwind `primary` utilities pick + * it up site-wide). + * + * Reads the `branding` shared prop, so it stays reactive across navigation. + */ +export function BrandingHead(): React.ReactElement | null { + const { branding } = usePage<{ props: SharedProps }>().props as unknown as SharedProps; + const primaryColor = branding?.primaryColor ?? null; + const faviconUrl = branding?.faviconUrl ?? null; + + useEffect(() => { + const root = document.documentElement; + for (const v of COLOR_VARS) { + if (primaryColor) { + root.style.setProperty(v, primaryColor); + } else { + root.style.removeProperty(v); + } + } + return () => { + for (const v of COLOR_VARS) root.style.removeProperty(v); + }; + }, [primaryColor]); + + if (!faviconUrl) { + return null; + } + return ( + <Head> + <link rel="icon" href={faviconUrl} /> + </Head> + ); +} diff --git a/packages/ui/src/components/BrandingMark.test.tsx b/packages/ui/src/components/BrandingMark.test.tsx new file mode 100644 index 00000000..c340ca44 --- /dev/null +++ b/packages/ui/src/components/BrandingMark.test.tsx @@ -0,0 +1,28 @@ +import { render, screen } from '@testing-library/react'; +import { describe, expect, test } from 'vitest'; +import { BrandingMark } from './BrandingMark'; + +describe('BrandingMark', () => { + test('renders the app name as the wordmark', () => { + render(<BrandingMark appName="Acme Corp" accentColor="bg-blue-500" />); + expect(screen.getByText('Acme Corp')).toBeInTheDocument(); + }); + + test('renders the custom logo when a logoUrl is provided', () => { + render( + <BrandingMark + appName="Acme" + logoUrl="/api/file-storage/files/abc/download" + accentColor="bg-blue-500" + />, + ); + const img = screen.getByRole('img', { name: 'Acme' }); + expect(img).toHaveAttribute('src', '/api/file-storage/files/abc/download'); + }); + + test('falls back to the app initial badge when there is no logo', () => { + render(<BrandingMark appName="Zephyr" accentColor="bg-blue-500" />); + expect(screen.queryByRole('img')).toBeNull(); + expect(screen.getByText('Z')).toBeInTheDocument(); + }); +}); diff --git a/packages/ui/src/components/BrandingMark.tsx b/packages/ui/src/components/BrandingMark.tsx new file mode 100644 index 00000000..7f144eeb --- /dev/null +++ b/packages/ui/src/components/BrandingMark.tsx @@ -0,0 +1,51 @@ +import type React from 'react'; + +interface BrandingMarkProps { + /** Application name — shown as the wordmark and used for the fallback initial. */ + appName: string; + /** Custom logo URL. When absent, a generated initial badge is shown. */ + logoUrl?: string | null; + /** Tailwind classes for the fallback badge background (e.g. a gradient). */ + accentColor: string; + /** Visual size — `sm` for the mobile bar, `md` for the desktop sidebar. */ + size?: 'sm' | 'md'; + /** Classes for the wordmark text (colour/spacing supplied by the layout). */ + labelClassName?: string; +} + +/** + * App logo + wordmark. Renders the uploaded logo when set, otherwise a badge + * with the app's initial. Pure/presentational so it can be unit-tested without + * Inertia context. + */ +export function BrandingMark({ + appName, + logoUrl, + accentColor, + size = 'md', + labelClassName, +}: BrandingMarkProps): React.ReactElement { + const box = size === 'sm' ? 'w-7 h-7 rounded-md' : 'w-8 h-8 rounded-lg'; + const labelSize = size === 'sm' ? 'text-base' : 'text-lg'; + const initial = appName.trim().charAt(0).toUpperCase() || 'S'; + + return ( + <> + {logoUrl ? ( + <img src={logoUrl} alt={appName} className={`${box} object-contain bg-white/5 shadow-sm`} /> + ) : ( + <div className={`${box} ${accentColor} flex items-center justify-center shadow-sm`}> + <span className="text-white font-bold text-xs font-[var(--font-display)]">{initial}</span> + </div> + )} + <span + className={ + labelClassName ?? + `${labelSize} font-semibold text-white font-[var(--font-display)] tracking-tight` + } + > + {appName} + </span> + </> + ); +} diff --git a/packages/ui/src/layouts/PublicLayout.tsx b/packages/ui/src/layouts/PublicLayout.tsx index 2244166c..6dcd5e2e 100644 --- a/packages/ui/src/layouts/PublicLayout.tsx +++ b/packages/ui/src/layouts/PublicLayout.tsx @@ -7,8 +7,11 @@ import { LocaleSwitcher } from '../components/LocaleSwitcher'; import type { SharedProps } from '../types'; export function PublicLayout({ children }: { children: React.ReactNode }) { - const { auth } = usePage<{ props: SharedProps }>().props as unknown as SharedProps; + const { auth, branding } = usePage<{ props: SharedProps }>().props as unknown as SharedProps; const [menuOpen, setMenuOpen] = useState(false); + const appName = branding?.appName ?? 'simple_module'; + const logoUrl = branding?.logoUrl ?? null; + const brandInitial = appName.trim().charAt(0).toUpperCase() || 'S'; return ( <div className="min-h-screen flex flex-col bg-background text-foreground"> @@ -16,15 +19,22 @@ export function PublicLayout({ children }: { children: React.ReactNode }) { <div className="mx-auto max-w-6xl px-4 py-3 sm:px-8 sm:py-3.5"> <div className="flex items-center justify-between"> <Link href="/" className="group flex items-center gap-2.5"> - <div className="flex h-8 w-8 items-center justify-center rounded-lg bg-gradient-to-br from-primary-600 to-primary-800 shadow-md shadow-primary-600/30 transition-transform group-hover:scale-105"> - <span className="font-bold text-white text-sm font-[var(--font-display)]">S</span> - </div> - <div className="flex flex-col leading-tight"> - <span className="text-[15px] font-bold tracking-tight font-[var(--font-display)]"> - simple_module - </span> - <span className="font-mono text-[10px] text-muted-foreground">python · v0.1</span> - </div> + {logoUrl ? ( + <img + src={logoUrl} + alt={appName} + className="h-8 w-8 rounded-lg object-contain shadow-md transition-transform group-hover:scale-105" + /> + ) : ( + <div className="flex h-8 w-8 items-center justify-center rounded-lg bg-gradient-to-br from-primary-600 to-primary-800 shadow-md shadow-primary-600/30 transition-transform group-hover:scale-105"> + <span className="font-bold text-white text-sm font-[var(--font-display)]"> + {brandInitial} + </span> + </div> + )} + <span className="text-[15px] font-bold tracking-tight font-[var(--font-display)]"> + {appName} + </span> </Link> <div className="hidden items-center gap-4 sm:flex"> diff --git a/packages/ui/src/layouts/SidebarLayout.tsx b/packages/ui/src/layouts/SidebarLayout.tsx index b957a0c7..0d5db483 100644 --- a/packages/ui/src/layouts/SidebarLayout.tsx +++ b/packages/ui/src/layouts/SidebarLayout.tsx @@ -18,6 +18,7 @@ import { import { ChevronsUpDown } from 'lucide-react'; import type React from 'react'; import { useState } from 'react'; +import { BrandingMark } from '../components/BrandingMark'; import { NavIcon } from '../components/NavIcon'; import type { MenuItem, SharedProps } from '../types'; @@ -64,8 +65,10 @@ export function SidebarLayout({ footerNavSlot, }: SidebarLayoutProps) { const page = usePage<{ props: SharedProps }>(); - const { auth, menus } = page.props as unknown as SharedProps; + const { auth, menus, branding } = page.props as unknown as SharedProps; const currentUrl = page.url; + const appName = branding?.appName ?? theme.mobileTitleLabel; + const logoUrl = branding?.logoUrl ?? null; const [sidebarOpen, setSidebarOpen] = useState(false); const closeSidebar = () => setSidebarOpen(false); @@ -101,14 +104,12 @@ export function SidebarLayout({ </svg> </Button> <Link href="/dashboard/" className="flex items-center gap-2"> - <div - className={`w-7 h-7 rounded-md ${theme.accentColor} flex items-center justify-center shadow-sm`} - > - <span className="text-white font-bold text-xs font-[var(--font-display)]">SM</span> - </div> - <span className="text-base font-semibold text-white font-[var(--font-display)]"> - {theme.mobileTitleLabel} - </span> + <BrandingMark + appName={appName} + logoUrl={logoUrl} + accentColor={theme.accentColor} + size="sm" + /> </Link> </div> @@ -129,14 +130,12 @@ export function SidebarLayout({ {/* Logo */} <div className="h-14 lg:h-16 flex items-center justify-between px-4 lg:px-5 border-b border-white/[0.06]"> <Link href="/dashboard/" className="flex items-center gap-2.5 group"> - <div - className={`w-8 h-8 rounded-lg ${theme.accentColor} flex items-center justify-center shadow-lg shadow-primary-500/15 transition-transform duration-200 group-hover:scale-105`} - > - <span className="text-white font-bold text-sm font-[var(--font-display)]">SM</span> - </div> - <span className="text-lg font-semibold text-white font-[var(--font-display)] tracking-tight"> - SimpleModule - </span> + <BrandingMark + appName={appName} + logoUrl={logoUrl} + accentColor={theme.accentColor} + size="md" + /> </Link> <Button variant="ghost" diff --git a/packages/ui/src/types.ts b/packages/ui/src/types.ts index f2eb292d..2557b805 100644 --- a/packages/ui/src/types.ts +++ b/packages/ui/src/types.ts @@ -6,6 +6,13 @@ export interface MenuItem { group?: string; } +export interface BrandingShared { + appName: string; + primaryColor: string | null; + logoUrl: string | null; + faviconUrl: string | null; +} + export interface SharedProps { auth: { user: { name: string; email: string; roles: string[] } | null; @@ -18,4 +25,7 @@ export interface SharedProps { navbar: MenuItem[]; userDropdown: MenuItem[]; }; + // Injected by the branding module's shared-props provider (optional: the + // module may not be installed). + branding?: BrandingShared; } From 452015eccd7d2b2a57f4677c19cd78bac12a4893 Mon Sep 17 00:00:00 2001 From: Anto Subash <antosubash@live.com> Date: Wed, 17 Jun 2026 17:38:27 +0200 Subject: [PATCH 05/10] chore(branding): satisfy repo conventions (constants, metadata, README) - Use _MODULE_*/_PAGE_* constants for depends_on and the Inertia page id (keeping the render literal inline for SM003/SM004 AST pairing) + a drift-guard test. - Add required pyproject metadata (readme, license, keywords, repo URL). - Add modules/branding/README.md with Install/Usage sections. --- modules/branding/README.md | 66 ++++++++++++++++++++ modules/branding/branding/constants.py | 10 +++ modules/branding/branding/endpoints/views.py | 8 ++- modules/branding/branding/module.py | 2 +- modules/branding/pyproject.toml | 10 ++- modules/branding/tests/test_branding.py | 12 ++++ packages/i18n/src/generated-resources.ts | 7 --- packages/i18n/src/keys.generated.ts | 15 ----- 8 files changed, 104 insertions(+), 26 deletions(-) create mode 100644 modules/branding/README.md diff --git a/modules/branding/README.md b/modules/branding/README.md new file mode 100644 index 00000000..c2ef8177 --- /dev/null +++ b/modules/branding/README.md @@ -0,0 +1,66 @@ +# simple_module_branding + +Customisable application branding for [simple_module_python](https://github.com/antosubash/simple_module_python) apps. + +An administrator can set the **application name**, **logo**, **favicon** and +**primary brand colour** from the admin UI (`/branding`), and those values are +applied everywhere the framework would otherwise show the default identity — +the sidebar/header logo and name, the browser tab title, the favicon, and the +primary accent colour. + +## Install + +The module ships with the default app. To add it to a custom host, declare it +as a dependency and let entry-point discovery pick it up: + +```toml +# host/pyproject.toml +dependencies = ["simple_module_branding"] + +[tool.uv.sources] +simple_module_branding = { workspace = true } +``` + +Then `uv sync --all-packages`. It requires the `Settings` and `FileStorage` +modules to be installed too. + +## Usage + +1. Sign in as an admin and open **Branding** in the sidebar (or visit + `/branding`). +2. Set the application name, pick a primary colour, and upload a logo and/or + favicon. Changes apply immediately across the app. + +Programmatically, the current branding is available on every page through the +`branding` Inertia shared prop (`appName`, `primaryColor`, `logoUrl`, +`faviconUrl`). + +## How it works + +- **Storage.** The four values are persisted via the `settings` module's store + (SYSTEM scope) — there is no branding database table. They hydrate into + `app.state.branding.settings` at boot and hot-swap on save. +- **Images.** Logo and favicon uploads are stored through the `file_storage` + module (referenced by UUID) and served from its download endpoint. +- **Delivery.** A registered Inertia shared-props provider injects a `branding` + block into every page's shared props (authenticated *and* guest), which the + frontend reads for the name, logo, favicon and colour. + +## Permissions + +- `branding.view` — view the branding admin page. +- `branding.manage` — change branding (name, colour, logo, favicon). + +## Dependencies + +Depends on the `Settings` and `FileStorage` modules. + +## Notes + +- Branding is currently SYSTEM-scoped (one identity per deployment). The + settings store already supports tenant/user scope, leaving room for + per-tenant branding later. +- The primary colour overrides the `--primary` / `--sidebar-primary` CSS + variables from a single hex; the full OKLCH colour scale is not regenerated. + +License: MIT diff --git a/modules/branding/branding/constants.py b/modules/branding/branding/constants.py index c8948ba6..f0daf919 100644 --- a/modules/branding/branding/constants.py +++ b/modules/branding/branding/constants.py @@ -6,6 +6,16 @@ PACKAGE: Final = "branding" +# Modules this one depends on (kept as constants so the depends_on list doesn't +# carry bare string literals — see scripts/check_hardcoded_strings.py). +_MODULE_SETTINGS: Final = "Settings" +_MODULE_FILE_STORAGE: Final = "FileStorage" + +# Inertia page identifier. The view endpoint renders this as a literal (so the +# SM003/SM004 static-AST diagnostics can pair it with pages/Manage.tsx); a test +# asserts the literal matches this constant. +_PAGE_MANAGE: Final = "Branding/Manage" + PERM_VIEW: Final = "branding.view" PERM_MANAGE: Final = "branding.manage" diff --git a/modules/branding/branding/endpoints/views.py b/modules/branding/branding/endpoints/views.py index a04f997d..6961141b 100644 --- a/modules/branding/branding/endpoints/views.py +++ b/modules/branding/branding/endpoints/views.py @@ -20,4 +20,10 @@ async def manage(inertia: InertiaDep) -> InertiaResponse: # Current branding is delivered through the shared ``branding`` prop # (the branding shared-props provider), so no page props are needed. - return await inertia.render("Branding/Manage") + # The page name is inlined as a literal (rather than constants._PAGE_MANAGE) + # so the SM003/SM004 diagnostics — which do static AST analysis and can't + # resolve attribute access — pair this call with pages/Manage.tsx. A unit + # test asserts the literal matches constants._PAGE_MANAGE. + return await inertia.render( + "Branding/Manage", + ) diff --git a/modules/branding/branding/module.py b/modules/branding/branding/module.py index 8ee2b621..c9c9d3a0 100644 --- a/modules/branding/branding/module.py +++ b/modules/branding/branding/module.py @@ -23,7 +23,7 @@ class BrandingModule(ModuleBase): name="Branding", route_prefix="/api/branding", view_prefix="/branding", - depends_on=["Settings", "FileStorage"], + depends_on=[constants._MODULE_SETTINGS, constants._MODULE_FILE_STORAGE], ) def register_settings(self, app: FastAPI) -> None: diff --git a/modules/branding/pyproject.toml b/modules/branding/pyproject.toml index 8f9a1a16..4f3f955b 100644 --- a/modules/branding/pyproject.toml +++ b/modules/branding/pyproject.toml @@ -1,8 +1,11 @@ [project] name = "simple_module_branding" version = "0.1.0" -description = "The Branding module" -authors = [] +description = "Customisable application branding (name, logo, favicon, primary colour) for simple_module apps" +readme = "README.md" +license = "MIT" +authors = [{ name = "Anto Subash", email = "antosubash@live.com" }] +keywords = ["simple-module", "branding", "theming", "white-label"] requires-python = ">=3.12" dependencies = [ "simple_module_core", @@ -12,6 +15,9 @@ dependencies = [ "simple_module_file_storage", ] +[project.urls] +Repository = "https://github.com/antosubash/simple_module_python" + [project.entry-points.simple_module] branding = "branding.module:BrandingModule" diff --git a/modules/branding/tests/test_branding.py b/modules/branding/tests/test_branding.py index 0798e38d..a0b576e3 100644 --- a/modules/branding/tests/test_branding.py +++ b/modules/branding/tests/test_branding.py @@ -148,3 +148,15 @@ async def fake_upload(self, upload): async def test_manage_view_requires_auth(client: httpx.AsyncClient) -> None: resp = await client.get("/branding", follow_redirects=False) assert resp.status_code in (302, 401, 403) + + +def test_page_constant_matches_view_literal() -> None: + # Guards against the inlined render literal drifting from the constant + # (the literal is required inline for SM003/SM004 static AST pairing). + import inspect + + from branding import constants + from branding.endpoints import views + + assert constants._PAGE_MANAGE == "Branding/Manage" + assert f'"{constants._PAGE_MANAGE}"' in inspect.getsource(views.manage) diff --git a/packages/i18n/src/generated-resources.ts b/packages/i18n/src/generated-resources.ts index 6224ef46..148f2683 100644 --- a/packages/i18n/src/generated-resources.ts +++ b/packages/i18n/src/generated-resources.ts @@ -196,13 +196,6 @@ export default { 'host.landing.hero_subtitle': '', 'host.landing.hero_title_line1': '', 'host.landing.hero_title_line2': '', - 'keycloak.errors.callback_failed': '', - 'keycloak.errors.invalid_state': '', - 'keycloak.errors.token_validation_failed': '', - 'keycloak.login.redirecting': '', - 'keycloak.login.title': '', - 'keycloak.logout.message': '', - 'keycloak.logout.title': '', 'permissions.browse.count_label': '', 'permissions.browse.count_label_one': '', 'permissions.browse.count_label_other': '', diff --git a/packages/i18n/src/keys.generated.ts b/packages/i18n/src/keys.generated.ts index d28abc2c..26bddb50 100644 --- a/packages/i18n/src/keys.generated.ts +++ b/packages/i18n/src/keys.generated.ts @@ -273,21 +273,6 @@ export const keys = { hero_title_line2: 'host.landing.hero_title_line2', }, }, - keycloak: { - errors: { - callback_failed: 'keycloak.errors.callback_failed', - invalid_state: 'keycloak.errors.invalid_state', - token_validation_failed: 'keycloak.errors.token_validation_failed', - }, - login: { - redirecting: 'keycloak.login.redirecting', - title: 'keycloak.login.title', - }, - logout: { - message: 'keycloak.logout.message', - title: 'keycloak.logout.title', - }, - }, permissions: { browse: { count_label: 'permissions.browse.count_label', From 028f34ba4974176a89643700ac7f47e2d9d5436d Mon Sep 17 00:00:00 2001 From: Anto Subash <antosubash@live.com> Date: Wed, 17 Jun 2026 17:39:18 +0200 Subject: [PATCH 06/10] test(branding): end-to-end Inertia shared-props integration test Proves PUT /api/branding -> persist + hot-swap -> shared-props provider -> InertiaLayoutDataMiddleware -> branding block in a real Inertia page's props. --- tests/integration/test_branding_flow.py | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/integration/test_branding_flow.py diff --git a/tests/integration/test_branding_flow.py b/tests/integration/test_branding_flow.py new file mode 100644 index 00000000..8764d697 --- /dev/null +++ b/tests/integration/test_branding_flow.py @@ -0,0 +1,42 @@ +"""End-to-end integration test for the branding flow. + +Exercises the full path against a real ``create_app()``: PUT /api/branding +persists + hot-swaps the settings, the branding shared-props provider reads the +live value, ``InertiaLayoutDataMiddleware`` merges it, and an Inertia page +request carries the ``branding`` block in its shared props. +""" + +from __future__ import annotations + +import httpx + + +async def test_branding_appears_in_inertia_shared_props( + app, + authenticated_client: httpx.AsyncClient, +) -> None: + # Default branding is present on every page. + resp = await authenticated_client.get( + "/dashboard/", + headers={"X-Inertia": "true", "X-Inertia-Version": "1.0"}, + ) + assert resp.status_code == 200 + assert resp.json()["props"]["branding"]["appName"] == "SimpleModule" + + # Change it through the admin API. + put = await authenticated_client.put( + "/api/branding/", + json={"app_name": "Acme End2End", "primary_color": "#abcdef"}, + ) + assert put.status_code == 200, put.text + + # The next page load reflects the new branding in its shared props. + resp = await authenticated_client.get( + "/dashboard/", + headers={"X-Inertia": "true", "X-Inertia-Version": "1.0"}, + ) + assert resp.status_code == 200 + branding = resp.json()["props"]["branding"] + assert branding["appName"] == "Acme End2End" + assert branding["primaryColor"] == "#abcdef" + assert branding["logoUrl"] is None From b53c0da0ad527fc14d28acaf00d83cb3f95e2940 Mon Sep 17 00:00:00 2001 From: Anto Subash <antosubash@live.com> Date: Wed, 17 Jun 2026 18:15:31 +0200 Subject: [PATCH 07/10] fix(branding): address code-review findings (round 1) - CRITICAL: render BrandingHead inside Inertia context (SidebarLayout, PublicLayout, AuthCardShell) instead of as a sibling of <App> in Root, where usePage()/<Head> threw and the ErrorBoundary replaced every page. - Blank/whitespace app_name now returns 422 (validated in BrandingUpdate) instead of 500 from BrandingSettings re-validation. - Harden the shared-prop provider merge: a provider can no longer clobber framework-owned keys (auth/menus/i18n) or an earlier provider's key. - Reuse file_storage's route constants for the download URL; centralize the hex-colour regex; drop the duplicate usePage() in Manage.tsx. - Add regression tests for the 422 and the provider-clobber guard. --- .../simple_module_hosting/middleware.py | 14 +++++++++++-- .../tests/test_inertia_shared_providers.py | 16 +++++++++++++++ host/client_app/app.tsx | 2 -- modules/branding/branding/constants.py | 16 +++++++++++---- .../branding/branding/contracts/schemas.py | 20 ++++++++++++++----- modules/branding/branding/pages/Manage.tsx | 6 ++---- modules/branding/branding/settings.py | 10 ++++------ modules/branding/branding/shared_props.py | 2 +- modules/branding/tests/test_branding.py | 6 ++++++ packages/ui/src/layouts/AuthCardShell.tsx | 2 ++ packages/ui/src/layouts/PublicLayout.tsx | 2 ++ packages/ui/src/layouts/SidebarLayout.tsx | 2 ++ 12 files changed, 74 insertions(+), 24 deletions(-) diff --git a/framework/hosting/simple_module_hosting/middleware.py b/framework/hosting/simple_module_hosting/middleware.py index bb7d0b60..c92d3289 100644 --- a/framework/hosting/simple_module_hosting/middleware.py +++ b/framework/hosting/simple_module_hosting/middleware.py @@ -292,8 +292,18 @@ async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: exc_info=True, ) continue - if extra: - shared.update(extra) + for key, value in (extra or {}).items(): + # Don't let a provider clobber framework-owned blocks + # (auth/menus/i18n) or an earlier provider's key. + if key in shared: + logger.warning( + "InertiaLayoutDataMiddleware: provider %r tried to overwrite " + "reserved shared-prop %r; ignoring", + getattr(provider, "__name__", provider), + key, + ) + continue + shared[key] = value request.state.inertia_shared = shared diff --git a/framework/hosting/tests/test_inertia_shared_providers.py b/framework/hosting/tests/test_inertia_shared_providers.py index a8d68799..19a9549f 100644 --- a/framework/hosting/tests/test_inertia_shared_providers.py +++ b/framework/hosting/tests/test_inertia_shared_providers.py @@ -73,3 +73,19 @@ def test_no_providers_leaves_shared_unchanged() -> None: body = TestClient(_build_app()).get("/shared").json() assert "branding" not in body assert "auth" in body and "menus" in body + + +def test_provider_cannot_clobber_framework_keys(caplog) -> None: + app = _build_app() + # A misbehaving provider tries to overwrite the framework-owned auth block. + register_inertia_shared_provider( + app, lambda _req: {"auth": "HIJACKED", "branding": {"ok": True}} + ) + + with caplog.at_level(logging.WARNING, logger="simple_module_hosting.middleware"): + body = TestClient(app).get("/shared").json() + + # auth stays the framework's dict; only the non-reserved key is added. + assert isinstance(body["auth"], dict) + assert body["branding"] == {"ok": True} + assert any("reserved shared-prop" in rec.message for rec in caplog.records) diff --git a/host/client_app/app.tsx b/host/client_app/app.tsx index a9af83c2..01b774b4 100644 --- a/host/client_app/app.tsx +++ b/host/client_app/app.tsx @@ -1,5 +1,4 @@ import { createInertiaApp, router } from '@inertiajs/react'; -import { BrandingHead } from '@simple-module-py/ui/components/BrandingHead'; import { ErrorBoundary } from '@simple-module-py/ui/components/ErrorBoundary'; import { useEffect, useRef } from 'react'; import { createRoot } from 'react-dom/client'; @@ -44,7 +43,6 @@ createInertiaApp({ return ( <ErrorBoundary ref={boundaryRef}> - <BrandingHead /> <App {...props} /> </ErrorBoundary> ); diff --git a/modules/branding/branding/constants.py b/modules/branding/branding/constants.py index f0daf919..4ada9919 100644 --- a/modules/branding/branding/constants.py +++ b/modules/branding/branding/constants.py @@ -2,8 +2,11 @@ from __future__ import annotations +import re from typing import Final +from file_storage.constants import PATH_FILE_DOWNLOAD, ROUTE_PREFIX_API + PACKAGE: Final = "branding" # Modules this one depends on (kept as constants so the depends_on list doesn't @@ -19,6 +22,11 @@ PERM_VIEW: Final = "branding.view" PERM_MANAGE: Final = "branding.manage" +# A #rrggbb hex colour (single source of truth for both the settings and the +# update-DTO validators). +HEX_COLOR_RE: Final = re.compile(r"^#[0-9a-fA-F]{6}$") +MAX_APP_NAME_LEN: Final = 60 + # Image upload guard-rails (enforced before handing the file to file_storage). MAX_IMAGE_BYTES: Final = 2 * 1024 * 1024 # 2 MB ALLOWED_IMAGE_TYPES: Final = frozenset( @@ -33,7 +41,7 @@ } ) -# Mirrors the file_storage download route (``/api/file-storage`` + -# ``/files/{id}/download``). Branding depends on FileStorage, so this stable -# public URL is safe to derive without a runtime lookup. -FILE_DOWNLOAD_URL: Final = "/api/file-storage/files/{}/download" +# file_storage download URL, derived from file_storage's own route constants +# (branding depends on FileStorage) so it tracks any route change. The +# ``{file_id}`` placeholder is filled per stored-file id. +FILE_DOWNLOAD_URL: Final = ROUTE_PREFIX_API + PATH_FILE_DOWNLOAD diff --git a/modules/branding/branding/contracts/schemas.py b/modules/branding/branding/contracts/schemas.py index 79defe9a..0d4b1a28 100644 --- a/modules/branding/branding/contracts/schemas.py +++ b/modules/branding/branding/contracts/schemas.py @@ -2,12 +2,10 @@ from __future__ import annotations -import re - from pydantic import field_validator from sqlmodel import Field, SQLModel -_HEX_COLOR = re.compile(r"^#[0-9a-fA-F]{6}$") +from branding.constants import HEX_COLOR_RE, MAX_APP_NAME_LEN class BrandingOut(SQLModel): @@ -22,14 +20,26 @@ class BrandingOut(SQLModel): class BrandingUpdate(SQLModel): """Editable text fields. Logo/favicon are set via dedicated upload routes.""" - app_name: str | None = Field(default=None, min_length=1, max_length=60) + app_name: str | None = Field(default=None, max_length=MAX_APP_NAME_LEN) primary_color: str | None = Field(default=None) + @field_validator("app_name") + @classmethod + def _non_empty_name(cls, value: str | None) -> str | None: + # Reject blank/whitespace here so it surfaces as a 422 rather than a 500 + # when BrandingSettings (which strips + requires non-empty) re-validates. + if value is None: + return None + cleaned = value.strip() + if not cleaned: + raise ValueError("app_name must not be blank") + return cleaned + @field_validator("primary_color") @classmethod def _valid_hex(cls, value: str | None) -> str | None: if value is None: return None - if value != "" and not _HEX_COLOR.match(value): + if value != "" and not HEX_COLOR_RE.match(value): raise ValueError("primary_color must be a #rrggbb hex string or empty") return value.lower() diff --git a/modules/branding/branding/pages/Manage.tsx b/modules/branding/branding/pages/Manage.tsx index 20af772f..5de2ab62 100644 --- a/modules/branding/branding/pages/Manage.tsx +++ b/modules/branding/branding/pages/Manage.tsx @@ -92,10 +92,8 @@ function ImageField({ function Manage() { const { t } = useT(); - const { branding } = usePage<{ props: SharedProps }>().props as unknown as SharedProps; - const canManage = ( - usePage<{ props: SharedProps }>().props as unknown as SharedProps - ).auth?.permissions?.includes('branding.manage'); + const { auth, branding } = usePage<{ props: SharedProps }>().props as unknown as SharedProps; + const canManage = auth?.permissions?.includes('branding.manage'); const [appName, setAppName] = useState(branding?.appName ?? ''); const [color, setColor] = useState(branding?.primaryColor ?? ''); diff --git a/modules/branding/branding/settings.py b/modules/branding/branding/settings.py index 7bda72ca..0d85d87b 100644 --- a/modules/branding/branding/settings.py +++ b/modules/branding/branding/settings.py @@ -11,12 +11,10 @@ from __future__ import annotations -import re - from pydantic import field_validator from pydantic_settings import BaseSettings, SettingsConfigDict -_HEX_COLOR = re.compile(r"^#[0-9a-fA-F]{6}$") +from branding.constants import HEX_COLOR_RE, MAX_APP_NAME_LEN DEFAULT_APP_NAME = "SimpleModule" @@ -37,13 +35,13 @@ def _non_empty_name(cls, value: str) -> str: cleaned = value.strip() if not cleaned: raise ValueError("app_name must not be blank") - if len(cleaned) > 60: - raise ValueError("app_name must be at most 60 characters") + if len(cleaned) > MAX_APP_NAME_LEN: + raise ValueError(f"app_name must be at most {MAX_APP_NAME_LEN} characters") return cleaned @field_validator("primary_color") @classmethod def _valid_hex(cls, value: str) -> str: - if value and not _HEX_COLOR.match(value): + if value and not HEX_COLOR_RE.match(value): raise ValueError("primary_color must be a #rrggbb hex string or empty") return value.lower() diff --git a/modules/branding/branding/shared_props.py b/modules/branding/branding/shared_props.py index 3ec70247..9b648847 100644 --- a/modules/branding/branding/shared_props.py +++ b/modules/branding/branding/shared_props.py @@ -19,7 +19,7 @@ def file_url(file_id: str) -> str | None: """Build the file_storage download URL for a stored file id (or None).""" - return FILE_DOWNLOAD_URL.format(file_id) if file_id else None + return FILE_DOWNLOAD_URL.format(file_id=file_id) if file_id else None def branding_payload(settings: BrandingSettings) -> dict: diff --git a/modules/branding/tests/test_branding.py b/modules/branding/tests/test_branding.py index a0b576e3..ef84ffcd 100644 --- a/modules/branding/tests/test_branding.py +++ b/modules/branding/tests/test_branding.py @@ -113,6 +113,12 @@ async def test_update_rejects_bad_hex(authenticated_client: httpx.AsyncClient) - assert resp.status_code == 422 +async def test_update_rejects_blank_app_name(authenticated_client: httpx.AsyncClient) -> None: + # A whitespace-only name must be a clean 422, not a 500 from BrandingSettings. + resp = await authenticated_client.put("/api/branding/", json={"app_name": " "}) + assert resp.status_code == 422 + + async def test_logo_upload_rejects_non_image(authenticated_client: httpx.AsyncClient) -> None: resp = await authenticated_client.post( "/api/branding/logo", diff --git a/packages/ui/src/layouts/AuthCardShell.tsx b/packages/ui/src/layouts/AuthCardShell.tsx index 1a8fcf7a..96bdf181 100644 --- a/packages/ui/src/layouts/AuthCardShell.tsx +++ b/packages/ui/src/layouts/AuthCardShell.tsx @@ -1,4 +1,5 @@ import type React from 'react'; +import { BrandingHead } from '../components/BrandingHead'; /** * Full-viewport centered shell for unauthenticated flows @@ -10,6 +11,7 @@ import type React from 'react'; export function AuthCardShell({ children }: { children: React.ReactNode }) { return ( <main className="relative flex min-h-screen items-center justify-center overflow-hidden bg-secondary/40 p-4"> + <BrandingHead /> <div aria-hidden="true" className="pointer-events-none absolute inset-0 overflow-hidden"> <div className="absolute -top-[10%] -right-[10%] h-[600px] w-[600px] rounded-full bg-primary-600 opacity-15 blur-[100px]" /> <div className="absolute -bottom-[10%] -left-[10%] h-[500px] w-[500px] rounded-full bg-primary-800 opacity-15 blur-[100px]" /> diff --git a/packages/ui/src/layouts/PublicLayout.tsx b/packages/ui/src/layouts/PublicLayout.tsx index 6dcd5e2e..b7075521 100644 --- a/packages/ui/src/layouts/PublicLayout.tsx +++ b/packages/ui/src/layouts/PublicLayout.tsx @@ -3,6 +3,7 @@ import { Button } from '@simple-module-py/ui/components/ui/button'; import { Menu, X } from 'lucide-react'; import type React from 'react'; import { useState } from 'react'; +import { BrandingHead } from '../components/BrandingHead'; import { LocaleSwitcher } from '../components/LocaleSwitcher'; import type { SharedProps } from '../types'; @@ -15,6 +16,7 @@ export function PublicLayout({ children }: { children: React.ReactNode }) { return ( <div className="min-h-screen flex flex-col bg-background text-foreground"> + <BrandingHead /> <nav className="sticky top-0 z-50 border-b border-border bg-background/80 backdrop-blur-xl backdrop-saturate-150"> <div className="mx-auto max-w-6xl px-4 py-3 sm:px-8 sm:py-3.5"> <div className="flex items-center justify-between"> diff --git a/packages/ui/src/layouts/SidebarLayout.tsx b/packages/ui/src/layouts/SidebarLayout.tsx index 0d5db483..e2afe57a 100644 --- a/packages/ui/src/layouts/SidebarLayout.tsx +++ b/packages/ui/src/layouts/SidebarLayout.tsx @@ -18,6 +18,7 @@ import { import { ChevronsUpDown } from 'lucide-react'; import type React from 'react'; import { useState } from 'react'; +import { BrandingHead } from '../components/BrandingHead'; import { BrandingMark } from '../components/BrandingMark'; import { NavIcon } from '../components/NavIcon'; import type { MenuItem, SharedProps } from '../types'; @@ -76,6 +77,7 @@ export function SidebarLayout({ return ( <TooltipProvider> + <BrandingHead /> <div className="min-h-screen bg-background"> {/* Mobile top bar */} <div From eb973ebe8e57c8da4f1f28e9f53e8e14ae8be7ce Mon Sep 17 00:00:00 2001 From: Anto Subash <antosubash@live.com> Date: Wed, 17 Jun 2026 20:27:19 +0200 Subject: [PATCH 08/10] fix(branding): drop non-functional dynamic tab-title code (QA finding) Browser QA showed the document <title> never reflects the configured app name (this app's title updates are page-driven and Inertia's title callback can't read live page props), so the brandAppName machinery was dead code with a misleading comment. Revert to the original static suffix; the in-app branding (sidebar name/logo, favicon, primary colour) works and is verified. Branding the browser-tab title is a documented follow-up. --- host/client_app/app.tsx | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/host/client_app/app.tsx b/host/client_app/app.tsx index 01b774b4..dbd3b24d 100644 --- a/host/client_app/app.tsx +++ b/host/client_app/app.tsx @@ -5,35 +5,25 @@ import { createRoot } from 'react-dom/client'; import { bootI18nFromInitialPage, subscribeI18nToNavigation } from './i18n'; import { resolvePage } from './pages'; -// Document-title suffix. Defaults to "SimpleModule" and is updated from the -// branding shared prop on first load and every navigation, so the title -// callback (which only receives the page title) can still reflect the -// configured app name. -let brandAppName = 'SimpleModule'; - -function appNameFromProps(props: unknown): string | undefined { - const branding = (props as { branding?: { appName?: string } } | undefined)?.branding; - return branding?.appName; -} - +// NOTE: the browser-tab title is not branded with the configured app name. +// The in-app branding (sidebar name/logo, favicon, primary colour) is applied +// via the `branding` shared prop + BrandingHead; wiring the configured name +// into the document <title> is a deferred follow-up (Inertia's title callback +// can't read live page props, and this app's title updates are page-driven). createInertiaApp({ - title: (title) => (title ? `${title} — ${brandAppName}` : brandAppName), + title: (title) => (title ? `${title} — SimpleModule` : 'SimpleModule'), resolve: async (name) => { const page = await resolvePage(name); return page; }, setup({ el, App, props }) { bootI18nFromInitialPage(props.initialPage.props); - brandAppName = appNameFromProps(props.initialPage.props) ?? brandAppName; function Root() { const boundaryRef = useRef<ErrorBoundary>(null); useEffect(() => { - const stopReset = router.on('navigate', (event) => { - boundaryRef.current?.reset(); - brandAppName = appNameFromProps(event.detail.page.props) ?? brandAppName; - }); + const stopReset = router.on('navigate', () => boundaryRef.current?.reset()); const stopI18n = subscribeI18nToNavigation(); return () => { stopReset(); From 513688d108209716459d6abb6155c97fd6e3e9ae Mon Sep 17 00:00:00 2001 From: Anto Subash <antosubash@live.com> Date: Wed, 17 Jun 2026 20:31:02 +0200 Subject: [PATCH 09/10] refactor(hosting): extract shared-prop provider merge into _inertia_shared Moves the provider-merge loop out of InertiaLayoutDataMiddleware into merge_shared_prop_providers() so middleware.py stays under the 300-line cap and the merge logic is unit-testable in isolation. Behaviour unchanged. --- .../simple_module_hosting/_inertia_shared.py | 28 +++++++++++++++++ .../simple_module_hosting/middleware.py | 31 +++---------------- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/framework/hosting/simple_module_hosting/_inertia_shared.py b/framework/hosting/simple_module_hosting/_inertia_shared.py index bd3522f1..896c2814 100644 --- a/framework/hosting/simple_module_hosting/_inertia_shared.py +++ b/framework/hosting/simple_module_hosting/_inertia_shared.py @@ -3,6 +3,7 @@ from __future__ import annotations import logging +from typing import Any from starlette.datastructures import Headers from starlette.requests import Request @@ -59,3 +60,30 @@ def build_i18n_block(scope: Scope, request: Request) -> dict: "supportedLocales": registry.available_locales(), "messages": registry.messages_snapshot(locale) if send_messages else None, } + + +def merge_shared_prop_providers(app: Any, request: Request, shared: dict) -> None: + """Merge module-registered Inertia shared-prop providers into ``shared`` in place. + + Providers are read off ``app.state.inertia_shared_providers`` (never importing + the plugin — preserves SM009). A provider that raises is skipped and logged; a + provider may not clobber a framework-owned key (auth/menus/i18n) or an earlier + provider's key. + """ + providers = getattr(app.state, "inertia_shared_providers", None) or () + for provider in providers: + name = getattr(provider, "__name__", provider) + try: + extra = provider(request) + except Exception: # a bad provider must not break the page render + logger.warning("shared-prop provider %r raised; skipping", name, exc_info=True) + continue + for key, value in (extra or {}).items(): + if key in shared: + logger.warning( + "provider %r tried to overwrite reserved shared-prop %r; ignoring", + name, + key, + ) + continue + shared[key] = value diff --git a/framework/hosting/simple_module_hosting/middleware.py b/framework/hosting/simple_module_hosting/middleware.py index c92d3289..6dbb5cfe 100644 --- a/framework/hosting/simple_module_hosting/middleware.py +++ b/framework/hosting/simple_module_hosting/middleware.py @@ -18,7 +18,7 @@ from starlette.requests import Request from starlette.types import ASGIApp, Message, Receive, Scope, Send -from simple_module_hosting._inertia_shared import build_i18n_block +from simple_module_hosting._inertia_shared import build_i18n_block, merge_shared_prop_providers from simple_module_hosting._observability import ( CorrelationIdMiddleware, RequestLoggingMiddleware, @@ -278,32 +278,9 @@ async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: "i18n": i18n_block, } - # Merge module-registered shared-prop providers (e.g. branding). Read off - # app.state (never importing the plugin) to keep SM009 intact. Defensive: - # a provider that raises is skipped, not allowed to 500 the page. - providers = getattr(scope["app"].state, "inertia_shared_providers", None) or () - for provider in providers: - try: - extra = provider(request) - except Exception: # a bad provider must not break the page render - logger.warning( - "InertiaLayoutDataMiddleware: shared-prop provider %r raised; skipping", - getattr(provider, "__name__", provider), - exc_info=True, - ) - continue - for key, value in (extra or {}).items(): - # Don't let a provider clobber framework-owned blocks - # (auth/menus/i18n) or an earlier provider's key. - if key in shared: - logger.warning( - "InertiaLayoutDataMiddleware: provider %r tried to overwrite " - "reserved shared-prop %r; ignoring", - getattr(provider, "__name__", provider), - key, - ) - continue - shared[key] = value + # Merge module-registered shared-prop providers (e.g. branding) — read off + # app.state without importing the plugin (SM009), defensively. + merge_shared_prop_providers(scope["app"], request, shared) request.state.inertia_shared = shared From 5c37b48ecd703a7abc78a4128f441ef28f3a9221 Mon Sep 17 00:00:00 2001 From: Anto Subash <antosubash@live.com> Date: Wed, 17 Jun 2026 22:27:35 +0200 Subject: [PATCH 10/10] docs(branding): add screenshots of the branding admin page and branded app --- .../screenshots/01-branding-admin-default.png | Bin 0 -> 83273 bytes .../screenshots/02-branding-admin-applied.png | Bin 0 -> 87157 bytes .../screenshots/03-branded-dashboard.png | Bin 0 -> 108920 bytes modules/branding/README.md | 9 +++++++++ 4 files changed, 9 insertions(+) create mode 100644 docs/branding/screenshots/01-branding-admin-default.png create mode 100644 docs/branding/screenshots/02-branding-admin-applied.png create mode 100644 docs/branding/screenshots/03-branded-dashboard.png diff --git a/docs/branding/screenshots/01-branding-admin-default.png b/docs/branding/screenshots/01-branding-admin-default.png new file mode 100644 index 0000000000000000000000000000000000000000..0d9f3471b40c2a65bcfb634a8c7077a623a458ae GIT binary patch literal 83273 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%0D7~ML?no88 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 Za%u2M$=$qqX4`XFpDJl77Rx^m`4{TOoAUqw literal 0 HcmV?d00001 diff --git a/docs/branding/screenshots/02-branding-admin-applied.png b/docs/branding/screenshots/02-branding-admin-applied.png new file mode 100644 index 0000000000000000000000000000000000000000..f4bcba6aa8a89dffc33ff4101bc3bf04a943c4ea GIT binary patch literal 87157 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%0D5>x^rFAueB?E9Q0+nzD_Id-18={%heFA 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 literal 0 HcmV?d00001 diff --git a/docs/branding/screenshots/03-branded-dashboard.png b/docs/branding/screenshots/03-branded-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..689660390a342d3c13d5f8e5afc168cb22a3891f GIT binary patch literal 108920 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%0AdM%8 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 P00000NkvXXu0mjf4@DU5 literal 0 HcmV?d00001 diff --git a/modules/branding/README.md b/modules/branding/README.md index c2ef8177..6d9a96f8 100644 --- a/modules/branding/README.md +++ b/modules/branding/README.md @@ -8,6 +8,15 @@ applied everywhere the framework would otherwise show the default identity — the sidebar/header logo and name, the browser tab title, the favicon, and the primary accent colour. +## Screenshots + +The admin page at `/branding`, and the same app rebranded as "Acme Analytics" +(custom logo + name + primary colour) across the sidebar and dashboard: + +| Admin page | Branding applied | Across the app | +|---|---|---| +| ![Branding admin](../../docs/branding/screenshots/01-branding-admin-default.png) | ![Branding applied](../../docs/branding/screenshots/02-branding-admin-applied.png) | ![Branded dashboard](../../docs/branding/screenshots/03-branded-dashboard.png) | + ## Install The module ships with the default app. To add it to a custom host, declare it