diff --git a/resources/js/guest/pages/UploadPage.tsx b/resources/js/guest/pages/UploadPage.tsx index ca5c87e..c893c07 100644 --- a/resources/js/guest/pages/UploadPage.tsx +++ b/resources/js/guest/pages/UploadPage.tsx @@ -150,6 +150,7 @@ const [uploadError, setUploadError] = useState(null); const [uploadWarning, setUploadWarning] = useState(null); const [immersiveMode, setImmersiveMode] = useState(true); const [showCelebration, setShowCelebration] = useState(false); +const [showHeroOverlay, setShowHeroOverlay] = useState(true); const [errorDialog, setErrorDialog] = useState(null); const [taskDetailsExpanded, setTaskDetailsExpanded] = useState(false); @@ -817,7 +818,16 @@ const [canUpload, setCanUpload] = useState(true); setTaskDetailsExpanded(false); }, [task?.id]); + useEffect(() => { + if (task) { + setShowHeroOverlay(false); + } else { + setShowHeroOverlay(true); + } + }, [task]); + const handlePrimaryAction = useCallback(() => { + setShowHeroOverlay(false); if (!isCameraActive) { startCamera(); return; @@ -872,6 +882,42 @@ const [canUpload, setCanUpload] = useState(true); ) : null; + const heroOverlay = !task && showHeroOverlay && mode !== 'uploading' ? ( +
+
+
+

Bereit für dein Foto?

+

Teile den Moment mit allen Gästen.

+

Zieh dir eine Mission oder starte direkt mit der Kamera.

+
+ + Live + +
+
+ + + + + Mini-Mission: Fang ein Lachen ein + +
+
+ ) : null; + const dialogToneIconClass: Record, string> = { danger: 'text-rose-500', warning: 'text-amber-500', @@ -1025,6 +1071,7 @@ const renderWithDialog = (content: ReactNode, wrapperClassName = 'space-y-6 pb-[ <>
{taskFloatingCard} + {heroOverlay}