Originally created by: kristofferR
Problem
The gallery shows only built-in and imported themes. With the catalog, every theme should be one click away without an install step.
Design (approved: store layout C)
Mocks: https://plans.kristofferr.com/d/w5svpa5g4twy (layout C) inside the Appearance layout of [#422].
- One gallery with every theme: built-ins, then downloaded and imported themes, then the rest of the catalog; "Add theme file…" is the last card.
- Click a card to use the theme. A catalog theme downloads first (#427); its card shows a static "Downloading…" label meanwhile (no spinner).
- Card states: selected (blue ring and check), "Dark only", "Needs a newer Chatpane" (not clickable), and the existing notice for failures and "needs a connection".
- Expand on hover: an expand button in the card's top-left corner opens a bigger preview over the tab: name, description, author, size; a Light / Dark switch when the theme has both, "Dark only" otherwise; "Use theme". Esc, ✕ or a click outside closes it. The overlay fades in once (about 160 ms), no looping animation.
- Previews are the catalog's screenshots; colour cards from the header until a screenshot is cached or when there is none.
- Authors shown as the catalog says: "toanbku" for WhatsApp and Teams, "toanbku & Hlong-Dev" for Google Chat, "darkpiv", "lyng148".
- "Remove" (already there for imported themes) also removes a downloaded catalog theme.
- Keyboard: cards are a radio group; the expand button is reachable by Tab and opens with Enter or Space.
Testing
- Choose a catalog theme online and offline, with a slow connection, and with a forced hash failure.
- Expand preview with a mouse and with the keyboard; light and dark Settings.
Part of [#434].