From d8fb4c9565db8f90157e2a33ef666f78fa4a7b83 Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 9 Jul 2025 09:53:24 +0200 Subject: [PATCH] Make gallery page fully mobile responsive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GalleryLayout improvements: - Stack header elements vertically on mobile - Hide company branding on small screens - Make dates stack vertically - Responsive text sizes and padding - Icon-only logout button on mobile - Improved button layout with proper wrapping PhotoFilterBar improvements: - Stack search and sort vertically on mobile - Full-width sort button on mobile - Horizontally scrollable category filters - Responsive text sizes - Mobile-friendly dropdown positioning PhotoGrid improvements: - Responsive selection controls - Touch-friendly photo overlays - Larger selection checkboxes on mobile - Improved button text for small screens - Responsive gaps between photos Gallery grid CSS: - Smaller gaps on mobile devices - Maintains 2 columns on smallest screens GalleryPage login: - Responsive padding and margins - Smaller text and icon sizes on mobile - Better card spacing - Responsive form elements UserPhotoUpload modal: - Full-screen modal on mobile (slides up from bottom) - Responsive padding and text sizes - Mobile-optimized upload area - Sticky footer on mobile 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../src/components/gallery/GalleryLayout.tsx | 50 +++++++------- .../src/components/gallery/GalleryView.tsx | 5 +- .../src/components/gallery/PhotoFilterBar.tsx | 65 +++++++++++-------- frontend/src/components/gallery/PhotoGrid.tsx | 56 +++++++++------- .../components/gallery/UserPhotoUpload.tsx | 22 ++++--- frontend/src/index.css | 4 +- frontend/src/pages/GalleryPage.tsx | 37 ++++++----- 7 files changed, 131 insertions(+), 108 deletions(-) diff --git a/frontend/src/components/gallery/GalleryLayout.tsx b/frontend/src/components/gallery/GalleryLayout.tsx index 873273c..5f06b70 100644 --- a/frontend/src/components/gallery/GalleryLayout.tsx +++ b/frontend/src/components/gallery/GalleryLayout.tsx @@ -51,42 +51,42 @@ export const GalleryLayout: React.FC = ({ {/* Header */}
-
-
-
+
+
+
{/* Company logo */} {brandingSettings?.logo_url && ( -
+
{brandingSettings.company_name
)} {/* Company branding */} {!brandingSettings?.logo_url && brandingSettings?.company_name && ( -
-

{brandingSettings.company_name}

+
+

{brandingSettings.company_name}

{brandingSettings.company_tagline && ( -

{brandingSettings.company_tagline}

+

{brandingSettings.company_tagline}

)}
)} -
-

{event.event_name}

+
+

{event.event_name}

{(event.event_date || event.expires_at) && ( -
+
{event.event_date && ( - - {format(parseISO(event.event_date), 'PP')} + + {format(parseISO(event.event_date), 'PP')} )} {event.expires_at && ( - - {t('gallery.expires')} {format(parseISO(event.expires_at), 'PP')} + + {t('gallery.expires')} {format(parseISO(event.expires_at), 'PP')} )}
@@ -94,7 +94,7 @@ export const GalleryLayout: React.FC = ({
-
+
{headerExtra} {showDownloadAll && onDownloadAll && ( )} {showLogout && onLogout && ( @@ -113,8 +115,10 @@ export const GalleryLayout: React.FC = ({ size="md" leftIcon={} onClick={onLogout} + className="text-sm sm:text-base" > - {t('common.logout')} + {t('common.logout')} + )}
@@ -126,20 +130,20 @@ export const GalleryLayout: React.FC = ({
{children}
{/* Footer */} -