From 045e9ea4861f33e3e82e31f978ac297c7f7824f6 Mon Sep 17 00:00:00 2001 From: Luca <102960244+Luca-Timo@users.noreply.github.com> Date: Mon, 4 May 2026 15:46:41 +0200 Subject: [PATCH] fix(gallery): default controls to inline for every layout --- frontend/src/components/gallery/GalleryView.tsx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/gallery/GalleryView.tsx b/frontend/src/components/gallery/GalleryView.tsx index f0264389..2ca14e66 100644 --- a/frontend/src/components/gallery/GalleryView.tsx +++ b/frontend/src/components/gallery/GalleryView.tsx @@ -606,15 +606,14 @@ export const GalleryView: React.FC = ({ slug, event }) => { ); } - // Determine controls style (sidebar vs classic inline filter bar) - // If controlsStyle is explicitly set in theme, use that - // Otherwise: use sidebar for non-grid layouts OR hero headers (prevents filter bar above hero) + // Determine controls style (sidebar vs classic inline filter bar). + // Decoupled from layout — only an explicit controlsStyle === 'sidebar' on + // the theme renders the sidebar. Default (unset or 'classic') is the inline + // filter bar for every layout, so the gallery header/filters look identical + // regardless of whether the photos render as grid, masonry, carousel, etc. const headerStyle = data?.event?.header_style || theme.headerStyle || 'standard'; const isHeroHeader = headerStyle === 'hero'; - const controlsStyle = theme.controlsStyle; - const showSidebar = controlsStyle - ? controlsStyle === 'sidebar' - : (theme.galleryLayout !== 'grid' || isHeroHeader); + const showSidebar = theme.controlsStyle === 'sidebar'; // Full-page layouts (gallery-premium, gallery-story) have their own integrated UI // Skip all wrapper elements (header, footer, sidebar, filters) for these layouts