[Feature] Customize theming from palettes to full appearance controls #246

Open
opened 2026-07-12 16:15:41 +02:00 by zemion · 0 comments
Owner

Objective

Add configurable theming beyond the built-in light/dark/system themes, starting with simple palette choices and growing toward full appearance customization.

Context

govoplan-core#224 establishes the shared token-based theming foundation. This issue tracks the next product layer: letting administrators or users shape the visual appearance without editing CSS.

Scope

  • Start with choosing a predefined color palette for the active theme.
  • Add safe custom accent/status/surface palette controls once the token contract is stable.
  • Define which controls are user-level, tenant-level, and system-level.
  • Provide previews and reset-to-default behavior before saving.
  • Validate contrast and accessibility before accepting custom palettes.
  • Eventually expose advanced controls for all relevant theme tokens, guarded by policy/permissions.

Acceptance Criteria

  • A basic palette selector can change the visual theme through the shared CSS token layer.
  • Customization does not require module CSS changes.
  • Invalid or inaccessible palette combinations are rejected or clearly warned before save.
  • The UI distinguishes built-in themes, palette presets, and advanced custom overrides.
  • Follow-up slices exist for tenant branding, import/export, and visual regression coverage if they are not completed here.

Relationship

Follow-up to govoplan-core#224. Not required for closing the base theming foundation.

## Objective Add configurable theming beyond the built-in light/dark/system themes, starting with simple palette choices and growing toward full appearance customization. ## Context `govoplan-core#224` establishes the shared token-based theming foundation. This issue tracks the next product layer: letting administrators or users shape the visual appearance without editing CSS. ## Scope - Start with choosing a predefined color palette for the active theme. - Add safe custom accent/status/surface palette controls once the token contract is stable. - Define which controls are user-level, tenant-level, and system-level. - Provide previews and reset-to-default behavior before saving. - Validate contrast and accessibility before accepting custom palettes. - Eventually expose advanced controls for all relevant theme tokens, guarded by policy/permissions. ## Acceptance Criteria - A basic palette selector can change the visual theme through the shared CSS token layer. - Customization does not require module CSS changes. - Invalid or inaccessible palette combinations are rejected or clearly warned before save. - The UI distinguishes built-in themes, palette presets, and advanced custom overrides. - Follow-up slices exist for tenant branding, import/export, and visual regression coverage if they are not completed here. ## Relationship Follow-up to `govoplan-core#224`. Not required for closing the base theming foundation.
zemion added the
type
feature
priority
p3
status
ready
module/core
area/webui
codex/ready
labels 2026-07-12 16:15:41 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: add-ideas/govoplan-core#246
No description provided.