main ← nexalapp:theme-minimal-refresh
opened 06:17PM - 03 Oct 26 UTC
A refresh of Minimal for Stash v0.31, made inside the existing files (no new sty…lesheets). It keeps what defines Minimal: near-black charcoal, no borders or card chrome, bare rounded covers with captions beneath, descriptions hidden, Outfit throughout, pill tabs, and card-less settings.
**What changed**
- **Stash v0.29+ toolbar.** The toolbar rule targeted `.scene-list-toolbar`, which v0.29 removed, so the list toolbar fell back to Stash's slate bar. It is bare again. Every control shares a 34px hit area so the row lines up and wraps predictably.
- **Pagination** is centred with the result count on the same row; the duplicate floating pagination at the bottom is hidden.
- **Cards:** resolution and duration share one chip; the studio chip sits top-left; spacing and caption inset follow one 12px rhythm; counts are plain icon + number aligned with the title; studio and tag logos sit on a soft 16:9 tile so every card in a row is the same height.
- **Hover and selection:** hover lifts the card on a soft shadow; a selected card gets a 2px light ring. (0.2.7 removed card hover; this brings back a quieter one. Happy to drop it if you prefer none.)
- **Buttons:** one light primary action per screen with dark text; secondary actions are quiet grey pills; Delete stays muted red.
- **Pages:** the desktop menu shows words only; scene titles at 34px; the performer page gets a full-bleed portrait that fades into the page, a 40px name and a tight field list; settings section titles at 28px.
- **Filter drawer** sits one step lighter than the page with a hairline edge; its toggle no longer hangs half off the page.
- **Contrast:** `--primary-9` and `--primary-10` lifted a step so small meta text passes WCAG AA.
The changelog in the README is updated, and a screenshots section for 0.3.0 is added above the existing 0.1 ones.
**Since this PR was opened**
- Fixes from a review across all the refreshed themes: home carousel arrows inside the page and centred on the cards, the card heart the same size as the select checkbox, two performers per row in the scene details panel.
- Home page studio cards fill their carousel slot; the task queue and the last stock-blue leaks are themed.
- Home carousels show whole cards only, spaced like the grid, and card shadows are no longer clipped into a band.
- Phones: the filter sidebar opens as a full-screen sheet with a full-width results button (side by side with a single column of cards on small tablets); long Stash IDs fit the performer header.
- Dialogs such as Edit filter fill the screen on phones, with their buttons at the foot.
- Phones: the ☰ menu is an even grid of tiles with small icons, and the list toolbar fits on two rows.
- The ☰ button is the same colour as the nav icons beside it.
- The Theme Switch menu is solid and on the theme's colours (it was see-through over the blurred bar, and on stock slate).
- Phones: the performer header starts below the top bar (it sat 13px under it).
### Screenshots
Taken on an empty Stash v0.31.1 with demo content: fictional titles and names, and openly licensed photos blurred heavily so no one is identifiable (credits on the [screenshots branch](https://github.com/nexalapp/CommunityScripts/tree/screenshots)).
| Scenes | Scene |
|---|---|
|  |  |
|  |  |
<img src="https://raw.githubusercontent.com/nexalapp/CommunityScripts/43c9691b1c39e40be1e918faa9a0a75183ba956a/Theme-Minimal/mobile-scenes.jpg" alt="Scenes on a phone" width="240"> <img src="https://raw.githubusercontent.com/nexalapp/CommunityScripts/43c9691b1c39e40be1e918faa9a0a75183ba956a/Theme-Minimal/mobile-scene.jpg" alt="A scene on a phone" width="240">
### Testing
Tested on Stash v0.31.1 (Docker) in Chrome at 1440×900 and 390×844, on a real library of several thousand scenes and on an empty instance with demo content: scene, performer, studio and tag grids, the filter drawer and selection toolbar, scene, performer and studio pages, and settings. Validated with `node validate.js --ci`.
### AI disclosure
This change was written with Claude (Anthropic) in Claude Code, from a design mockup. I reviewed the code and tested it on my own Stash install before submitting.
🤖 Generated with [Claude Code](https://claude.com/claude-code)