feat(web): play a random track from the Frutiger Aero SoundCloud playlist in aero mode (v2.2.22)

This commit is contained in:
Martin Dvořák 2026-10-16 00:20:14 +02:00
commit be33317d54
12 changed files with 387 additions and 83 deletions

View file

@ -47,8 +47,10 @@ more.
`freezmo_aero.png` and transforms the web shell into a Frutiger Aero theme:
`frutigerbackground.png` as the full-screen backdrop, floating glossy water/soap bubbles
across the viewport, and crystal-clear 3D bevel-rimmed liquid-glass panels and buttons
with subtle cyan refractive rims. The light/dark switch is hidden while the mode is
active (it's a fixed bright-sky look), and the desktop mode is left untouched.
with subtle cyan refractive rims. A random track from the *Frutiger Aero* SoundCloud
playlist plays while the mode is on (driven through SoundCloud's widget API), with a
small glass "now playing" chip to pause it. The light/dark switch is hidden while the
mode is active (it's a fixed bright-sky look), and the desktop mode is left untouched.
- **Draggable desktop icons** — free placement that snaps to a measured grid, one icon per
cell, with a follow-the-cursor drag ghost. Icons shrink on cramped viewports so they never
collide.
@ -93,7 +95,7 @@ more.
icons (`public/freezmo.png`, `public/freezmo_aero.png`), the Frutiger Aero wallpaper
(`public/frutigerbackground.png`), the Joker easter egg and the Gentoo mark; all cards,
feature/app previews and the desktop wallpaper are CSS.
- **Version:** `2.2.21` (see `package.json`)
- **Version:** `2.2.22` (see `package.json`)
- **Dependencies:** `npm audit` reports **0 vulnerabilities**. `next` is kept at a patched
release (`>=16.3.6`) for the `next/og` RCE, and `brace-expansion` is force-upgraded via
`overrides`. `braces` (a transitive ESLint/`fast-glob` dependency) has **no upstream fix**,
@ -215,6 +217,7 @@ src/app/
useTheme.ts → theme state via useSyncExternalStore
useColorScheme.ts → light/dark state via useSyncExternalStore
WebLayout.tsx → default web shell: sidebar + glass content
AeroMusic.tsx → Frutiger Aero soundtrack (random SoundCloud playlist track)
FeatureWindow.tsx → decorative CSS windows for the two feature panels
WindowsDesktop.tsx → desktop shell: icons, windows, taskbar, Start menu
WinWindow.tsx → one draggable/resizable window