Polish upload review success actions
This commit is contained in:
@@ -288,6 +288,10 @@ const [submitToLive, setSubmitToLive] = useState(true);
|
|||||||
if (!eventKey) return '/tasks';
|
if (!eventKey) return '/tasks';
|
||||||
return `/e/${encodeURIComponent(eventKey)}/tasks`;
|
return `/e/${encodeURIComponent(eventKey)}/tasks`;
|
||||||
}, [eventKey]);
|
}, [eventKey]);
|
||||||
|
const galleryUrl = useMemo(() => {
|
||||||
|
if (!eventKey) return '/gallery';
|
||||||
|
return `/e/${encodeURIComponent(eventKey)}/gallery`;
|
||||||
|
}, [eventKey]);
|
||||||
const demoGalleryUrl = useMemo(() => {
|
const demoGalleryUrl = useMemo(() => {
|
||||||
if (!eventKey) return '/gallery';
|
if (!eventKey) return '/gallery';
|
||||||
return `/e/${encodeURIComponent(eventKey)}/gallery`;
|
return `/e/${encodeURIComponent(eventKey)}/gallery`;
|
||||||
@@ -1491,6 +1495,21 @@ const renderWithDialog = (content: ReactNode, wrapperClassName = 'space-y-6 pb-[
|
|||||||
: t('upload.liveShow.reviewed', 'Wird nach Freigabe für die Live-Show angezeigt.')}
|
: t('upload.liveShow.reviewed', 'Wird nach Freigabe für die Live-Show angezeigt.')}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="flex items-center gap-3 rounded-2xl border border-white/15 bg-white/10 p-3 text-xs text-white/80 shadow-lg backdrop-blur">
|
||||||
|
<img
|
||||||
|
src={reviewPhoto.dataUrl}
|
||||||
|
alt={t('upload.review.lastShotAlt', 'Letzte Aufnahme')}
|
||||||
|
className="h-12 w-12 shrink-0 rounded-xl object-cover shadow-md"
|
||||||
|
/>
|
||||||
|
<div className="space-y-1">
|
||||||
|
<p className="text-sm font-semibold text-white">
|
||||||
|
{t('upload.review.lastShotTitle', 'Letzter Shot')}
|
||||||
|
</p>
|
||||||
|
<p className="text-[11px] text-white/70">
|
||||||
|
{t('upload.review.lastShotHint', 'Nicht perfekt? Tippe auf das rote X zum Wiederholen.')}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div className="grid grid-cols-[1fr_auto] items-stretch gap-3">
|
<div className="grid grid-cols-[1fr_auto] items-stretch gap-3">
|
||||||
<Button
|
<Button
|
||||||
className="flex h-16 items-center justify-center gap-2 rounded-2xl border border-emerald-200/60 bg-emerald-500/90 text-base font-semibold text-white shadow-lg shadow-emerald-900/20 transition hover:bg-emerald-500"
|
className="flex h-16 items-center justify-center gap-2 rounded-2xl border border-emerald-200/60 bg-emerald-500/90 text-base font-semibold text-white shadow-lg shadow-emerald-900/20 transition hover:bg-emerald-500"
|
||||||
@@ -1509,6 +1528,13 @@ const renderWithDialog = (content: ReactNode, wrapperClassName = 'space-y-6 pb-[
|
|||||||
<span className="sr-only">{t('upload.review.retake')}</span>
|
<span className="sr-only">{t('upload.review.retake')}</span>
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
className="flex h-12 items-center justify-center gap-2 rounded-2xl border border-white/20 bg-white/10 text-sm font-semibold text-white/90 shadow-lg shadow-black/20 backdrop-blur transition hover:bg-white/20"
|
||||||
|
onClick={() => navigate(galleryUrl)}
|
||||||
|
>
|
||||||
|
<span>{t('home.actions.items.gallery.label', 'Galerie ansehen')}</span>
|
||||||
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className={actionDockClass}>
|
<div className={actionDockClass}>
|
||||||
|
|||||||
Reference in New Issue
Block a user