diff --git a/frontend/src/pages/ClientAccessPage.tsx b/frontend/src/pages/ClientAccessPage.tsx index 4048eee2..f27e0530 100644 --- a/frontend/src/pages/ClientAccessPage.tsx +++ b/frontend/src/pages/ClientAccessPage.tsx @@ -7,6 +7,7 @@ import { Card, CardContent, Input, Button, Loading } from '../components/common' import { useGalleryAuth } from '../contexts'; import { useGalleryInfo } from '../hooks/useGallery'; import { usePublicSettings } from '../hooks/usePublicSettings'; +import { usePublicDarkMode } from '../hooks/usePublicDarkMode'; import { buildResourceUrl } from '../utils/url'; export const ClientAccessPage: React.FC = () => { @@ -22,6 +23,13 @@ export const ClientAccessPage: React.FC = () => { const { data: galleryInfo, isLoading: isLoadingInfo, error: infoError } = useGalleryInfo(slug); const { data: settingsData } = usePublicSettings(); + // Theme-aware logo: the page background follows the themed + // --color-background (dark when branding_force_color_mode / OS is dark), + // so pick the dark logo variant accordingly. + const { isDark } = usePublicDarkMode(); + const lightLogo = settingsData?.branding_logo_url?.trim(); + const darkLogo = settingsData?.branding_logo_url_dark?.trim(); + const brandLogo = isDark ? (darkLogo || lightLogo) : (lightLogo || darkLogo); // If already authenticated as client, redirect to gallery React.useEffect(() => { @@ -76,10 +84,10 @@ export const ClientAccessPage: React.FC = () => { return (