Skip to content

Commit 7d574be

Browse files
committed
feat: add /gallery page showing AI-generated images from R2
- New server/api/gallery.ts lists up to 60 most recent images from the R2 `generated/` prefix, sorted newest-first - New pages/gallery.vue displays them in a responsive square grid with lazy loading, hover overlays (date + open link), skeleton loading state, empty state, and full theme support for all three themes - Added /gallery to the menu and `[`/`]` keyboard navigation order - Also adds /activity, /stats, /playground to menu (were missing from master), and syncs NAV_PAGES to include all pages https://claude.ai/code/session_01XiBbUBvUujeeHidv1bAGF8
1 parent 8a2c474 commit 7d574be

5 files changed

Lines changed: 415 additions & 3 deletions

File tree

CLAUDE.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ pages/ — file-based routing
3030
activity.vue — /activity — unified timeline: commits + Bluesky posts + guestbook entries
3131
stats.vue — /stats — coding stats: language breakdown, top repos, commit heatmap
3232
playground.vue — /playground — AI image generation interface (uses /api/generate-image)
33+
gallery.vue — /gallery — grid of AI-generated images fetched from R2 (uses /api/gallery)
3334
drafts/ — experimental pages
3435
components/ — Vue components
3536
composables/ — useTheme
@@ -39,6 +40,7 @@ server/api/ — H3 API routes
3940
rss.xml.ts — RSS 2.0 feed of Bluesky posts, served at /api/rss.xml
4041
projects.ts — fetches phareim's public GitHub repos
4142
guestbook.ts — GET/POST guestbook entries (D1)
43+
gallery.ts — lists images from R2 `generated/` prefix, returns URLs + metadata
4244
server/utils/ — db.ts, r2.ts, storage.ts, image-providers.ts, etc.
4345
types/ — shared TypeScript interfaces
4446
assets/themes/ — scandinavian.css, hacker.css, space.css
@@ -72,6 +74,6 @@ Three themes: **Scandinavian Glass** (default), **Cyberpunk**, **Space**.
7274
## Keyboard Shortcuts
7375

7476
- `M` key toggles the global menu (disabled on admin pages)
75-
- `[` / `]` navigate to previous / next page in order: `/`, `/about`, `/projects`, `/feed`, `/now`, `/uses`, `/guestbook`, `/activity`, `/stats`, `/meta`, `/playground`
77+
- `[` / `]` navigate to previous / next page in order: `/`, `/about`, `/projects`, `/feed`, `/now`, `/uses`, `/guestbook`, `/activity`, `/stats`, `/meta`, `/playground`, `/gallery`
7678
- `1` / `2` / `3` switch themes (scandinavian / hacker / space)
7779
- `?` or `/` toggles the keyboard shortcuts overlay

app.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ const showPalette = ref(false);
2727
const router = useRouter();
2828
const route = useRoute();
2929
30-
const NAV_PAGES = ['/', '/about', '/projects', '/feed', '/now', '/uses', '/guestbook', '/activity', '/stats', '/meta', '/playground'];
30+
const NAV_PAGES = ['/', '/about', '/projects', '/feed', '/now', '/uses', '/guestbook', '/activity', '/stats', '/meta', '/playground', '/gallery'];
3131
3232
useHead({
3333
meta: [

0 commit comments

Comments
 (0)