jmartin
c4ecc934e9
Fix admin DELETE requests empty JSON body error
2026-07-24 13:40:23 -04:00
jmartin
8c8e7a4fb5
Fix VimeoEmbed TypeScript player instance types
2026-07-24 12:25:25 -04:00
jmartin
738187d1d4
Always embed Vimeo first; link out only on player error
...
Prefer on-site player.vimeo.com embeds. Use the Vimeo Player API to
detect privacy blocks and fall back to Watch on Vimeo only then.
2026-07-24 12:24:47 -04:00
jmartin
1b29b1d104
Handle Vimeo embed privacy for non-embeddable clips
...
O3r and future imports with embed_privacy=nowhere show a poster
link to Vimeo instead of a blocked iframe player.
2026-07-24 12:21:03 -04:00
jmartin
b924ca8a62
Add Vimeo video import with embeds and admin re-run
...
Import public videos from jmartgraphix as Video (and 3D Animation
when relevant), with player embeds, thumbnails, and dashboard UI.
2026-07-24 12:13:23 -04:00
jmartin
6ff7fde867
Replace header logo image with jmartgraphix text
2026-07-24 12:05:17 -04:00
jmartin
020381c3a0
Add clickable column sorting for admin tags list
2026-07-24 11:59:15 -04:00
jmartin
b1ef0d139a
Make admin tags list searchable and paginated
...
Filter by name, used/unused, show project counts, and purge unused
tags so the page stays manageable at scale.
2026-07-24 11:55:33 -04:00
jmartin
a575040217
Add edit flow for portfolio views in admin
...
Load existing views into the form to change name, slug, description,
category priority order, show-others, and active flags.
2026-07-24 11:47:46 -04:00
jmartin
ff37533037
Add Flickr photostream import as Photography
...
Import public photos from samuraijkm (NSID resolve + Flickr REST),
tag Photography, with admin UI re-run and CLI support.
2026-07-24 11:35:57 -04:00
jmartin
f29efb7924
Hard-filter /portfolio/:slug when it matches a category
...
Category chips (e.g. /portfolio/photography) now show only that
category — empty if none. Audience views like /portfolio/game-dev
still use prioritization.
2026-07-24 11:19:47 -04:00
jmartin
81e80c7e2f
Infer ArtStation categories from Blender/sculpt tools
...
Stop defaulting imports to CAD; map Blender to 3D Modeling and
sculpt tools (Nomad/ZBrush) to 3D Sculpting.
2026-07-24 11:13:11 -04:00
jmartin
36c008ac26
Fix browser tab titles on every route
...
Add usePageTitle so public and admin pages set document.title
to the current page (e.g. Portfolio · jmartgraphix).
2026-07-24 10:56:34 -04:00
jmartin
cef5738044
Add admin UI for ArtStation re-import
...
Expose import as a background admin job with status polling, dry-run
and optional publish; share logic with the CLI via a service module.
2026-07-24 10:52:11 -04:00
jmartin
ac7eb17854
Use FlareSolverr for ArtStation import behind Cloudflare
...
ArtStation blocks plain HTTP; route JSON fetches through FlareSolverr
with a direct-fetch fallback.
2026-07-24 10:44:18 -04:00
jmartin
1ce004ffd5
Remove black box behind transparent logo PNG
2026-07-24 10:38:02 -04:00
jmartin
3ccb44a729
Scale hero logo up to ~200px (responsive clamp)
2026-07-24 10:35:44 -04:00
jmartin
7cc397fd1c
Increase hero logo to 120px
2026-07-24 10:31:46 -04:00
jmartin
346b095d3a
Drop redundant jmartgraphix wordmark next to logo
...
Hero shows logo + tagline only; header is logo-only for a11y.
2026-07-24 10:28:40 -04:00
jmartin
d950092772
Add jmartgraphix logo, favicons, and social share image
...
Place brand mark in header, footer, and hero; ship PNG favicons,
apple-touch icon, PWA manifest, and 1200×630 Open Graph card.
2026-07-24 10:23:51 -04:00
jmartin
f03d448303
Authorize admin by username jmartin only
...
Drop group membership checks; trust Authelia Remote-User when it
equals the configured ADMIN_USERS list (default: jmartin).
2026-07-24 09:38:23 -04:00
jmartin
6340dc5df9
Harden admin visibility probe against Authelia LAN bypass
...
Require GET /admin and /api/v1/admin/me so anonymous internal
clients do not see the Admin link.
2026-07-24 08:59:12 -04:00
jmartin
af5bfc1b75
Show Admin nav only when GET /admin succeeds
...
Probe Authelia-protected /admin with credentials; keep the public
site free of admin links for anonymous visitors.
2026-07-24 08:48:20 -04:00
jmartin
43928f7a49
Initial portfolio CMS: Fastify API + Vite SPA
...
Single-container app with Postgres catalog, Typesense search,
Authelia Remote-User admin, portfolio views, resume/PDF, media
uploads, and ArtStation import tooling.
2026-07-23 17:01:34 -04:00