bump to 2.2.5; friends: emoji avatars + always-2-column grid

This commit is contained in:
Martin Dvořák 2026-10-01 06:54:40 +00:00
commit 2fbfd6d096
9 changed files with 73 additions and 37 deletions

View file

@ -31,6 +31,19 @@ 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.5` → `2.2.6` → …) as part of every task, even the small ones. Keep all of
these in sync:
- `package.json` → `"version"`
- `package-lock.json` → the root `"version"` **and** `packages[""].version`
- the `vX.Y.Z` label in `WebLayout.tsx`'s `.web-footer-label`
- the version line in `README.md` and in this file
---
## What this project is
Personal portfolio site for **dvorakmortonxd.dev**. It's not a normal website —
@ -43,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.4` (see `package.json`).
- Version: `2.2.5` (see `package.json`).
### Scripts
```bash
@ -129,10 +142,13 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark),
section nav, light/dark switch, desktop switch, contact/clock) beside a single
content column of `.glass` panels: hero (with a compact "Find me" socials row),
a `.web-quick` 2-up ("Right now" + "Gym PRs"), then services, activity,
projects, hardware, features (Revival/RustyWolf) and friends. Friend cards are
**text-only** (name + domain) in a `.friends-grid` that collapses to a 2×2
grid on phones; the desktop friend icons use a 🧙 emoji glyph (the old
per-friend SVGs are gone). Projects/hardware use a CSS multi-column
projects, hardware, features (Revival/RustyWolf) and friends. Friend cards show
a big `friend.emoji` glyph (sized ~the name + domain combined) beside the name +
domain; the `.friends-grid` is **always exactly 2 columns** so it stays a clean
rectangle/square and never ends in an orphan "L" row (a 4th friend made the old
3-column grid do that). The same `friend.emoji` drives the desktop friend icon
(Josef is 🧌 goblin, the rest 🧙 — the old per-friend SVGs are gone).
Projects/hardware use a CSS multi-column
**masonry** gallery (`.project-grid`) so short cards don't leave half-empty
grid slots; on phones it drops to 2 columns with a shorter card image. The two feature panels (`.web-split`) stretch
to equal height and share a fixed `16 / 10` `.web-shot` frame with
@ -393,8 +409,9 @@ knows about icon ids, via `APP_BY_ID`.
two differ. `bukovinafilip.com`, `vlcak.me` and `k0t4tkos-portfolio.com` send
no framing headers, so they frame the live site. `skopec.dev` sends
`X-Frame-Options: SAMEORIGIN` on every path, so `friend.proxy` routes it
through `/api/frame`. Friend icons are a 🧙 emoji everywhere (no per-friend
images); the web theme's friends section is text-only.
through `/api/frame`. Friend icons come from the `friend.emoji` field (no
per-friend images) and are used both in the web friends section and on the
desktop.
- `/api/frame` is a **host-allowlisted** header-stripping proxy for sites that
refuse framing. It fetches the HTML server-side (so the upstream
`X-Frame-Options` never reaches the browser), injects `<base href="origin/">`