diff --git a/README.md b/README.md index 0b5b541..65a0b96 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ from the saved theme, all from the same content: - **`web`** (default) — a light, frosted-glass **website**: a sticky full-height sidebar (section nav, light/dark switch, desktop switch) beside a column of glass cards — hero with a socials row, quick tiles, live services, activity heatmap, projects and hardware - (a masonry gallery), features and friends. Light by default with a persisted dark mode, + (a masonry gallery), features and friends. Dark by default with a persisted light mode, and fully responsive, so phones and desktops get the same shell. - **`skeuo`** — an alternate KDE Plasma / Windows-style **desktop simulation** (desktop only): draggable snap-to-grid icons, resizable/floating windows, a Start menu, taskbar and @@ -26,7 +26,7 @@ more. - **Two themes / shells** — a default frosted-glass **web** shell and an alternate KDE-style **desktop** shell, toggled from either UI and persisted in `localStorage` (applied pre-paint to avoid a flash). Phones always get the web shell. -- **Light / dark mode** — the web shell has a light/dark switch (light by default, remembered +- **Light / dark mode** — the web shell has a light/dark switch (dark by default, remembered in `localStorage`, applied pre-paint). The desktop shell keeps its own Breeze Dark look. - **Glassmorphic web layout** — a sticky sidebar with section navigation beside a column of frosted-glass panels (subtle gradients + `backdrop-filter` blur), reorganised into diff --git a/agents.md b/agents.md index 0b858ec..dd234d6 100644 --- a/agents.md +++ b/agents.md @@ -109,7 +109,8 @@ scripts/ 1. `ThemeScript` runs before paint. It reads `localStorage.theme` and sets `data-theme` (`web` | `skeuo`) on ``, defaulting to `web`; it also reads `localStorage.scheme` and sets `data-scheme` (`light` | `dark`), defaulting to - `light`. There is no device sniff anymore. + `dark` (only an explicit stored `light` overrides it). There is no device + sniff anymore. 2. `useTheme()` (in `useTheme.ts`) reads `data-theme` via `useSyncExternalStore` and dispatches a `theme-change` event on toggle. `useColorScheme()` does the same for `data-scheme` via a `scheme-change` event. @@ -192,6 +193,14 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark), `.web-tile-note` is centered. Every other panel title is centered too: `.web-section-head` (the eyebrow + `.web-section-title`) and `.web-tile-title` ("Right now" / "Gym PRs"). Desktop keeps the left-aligned headings. +- The gym PR icons (`.gym-icon--squat` / `--bench` / `--deadlift`) are **pure + CSS barbells**, not SVGs: a bar (`::before`) plus plates drawn as layered + `linear-gradient` backgrounds on `::after`, all in `currentColor` so they + adapt to light/dark and the desktop app surface. More plates per side = a + heavier lift (bench 1, squat 2, deadlift 3). Don't swap them back to images. +- `.web-quick` is top-aligned (`align-items: start`) so the shorter "Right now" + tile isn't stretched to the Gym tile's height (it used to leave a big empty + gap under the text). - Under `max-width: 640px` the year-grid heatmap (`.heatmap-container`) and its legend/hover row (`.heatmap-status-row`) are `display: none` — the grid is unreadable at phone widths. The contribution total and the commit history diff --git a/public/bench.svg b/public/bench.svg deleted file mode 100644 index 22ed036..0000000 --- a/public/bench.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/public/deadlift.svg b/public/deadlift.svg deleted file mode 100644 index 86fad37..0000000 --- a/public/deadlift.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/public/squat.svg b/public/squat.svg deleted file mode 100644 index 4b08285..0000000 --- a/public/squat.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/src/app/components/ThemeScript.tsx b/src/app/components/ThemeScript.tsx index 3780e42..f765eee 100644 --- a/src/app/components/ThemeScript.tsx +++ b/src/app/components/ThemeScript.tsx @@ -7,8 +7,9 @@ import { useServerInsertedHTML } from "next/navigation"; // are applied without a flash. It is injected with useServerInsertedHTML so the //