feat(dashboard): add appearance palettes and templates redesign#361
feat(dashboard): add appearance palettes and templates redesign#361Leslie-23 wants to merge 4 commits into
Conversation
rmyndharis
left a comment
There was a problem hiding this comment.
Really nice work, @Leslie-23 — I rendered this locally (light + a couple of palettes, with a few seeded templates) and it's a clear improvement on both fronts. Approving, with one small consistency fix I'd love to see folded in.
What's great
- Templates redesign → a 3-pane workspace (library list + search + placeholder chips · editor · live preview) instead of the flat grid. Much better for browsing/editing a set, and the search + live
{{placeholder}}preview are genuinely useful. It also reuses the design tokens (var(--bg-white),var(--border),var(--text-muted)), so it tracks dark mode, and it's responsive (breakpoints at 1280/900/640 collapse the panes cleanly). - Palette feature → clean and well-architected:
ThemePaletteis typed, validated (isPaletteguard), persisted, and applied viadata-paletteoverriding--primary/--primary-hover/--primary-soft. The picker in the Appearance menu is tidy. This is the right way to do accent theming.
One thing to fix before merge (1-line-ish)
The redesign's selected-template highlight is hardcoded OpenWA-green (rgba(37, 211, 102, …) in Templates.css), so it doesn't follow the palette this same PR introduces. I confirmed it by switching to the Rose palette: the nav item, buttons, and preview chips all re-theme to rose, but the selected list item stays a green box — visibly out of place.
The carried-over green should use the token you already added:
/* selected template list item */
.template-list-item.selected {
border-color: var(--primary);
background: var(--primary-soft); /* you already define --primary-soft per palette */
}(Same for the other rgba(37, 211, 102, …) spots.) On the default OpenWA palette it looks identical; on any other palette it now stays consistent.
The status colors (
#fee2e2,#ecfdf5, …) are fine to leave hardcoded — they match the existing dashboard-wide pattern (used in ~9 other CSS files), so no need to touch those here.
Minor (housekeeping)
- For a visual redesign, please add before/after screenshots to the PR — it makes review (and the changelog later) much easier.
- The description is still the template placeholder ("Brief description of changes") and
Closes #is empty — a sentence or two on the two features + linking any related issue would be great.
Once the selected-item highlight is wired to var(--primary-soft), this is good to go. Thanks for the polish — the templates page is a lot nicer to use now. 🎨
|
Thanks for the detailed review and approval. |
|
Re-reviewed after your push, @Leslie-23 — and the consistency fix landed exactly right. I confirmed I also ran the full local gate on your branch and everything is clean: dashboard lint (0 errors), dashboard build, backend There's just one thing I'd like to tidy up before I merge, since OpenWA ships full localization across all nine locales:
Two non-blocking notes for the changelog later (no action needed from you):
This is excellent work and effectively ready — just the seven translations and I'll merge it straight away. Thank you for the careful polish; the Templates page is genuinely much nicer to use now. |
Description
Brief description of changes
Type of Change
Checklist
Screenshots (if applicable)
Related Issues
Closes #