diff --git a/src/lib/api.ts b/src/lib/api.ts index 2570456..ddc0afa 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -1031,10 +1031,15 @@ export type PhotoWallUploadMeta = { export type PhotoWallPresentData = { eventId: string; eventName: string; + event?: PhotoWallPublicEvent | null; + eventHeader?: PhotoWallEventHeaderDisplay | null; photosPerRow: number; maxPhotoWidth: number; maxPhotoHeight: number; gapPx: number; + presentMarginTopPx?: number; + presentMarginLeftPx?: number; + presentMarginRightPx?: number; showUploaderNameOnWall?: boolean; frameEnabled?: boolean; frameCanvasWidth?: number; diff --git a/src/pages/PhotoWallPresentPage.tsx b/src/pages/PhotoWallPresentPage.tsx index 35405bd..e32427e 100644 --- a/src/pages/PhotoWallPresentPage.tsx +++ b/src/pages/PhotoWallPresentPage.tsx @@ -1,6 +1,7 @@ import { useCallback, useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import { getPhotoWallPresent, type PhotoWallPresentData } from "../lib/api"; +import { PhotoWallEventHeader } from "../components/PhotoWallEventHeader"; const POLL_MS = 4000; @@ -51,6 +52,9 @@ export function PhotoWallPresentPage() { const maxW = data.maxPhotoWidth || 320; const maxH = data.maxPhotoHeight || 320; const gap = data.gapPx ?? 8; + const marginTop = Math.max(0, data.presentMarginTopPx ?? 0); + const marginLeft = Math.max(0, data.presentMarginLeftPx ?? 0); + const marginRight = Math.max(0, data.presentMarginRightPx ?? 0); const showNames = Boolean(data.showUploaderNameOnWall); const frameEnabled = Boolean(data.frameEnabled); const frameW = data.frameCanvasWidth || 1080; @@ -59,10 +63,22 @@ export function PhotoWallPresentPage() { return (
-
-

Photo Wall

-

{data.eventName}

-
+ {data.event ? ( +
+
+ +
+
+ ) : ( +
+

Photo Wall

+

{data.eventName}

+
+ )} {data.photos.length === 0 ? (
@@ -70,13 +86,16 @@ export function PhotoWallPresentPage() {
) : (
{data.photos.map((p) => ( @@ -98,7 +117,7 @@ export function PhotoWallPresentPage() { /> {showNames && p.displayName ? (

{p.displayName}