From 9726d6f4b56df5e24dd16e98a79709a958e9f90b Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Mon, 6 Jul 2026 23:39:02 -0400 Subject: [PATCH] =?UTF-8?q?feat(ui):=20hidden-view=20review=20strip=20?= =?UTF-8?q?=E2=80=94=20flagged=20auto-hides=20with=20keep=20/=20un-hide=20?= =?UTF-8?q?(#141=20step=205)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When "Show hidden" is on, a review strip appears atop the gallery listing the auto-hidden chrome flagged "also looks like content" (most-concerning first): thumbnail + "also looks like " + Keep hidden / Un-hide. Un-hide removes the presentation tag (image returns to the gallery) and trains the head; Keep resolves the flag. Self-hides when there's nothing to review; theme-token styled. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01CDgx8bQS5YrGRK76v8HUnM --- .../components/gallery/HiddenReviewStrip.vue | 151 ++++++++++++++++++ frontend/src/views/GalleryView.vue | 2 + 2 files changed, 153 insertions(+) create mode 100644 frontend/src/components/gallery/HiddenReviewStrip.vue diff --git a/frontend/src/components/gallery/HiddenReviewStrip.vue b/frontend/src/components/gallery/HiddenReviewStrip.vue new file mode 100644 index 0000000..7c25e28 --- /dev/null +++ b/frontend/src/components/gallery/HiddenReviewStrip.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/frontend/src/views/GalleryView.vue b/frontend/src/views/GalleryView.vue index 0358a77..be35891 100644 --- a/frontend/src/views/GalleryView.vue +++ b/frontend/src/views/GalleryView.vue @@ -13,6 +13,7 @@ @@ -33,6 +34,7 @@ import { useGalleryStore } from '../stores/gallery.js' import { useModalStore } from '../stores/modal.js' import GalleryGrid from '../components/gallery/GalleryGrid.vue' import GalleryFilterBar from '../components/gallery/GalleryFilterBar.vue' +import HiddenReviewStrip from '../components/gallery/HiddenReviewStrip.vue' import TimelineSidebar from '../components/gallery/TimelineSidebar.vue' import EmptyState from '../components/gallery/EmptyState.vue' import PostInfoHeader from '../components/gallery/PostInfoHeader.vue'