Skip to content

feat(admin): rebuild the addons page as a tile grid with sub-shelves - #2156

Draft
mauriceboe wants to merge 2 commits into
devfrom
feat/admin-addons-tiles
Draft

feat(admin): rebuild the addons page as a tile grid with sub-shelves#2156
mauriceboe wants to merge 2 commits into
devfrom
feat/admin-addons-tiles

Conversation

@mauriceboe

Copy link
Copy Markdown
Collaborator

Description

Rebuilds the admin addons page. The three stacked sections (Trip / Global / Integrations) become one tile grid per group: each addon is a card whose fill carries its on/off state, with the type badge on the tile itself and a per-group "x of y enabled" count in the header. Bag tracking, the collab features and the photo providers now hang off their parent addon as compact sub-rows instead of rendering as full-width siblings.

Server side, naver_list_import is retyped from trip to integration (appended migration + seed fix) — it has no trip tab or page of its own, it imports places from an external service. The type only drives admin grouping and the global nav check, so nothing about the import itself changes.

Smaller pieces that fell out of the rework:

  • naver_list_import, airtrail and llm_parsing get i18n catalog entries in all 23 locales, so their names/descriptions translate like the other addons
  • new useIsDark hook that watches the .dark class on <html> instead of re-deriving settings + matchMedia per component (catches OS-level switches under auto)
  • the ToggleSwitch knob uses --accent-text so a light accent in dark mode no longer renders white-on-white

Related Issue or Discussion

Internal UI rework of the admin area, no tracking issue.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Checklist

  • I have read the Contributing Guidelines
  • My branch is up to date with dev
  • This PR targets the dev branch, not main (wiki-only PRs are exempt)
  • I have tested my changes locally
  • I have added/updated tests that prove my fix is effective or that my feature works
  • I have updated documentation if needed

It has no trip tab and no page of its own — it pulls places from an
external service, which is what the integration group is for. The type
only drives grouping in the admin UI (and the global nav check), so
existing installs just see the tile move; migration appended for them,
seed fixed for fresh ones.
The three stacked sections become one grid of cards per group, with the
type shown on the tile itself. Bag tracking, the collab features and the
photo providers hang off their parent addon as compact shelf rows
instead of full-width siblings, and each group header counts how many of
its addons are on.

Along the way:
- naver_list_import, airtrail and llm_parsing get catalog entries, so
  their names and descriptions translate like everyone else
- dark detection moves into a shared useIsDark hook that watches the
  .dark class instead of re-deriving settings + matchMedia locally
- the ToggleSwitch knob uses --accent-text so a light accent in dark
  mode no longer renders white-on-white
@mauriceboe
mauriceboe marked this pull request as draft August 31, 2026 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant