fix(gallery): default controls to inline for every layout
This commit is contained in:
@@ -606,15 +606,14 @@ export const GalleryView: React.FC<GalleryViewProps> = ({ slug, event }) => {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine controls style (sidebar vs classic inline filter bar)
|
// Determine controls style (sidebar vs classic inline filter bar).
|
||||||
// If controlsStyle is explicitly set in theme, use that
|
// Decoupled from layout — only an explicit controlsStyle === 'sidebar' on
|
||||||
// Otherwise: use sidebar for non-grid layouts OR hero headers (prevents filter bar above hero)
|
// 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 headerStyle = data?.event?.header_style || theme.headerStyle || 'standard';
|
||||||
const isHeroHeader = headerStyle === 'hero';
|
const isHeroHeader = headerStyle === 'hero';
|
||||||
const controlsStyle = theme.controlsStyle;
|
const showSidebar = theme.controlsStyle === 'sidebar';
|
||||||
const showSidebar = controlsStyle
|
|
||||||
? controlsStyle === 'sidebar'
|
|
||||||
: (theme.galleryLayout !== 'grid' || isHeroHeader);
|
|
||||||
|
|
||||||
// Full-page layouts (gallery-premium, gallery-story) have their own integrated UI
|
// Full-page layouts (gallery-premium, gallery-story) have their own integrated UI
|
||||||
// Skip all wrapper elements (header, footer, sidebar, filters) for these layouts
|
// Skip all wrapper elements (header, footer, sidebar, filters) for these layouts
|
||||||
|
|||||||
Reference in New Issue
Block a user