Let the admin choose one of eight colour profiles
linter / quality (push) Successful in 1m3s
tests / ci (8.5) (push) Successful in 2m8s
docker / test (8.5) (push) Successful in 2m15s
docker / build-and-push (push) Failing after 7m22s
docker / release (push) Skipped

Indigo (the default), Blue, Teal, Green, Amber, Rose and Violet in the
Vibrant style and Graphite in the Neutral style are generated from
config into the stylesheet. Admin settings opens with a colour profile
card: a swatch previews the profile on the page, and Save Settings
stores it as color_profile, which AppServiceProvider hands to the
package's resolver, so every page, mail and error page wears it. An
unknown profile is refused, and a saved one that disappears falls back
to indigo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9NnLxnPp8vaaurb3Z1MFy
This commit is contained in:
Andreas Reinhold / reini
2026-09-13 15:06:47 +02:00
co-authored by Claude Opus 5
parent 27e322c352
commit 21bea9646d
21 changed files with 2645 additions and 12 deletions
+4 -3
View File
@@ -2,9 +2,10 @@
* SealShare website theme.
*
* The colours are not an approximation of the app's: they are copied from
* resources/css/material-scheme.json, generated by `php artisan material:scheme "#4f46e5"
* --variant=vibrant` (Material 3, spec 2025, contrast 0). When the scheme is regenerated, copy the
* roles below again the site does not read the file. Light is the default, dark follows the
* the indigo profile in resources/css/material-scheme.json (seed #4f46e5, Vibrant, Material 3 spec
* 2025, contrast 0; the file's top-level light and dark), generated by `php artisan material:scheme`
* from the app's colour profiles. When indigo is regenerated differently, copy the roles below again
* the site does not read the file, and does not follow the colour profile an admin chooses. Light is the default, dark follows the
* visitor's system setting; the site has no theme toggle of its own.
*
* Shared by index.html and privacy.html.