bvandeusen
9ab5d709c8
fix(test): DownloadEventRow row shows platform, not artist name
...
The row template renders status + platform (PlatformChip) + time + counts;
the artist isn't displayed there. Assert on 'Completed'/'Patreon' instead.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 13:16:33 -04:00
bvandeusen
44410db492
test(I2): vitest component smoke tests for high-risk UI
...
Adds @vue/test-utils + happy-dom and mounts CredentialCard, DownloadEventRow,
PostCard, ActiveDownloadsPanel, QueueStatusBar, asserting they render without
throwing and surface key content — catching the dead-binding / render-error
class (e.g. the last_verified_at regression, guarded explicitly). Vuetify
components are left unresolved (Vue renders unknown elements + slots), so no
Vuetify-plugin setup is needed; only RouterLink is stubbed. Per-file
happy-dom env via docblock keeps the existing node-env specs untouched.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 12:34:58 -04:00
bvandeusen
397c21c88e
feat(fc3c): downloads Pinia store + sources.checkNow action + vitests
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 20:45:45 -04:00
bvandeusen
408971a798
fix(fc3b): SourceFormDialog + SubscriptionsView read platforms store; drop sources.loadPlatforms
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 18:39:44 -04:00
bvandeusen
e83747b085
feat(fc3b): platforms + credentials Pinia stores + vitests
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 18:37:45 -04:00
bvandeusen
ded5e5f642
feat(fc3a): sources Pinia store + vitest
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 12:56:22 -04:00
bvandeusen
cba662a900
feat(attachments): downloadable attachments in ProvenancePanel + PostInfoHeader
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 11:17:14 -04:00
bvandeusen
b33253429a
feat(provenance): gallery store post_id filter (mutually exclusive with tag_id)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 20:16:09 -04:00
bvandeusen
7bfd700671
feat(provenance): provenance store (cached image/post lookups)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 20:15:42 -04:00
bvandeusen
63a7cbdde4
feat(provenance): locale-independent formatPostDate util
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 20:15:23 -04:00
bvandeusen
4fb176faf6
feat(reader): seriesReader store + pure scroll/progress/clamp helpers
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 16:29:57 -04:00
bvandeusen
f52c31367a
feat(reader): immersive series-read route + route-aware AppShell (suppress TopNav)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 16:29:21 -04:00
bvandeusen
9e96525234
fix(test): seriesManage reorder spec must not JSON.parse the bodyless GET refresh
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 12:21:15 -04:00
bvandeusen
b19aff198e
feat(series): seriesManage Pinia store + pure moveItem reorder helper
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 23:36:44 -04:00
bvandeusen
349d8e50ef
feat(bulk): gallerySelection Pinia store with order, mode, bulk actions
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 18:03:54 -04:00
bvandeusen
1d1574e586
feat(frontend): tagDirectory rename and merge store actions
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 13:41:20 -04:00
bvandeusen
5faa19234d
fix(fc2c-i): assert / redirect via navigation, not resolve()
2026-05-15 21:29:52 -04:00
bvandeusen
798d1a7fbc
feat(fc2c-i): front-door redirect, /gallery move, discovery routes
2026-05-15 21:11:06 -04:00
bvandeusen
61f9401fde
feat(fc2c-i): usePolyMasonry shortest-column distribution
2026-05-15 21:10:21 -04:00