diff --git a/README.md b/README.md index 0fd40d2..c0d039f 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,8 @@ more. hero / quick-tile / section cards. - **Asset-free feature windows** — the two feature panels (Revival Inc. / RustyWolf) are hand-built CSS mock windows instead of screenshots: a little necromancy game scene with a - blinking "PRESS START", and a little browser window with a tab strip, toolbar and start page. + blinking "PRESS START", and a little browser window with tabs in the title bar, a toolbar + and a start page. - **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. @@ -76,7 +77,7 @@ more. - **Fonts:** the web theme uses the system sans stack; Monocraft (self-hosted in `public/`) is used by the desktop theme's SMP menu and the in-desktop terminal. - **Images:** `next/image` -- **Version:** `2.2.10` (see `package.json`) +- **Version:** `2.2.11` (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**, diff --git a/agents.md b/agents.md index 4f5644d..77848d6 100644 --- a/agents.md +++ b/agents.md @@ -34,7 +34,7 @@ When in doubt, prefer updating. A stale README **or** agents.md is treated as a ## Bump the version on EVERY prompt — also do this every time Another standing requirement: increment the **patch** version (`x.x.+1`, so -`2.2.9` → `2.2.10` → …) as part of every task, even the small ones. Keep all of +`2.2.10` → `2.2.11` → …) as part of every task, even the small ones. Keep all of these in sync: - `package.json` → `"version"` @@ -56,7 +56,7 @@ frosted-glass **web** site, and an alternate KDE/Plasma **desktop simulation** utilities in the components (Tailwind is present via PostCSS but the look is hand-written CSS). - Path alias: `@/*` → `src/*`. -- Version: `2.2.10` (see `package.json`). +- Version: `2.2.11` (see `package.json`). ### Scripts ```bash @@ -162,8 +162,8 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark), to equal height and share a fixed `16 / 10` `.fw` window (the `FeatureWindow` component) — a decorative, **asset-free CSS mock-up** rather than a screenshot: Revival Inc. is a little necromancy game scene (night sky, moon, tombstones, - blinking "PRESS START") and RustyWolf is a little browser window (tab strip, - toolbar, address bar, start page). Both are `aria-hidden` and purely + blinking "PRESS START") and RustyWolf is a little browser window (tabs in the + title bar, toolbar, address bar, start page). Both are `aria-hidden` and purely presentational; the real copy stays in the `.web-feature-text` paragraph below. The old raster feature shots (`.web-shot` + `next/image`) were removed from the web theme only — `revivalinc.webp` / `RustyWolfPreview.webp` are still used by diff --git a/package-lock.json b/package-lock.json index 8155748..1d56d9b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dvorakmortonxd", - "version": "2.2.10", + "version": "2.2.11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dvorakmortonxd", - "version": "2.2.10", + "version": "2.2.11", "dependencies": { "next": "^16.3.8", "react": "^19.3.0", diff --git a/package.json b/package.json index ccb998a..8788834 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dvorakmortonxd", - "version": "2.2.10", + "version": "2.2.11", "private": true, "scripts": { "dev": "node scripts/dev-server.mjs", diff --git a/src/app/components/FeatureWindow.tsx b/src/app/components/FeatureWindow.tsx index f8ae684..9d9c2b0 100644 --- a/src/app/components/FeatureWindow.tsx +++ b/src/app/components/FeatureWindow.tsx @@ -9,16 +9,24 @@ import type { ReactNode } from "react"; * copy lives in the `.web-feature-text` paragraph below each window. */ -function Chrome({ title, children }: { title: string; children: ReactNode }) { +function Chrome({ + title, + tabs, + children, +}: { + title?: string; + tabs?: ReactNode; + children: ReactNode; +}) { return (