feat(seasonal): Christmas redesign (#240) — awaiting human review #471

Open
jared wants to merge 1 commits from seasonal/christmas into lotus
Owner

Awaiting human review. Do not auto-merge. Per #240, only a human approves and merges seasonal designs.

Refs #240 (not "fixes": the issue is closed by hand after review).

Before and after renders (desktop and Pixel 7, light and dark, reduced motion, animation frames, header close-ups): https://claude.ai/artifact/RVSexdTiPa891kWvENyA2S. The page is private to Jared.

Changes (Christmas.tsx, Christmas.css.ts only)

  • Garland: the string lights are now a wire in shallow scallops with small bulbs hanging from it, all inside the top ~16 px.
    • The old bokeh orbs covered the phone's back and search icons; phone header icons start ~18 px down.
    • One repeating 600 px SVG tile; two bulb sets twinkle alternately, animating opacity only.
  • Snow: each flake has a white core and a blue-grey rim, so it shows on light themes, where it was invisible. Six six-armed crystals drift in front.
  • Haze: the frost vignette and the dark bottom rim are gone, so the composer area is no longer greyed on light.
  • Reduced motion: a static garland and a still scatter of snow.

Checks

  • tsc and eslint are clean.
  • Renders reviewed at 1440×900 and Pixel 7, light and dark, reduced motion, and frames at 5, 10 and 15 s.
  • Only transform and opacity are animated, and nothing renders when the theme is off (unchanged).

🤖 Generated with Claude Code

https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5

**Awaiting human review. Do not auto-merge.** Per #240, only a human approves and merges seasonal designs. Refs #240 (not "fixes": the issue is closed by hand after review). **Before and after renders** (desktop and Pixel 7, light and dark, reduced motion, animation frames, header close-ups): https://claude.ai/artifact/RVSexdTiPa891kWvENyA2S. The page is private to Jared. **Changes** (`Christmas.tsx`, `Christmas.css.ts` only) - **Garland:** the string lights are now a wire in shallow scallops with small bulbs hanging from it, all inside the top ~16 px. - The old bokeh orbs covered the phone's back and search icons; phone header icons start ~18 px down. - One repeating 600 px SVG tile; two bulb sets twinkle alternately, animating opacity only. - **Snow:** each flake has a white core and a blue-grey rim, so it shows on light themes, where it was invisible. Six six-armed crystals drift in front. - **Haze:** the frost vignette and the dark bottom rim are gone, so the composer area is no longer greyed on light. - **Reduced motion:** a static garland and a still scatter of snow. **Checks** - tsc and eslint are clean. - Renders reviewed at 1440×900 and Pixel 7, light and dark, reduced motion, and frames at 5, 10 and 15 s. - Only transform and opacity are animated, and nothing renders when the theme is off (unchanged). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared added 1 commit 2026-10-25 23:10:49 -04:00
feat(seasonal): Christmas redesign — garland above the header, snow that shows on light themes (#240)
CI / Build & Quality Checks (push) Skipped
CI / Secret scan (gitleaks) (push) Skipped
CI / Playwright smoke (e2e) (push) Skipped
CI / Build & Quality Checks (pull_request) Successful in 3m22s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 15s
CI / Playwright smoke (e2e) (pull_request) Successful in 22m34s
6b3f25e8a8
- String lights are a real garland: a wire in shallow scallops with small
  bulbs hanging from it, all within the top ~16px so they stay above header
  icons and text (the old bokeh orbs covered the phone back/search icons).
  One repeating SVG tile; two bulb sets twinkle alternately (opacity only).
- Snow has a white core plus a blue-grey rim, so it shows on light themes
  (it was invisible) as well as dark; six-armed crystals drift in front.
- The frost vignette is gone and the bottom wash is lighter, so the composer
  area is no longer greyed on light themes.
- Reduced motion: static garland and a still scatter of snow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
All checks were successful
CI / Build & Quality Checks (push) Skipped
Required
CI / Secret scan (gitleaks) (push) Skipped
Required
CI / Playwright smoke (e2e) (push) Skipped
Required
CI / Build & Quality Checks (pull_request) Successful in 3m22s
Required
Details
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 15s
Required
Details
CI / Playwright smoke (e2e) (pull_request) Successful in 22m34s
Required
Details
Checking for merge conflicts…
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin seasonal/christmas:seasonal/christmas
git checkout seasonal/christmas
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#471