Files
Haven/themes
Amnibro 50a8ea1889 Themes: Glassy Neon and seasonal themes (Christmas, Halloween, Thanksgiving) (#5730)
* Themes: Glassy Neon and seasonal themes (Christmas, Halloween, Thanksgiving)

- Add themes/glassy-neon.theme.css: Tron-inspired cyberpunk glassmorphism with perspective neon floor grid, laser glow borders, and rotating identity disc.
- Add themes/christmas.theme.css: Festive evergreen pine with twinkling string lights, falling snow, candy-cane borders, and glowing Christmas tree (@section Seasonal).
- Add themes/halloween.theme.css: Eerie gothic midnight with drifting ghostly mist, flying witch moon, carved jack-o'-lantern, blinking black cat, and dripping toxic slime borders (@section Seasonal).
- Add themes/thanksgiving.theme.css: Warm autumn harvest with tumbling fall leaves, waddling turkey watermark, harvest garland, and striped borders (@section Seasonal).
- Parse optional @section and @category metadata tags in src/themeMetadata.js.
- Organize theme pickers and admin settings so seasonal themes appear in a dedicated 'Seasonal' group.
- Support prefers-reduced-motion in all four new themes.
- Document bundled additions in GUIDE.md.

* Themes: rebuild Glassy Neon and the seasonal themes as full scenes

Restyle every surface of the four themes (server rail, sidebars, header,
topic bar, message list, composer, buttons, inputs, scrollbars, modals,
theme popup and the login page) and give each a layered, animated scene
drawn with self-contained SVG data URIs.

- Glassy Neon: Haven on the Grid. Opaque holo-glass panels with lit cyan
  and orange edge rails, circuit traces, data streams running down the
  rails, light-cycle trails along the header and composer, a perspective
  light floor that races toward the viewer, horizon ridges, a scan sweep,
  counter-rotating identity disc rings and glitch hover accents.
- Christmas: a cozy cabin looking out on a moonlit pine forest. Plaid
  walls, a fireplace with stockings and flickering flames, a decorated tree
  with twinkling lights and presents, garland and string lights on the
  header, snow caps, frosted window corners and three parallax snow layers.
- Halloween: a cartoony haunted night. Bats crossing a big moon, graveyard
  fog, a floating ghost, flickering jack-o'-lanterns, a black cat with
  glowing eyes and a swishing tail, a bubbling cauldron, cobwebs, a
  dangling spider and green goo that drips from the header and composer.
- Thanksgiving: a harvest evening. Two parallax layers of falling leaves,
  swaying maple trees, a farmstead sunset, a leaf garland, flannel and
  barn-wood panels, hay bales, corn shocks, pumpkins, and two turkeys that
  wobble, gobble and strut.

Decorations use pointer-events: none and sit behind content in negative
z-index layers, the message column keeps a dark veil so message text stays
above WCAG AA, animations only change transform and opacity, and
prefers-reduced-motion stops every animation. Pseudo-element rules raise
their specificity so the effects overlay system does not strip them.

Move the seasonal-theme check into HavenThemeCompat.isSeasonalTheme so the
theme bar, plugin loader and admin list share one implementation, and test
it.
2026-10-05 17:16:44 -04:00
..