new look test7 #deploy

This commit is contained in:
martin 2026-01-20 17:49:57 +01:00
parent 2053840ea0
commit d19743ba01
2 changed files with 21 additions and 4 deletions

View File

@ -4,13 +4,14 @@ import { Input } from '@/components/ui/input';
import { Textarea } from '@/components/ui/textarea';
import { Label } from '@/components/ui/label';
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '@/components/ui/dialog';
import { CalendarDays, Megaphone, Users } from 'lucide-react';
import { CalendarCheck2, CalendarDays, Megaphone, Users } from 'lucide-react';
import { createEvent, fetchEventById, updateEvent, getEventInfoFromUrl, generateCollabLink, updateArtistCollabDataByOp } from '@/features/event/api/eventService';
import { useApiFetch } from '@/utils/apiFetch';
import { useIsMobile } from '@/hooks/use-mobile';
import EventStammdatenSection from '@/features/event/components/EventStammdatenSection';
import PromotionTemplatesSection from '@/features/event/components/PromotionTemplatesSection';
import ArtistsSection from '@/features/event/components/ArtistsSection';
import ScheduleSection from '@/features/event/components/ScheduleSection';
interface EventFormInlineProps {
onSuccess: () => void;
@ -61,7 +62,7 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
const [promotionOffsetDays, setPromotionOffsetDays] = useState<string>('2');
const [generatingLinkIndex, setGeneratingLinkIndex] = useState<number | null>(null);
const isMobile = useIsMobile();
const [activeTab, setActiveTab] = useState<'stammdaten' | 'promotion' | 'artists'>('stammdaten');
const [activeTab, setActiveTab] = useState<'stammdaten' | 'promotion' | 'artists' | 'schedule'>('stammdaten');
const navExpanded = !isMobile;
useEffect(() => {
@ -484,7 +485,7 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
label,
Icon,
}: {
tab: 'stammdaten' | 'promotion' | 'artists';
tab: 'stammdaten' | 'promotion' | 'artists' | 'schedule';
label: string;
Icon: React.ComponentType<{ className?: string }>;
}) => {
@ -527,7 +528,7 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
label,
Icon,
}: {
tab: 'stammdaten' | 'promotion' | 'artists';
tab: 'stammdaten' | 'promotion' | 'artists' | 'schedule';
label: string;
Icon: React.ComponentType<{ className?: string }>;
}) => {
@ -575,6 +576,7 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
<MobileTabButton tab="stammdaten" label="Stammdaten" Icon={CalendarDays} />
<MobileTabButton tab="promotion" label="Promotion" Icon={Megaphone} />
<MobileTabButton tab="artists" label="Künstler" Icon={Users} />
<MobileTabButton tab="schedule" label="Zeitplan" Icon={CalendarCheck2} />
</div>
</div>
</div>
@ -601,6 +603,7 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
<NavItemButton tab="stammdaten" label="Stammdaten" Icon={CalendarDays} />
<NavItemButton tab="promotion" label="Promotion" Icon={Megaphone} />
<NavItemButton tab="artists" label="Künstler" Icon={Users} />
<NavItemButton tab="schedule" label="Zeitplan" Icon={CalendarCheck2} />
</div>
</div>
</aside>
@ -665,6 +668,8 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
}}
/>
)}
{activeTab === 'schedule' && <ScheduleSection />}
</div>
</div>

View File

@ -0,0 +1,12 @@
import React from 'react';
const ScheduleSection: React.FC = () => {
return (
<div className="space-y-4">
<div className="text-sm font-medium">Zeitplan</div>
<div className="text-sm text-muted-foreground">Hier kommt später alles rund um Scheduling / Zeitplan rein.</div>
</div>
);
};
export default ScheduleSection;