From 90686e6deb2276768c3b1e00d01d8ef632b7d4e2 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Thu, 14 May 2026 12:36:25 -0400 Subject: [PATCH] =?UTF-8?q?chore(fc2a):=20polish=20pass=20=E2=80=94=20toas?= =?UTF-8?q?ts,=20loading=20skeletons,=20focus=20guards,=20mobile=20breakpo?= =?UTF-8?q?ints?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AppSnackbar mounts once at the app root and exposes a window.__fcToast function the stores call from error paths. This avoids prop-drilling a toast emitter through every component while keeping the snackbar component itself testable in isolation. GalleryGrid renders shimmer-skeleton placeholders on initial load so the first paint isn't empty. Skeleton uses the same auto-fill grid columns as the real items so layout doesn't shift when content arrives. Modal arrow nav now ignores text-entry elements so typing in the tag autocomplete doesn't navigate prev/next. Small-screen breakpoint (<600px) tightens gallery thumbnails to 120px min. Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/App.vue | 10 ++++++ frontend/src/components/AppSnackbar.vue | 26 +++++++++++++++ .../src/components/gallery/GalleryGrid.vue | 32 +++++++++++++++++++ frontend/src/components/modal/ImageViewer.vue | 20 ++++++++++-- frontend/src/stores/import.js | 2 ++ frontend/src/stores/modal.js | 1 + 6 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 frontend/src/components/AppSnackbar.vue diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 4c51eaf..a4b0086 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -3,9 +3,19 @@ + diff --git a/frontend/src/components/AppSnackbar.vue b/frontend/src/components/AppSnackbar.vue new file mode 100644 index 0000000..cf45f16 --- /dev/null +++ b/frontend/src/components/AppSnackbar.vue @@ -0,0 +1,26 @@ + + + diff --git a/frontend/src/components/gallery/GalleryGrid.vue b/frontend/src/components/gallery/GalleryGrid.vue index ea9c1f3..111cf61 100644 --- a/frontend/src/components/gallery/GalleryGrid.vue +++ b/frontend/src/components/gallery/GalleryGrid.vue @@ -1,5 +1,8 @@