mobile test3

#deploy
This commit is contained in:
martin 2026-01-20 19:19:40 +01:00
parent 7c21286960
commit 543f6de552
3 changed files with 19 additions and 6 deletions

View File

@ -1,7 +1,7 @@
import React, { createContext, useCallback, useContext, useMemo, useState } from 'react'; import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';
type HeaderState = { type HeaderState = {
title: string | null; title: React.ReactNode | null;
left: React.ReactNode | null; left: React.ReactNode | null;
mobileMenu: React.ReactNode | null; mobileMenu: React.ReactNode | null;
}; };

View File

@ -580,9 +580,6 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
) : ( ) : (
<> <>
<div className="flex items-center justify-between gap-2"> <div className="flex items-center justify-between gap-2">
<div className="text-sm font-medium">
{mode === 'edit' ? 'Event bearbeiten' : 'Event erstellen'}
</div>
<div className="text-xs text-muted-foreground">{loadingInitial ? 'Lade…' : ''}</div> <div className="text-xs text-muted-foreground">{loadingInitial ? 'Lade…' : ''}</div>
</div> </div>
{error && <div className="text-sm text-destructive pt-1">{error}</div>} {error && <div className="text-sm text-destructive pt-1">{error}</div>}

View File

@ -21,6 +21,11 @@ const EventWizard: React.FC<EventWizardProps> = ({ onComplete, onBackToOverview,
const [activeEventId, setActiveEventId] = useState<string | number | null>(null); const [activeEventId, setActiveEventId] = useState<string | number | null>(null);
const { setHeader, resetHeader } = useHeader(); const { setHeader, resetHeader } = useHeader();
const activeEvent = useMemo(() => {
if (!activeEventId) return null;
return events.find((e) => String(e.id) === String(activeEventId)) || null;
}, [activeEventId, events]);
const canGoTimeline = showForm; const canGoTimeline = showForm;
const handleBackToTimeline = () => { const handleBackToTimeline = () => {
setShowForm(false); setShowForm(false);
@ -32,7 +37,18 @@ const EventWizard: React.FC<EventWizardProps> = ({ onComplete, onBackToOverview,
}, [onReload]); }, [onReload]);
useEffect(() => { useEffect(() => {
const title = showForm ? (activeEventId ? 'Event bearbeiten' : 'Event erstellen') : 'Veranstaltungen'; const eventName = (activeEvent as any)?.title || (activeEvent as any)?.name || null;
const title = showForm
? activeEventId
? (
<div className="flex flex-col items-center leading-tight">
<div>Event bearbeiten</div>
{eventName ? <div className="text-xs text-muted-foreground font-normal">{eventName}</div> : null}
</div>
)
: 'Event erstellen'
: 'Veranstaltungen';
setHeader({ setHeader({
title, title,
@ -73,7 +89,7 @@ const EventWizard: React.FC<EventWizardProps> = ({ onComplete, onBackToOverview,
return () => { return () => {
resetHeader(); resetHeader();
}; };
}, [activeEventId, onBackToOverview, resetHeader, setHeader, showForm]); }, [activeEvent, activeEventId, onBackToOverview, resetHeader, setHeader, showForm]);
const sortedEvents = useMemo(() => { const sortedEvents = useMemo(() => {
if (!events.length) return [] as Event[]; if (!events.length) return [] as Event[];