Skip to content

[OpenSpec] sync-theming-on-token-change #24

@rubenvdlinde

Description

@rubenvdlinde

Summary

When an admin selects a different token set in nldesign, Nextcloud's built-in theming values (primary color, background color, logo, background image) remain unchanged. This change adds:

  1. Theming sync dialog — After token set selection, show a confirmation dialog comparing current vs. proposed Nextcloud theming values and offer to update automatically
  2. Dropdown token selector — Replace radio buttons with a searchable <select> dropdown to handle 400+ token sets

Tasks

  • 1.1 Add theming metadata to token-sets.json entries
  • 1.2 Create img/logos/ and img/backgrounds/ directories with initial images
  • 2.1 Update TokenSetService to include theming metadata in output
  • 3.1 Add GET /settings/theming endpoint
  • 3.2 Add POST /settings/theming endpoint for colors
  • 3.3 Add image upload support to POST /settings/theming
  • 4.1 Replace radio buttons with select dropdown in admin template
  • 4.2 Update admin.js for dropdown change handler
  • 5.1 Add dialog HTML and CSS
  • 5.2 Add dialog trigger logic after token set change
  • 5.3 Wire up dialog confirm/cancel actions
  • 6.1 End-to-end test: select token set with theming, confirm dialog, verify NC theming updated
  • 6.2 Test dropdown with all token sets, verify alphabetical sorting and selection

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions