Badges: soft feathered glow around badge wrapper in dark mode

This commit is contained in:
Scott Idem
2026-03-12 16:43:11 -04:00
parent dd2deb1ab1
commit 25359f12b8
2 changed files with 22 additions and 1 deletions

View File

@@ -14,6 +14,17 @@ Both files have grown organically and are messy. Refactor goals:
- Keep `ae_stores.ts` and `ae_events_stores.ts` as barrel re-exports for backwards compatibility
Related: `src/lib/stores/store_versions.ts` is the new home for version constants.
### [Backend] Join event_location_id onto event_presenter API view
The `event_presenter` object currently has `event_session_id` but not `event_location_id`.
When navigating from the Presenter View to the Launcher, the frontend has to do a secondary
session lookup to discover the location (magic redirect in launcher base `+page.svelte`).
Joining `event_session.event_location_id` into the presenter view/response would let the
frontend pass the location directly in the Launcher URL without the extra lookup.
- Backend: add `event_location_id` (and `event_location_id_random`) to the `event_presenter`
view or API response
- Frontend: add `event_location_id` to `ae_EventPresenter` type and `properties_to_save`;
pass as `events__launcher_id` in `presenter_page_menu.svelte`
### [Launcher] Active features (identified 2026-03-06)
- [x] **Font size cycler (Launcher sidebar):** Font size cycler and light/dark toggle added to new `menu_launcher_controls.svelte` component; wired into `launcher_menu.svelte`. Visibility toggles (All Files / All Sessions) moved to same component and restyled to `preset-tonal-tertiary`. (2026-03-11)

View File

@@ -989,7 +989,17 @@
* Suppressed on print — no shadow on the physical output.
*/
:global(.dark) .event_badge_wrapper {
box-shadow: 0 0 0 6px white, 0 8px 32px rgba(0, 0, 0, 0.75);
/*
* Layered glow: crisp edge ring → soft mid glow → wide feathered fade → depth shadow.
* Each layer has more blur and less opacity, handing off to the next so the
* transition reads as a continuous fade rather than hard-edged rings.
*/
box-shadow:
0 0 0 2px rgba(255, 255, 255, 0.95), /* crisp white edge — matches badge stock */
0 0 12px 4px rgba(255, 255, 255, 0.55), /* inner soft glow */
0 0 36px 12px rgba(255, 255, 255, 0.2), /* mid feather */
0 0 80px 24px rgba(255, 255, 255, 0.07), /* wide outer fade → transparent */
0 12px 48px rgba(0, 0, 0, 0.55); /* drop shadow for depth */
}
@media print {