new look test7 #deploy
This commit is contained in:
parent
2053840ea0
commit
d19743ba01
@ -4,13 +4,14 @@ import { Input } from '@/components/ui/input';
|
|||||||
import { Textarea } from '@/components/ui/textarea';
|
import { Textarea } from '@/components/ui/textarea';
|
||||||
import { Label } from '@/components/ui/label';
|
import { Label } from '@/components/ui/label';
|
||||||
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '@/components/ui/dialog';
|
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 { createEvent, fetchEventById, updateEvent, getEventInfoFromUrl, generateCollabLink, updateArtistCollabDataByOp } from '@/features/event/api/eventService';
|
||||||
import { useApiFetch } from '@/utils/apiFetch';
|
import { useApiFetch } from '@/utils/apiFetch';
|
||||||
import { useIsMobile } from '@/hooks/use-mobile';
|
import { useIsMobile } from '@/hooks/use-mobile';
|
||||||
import EventStammdatenSection from '@/features/event/components/EventStammdatenSection';
|
import EventStammdatenSection from '@/features/event/components/EventStammdatenSection';
|
||||||
import PromotionTemplatesSection from '@/features/event/components/PromotionTemplatesSection';
|
import PromotionTemplatesSection from '@/features/event/components/PromotionTemplatesSection';
|
||||||
import ArtistsSection from '@/features/event/components/ArtistsSection';
|
import ArtistsSection from '@/features/event/components/ArtistsSection';
|
||||||
|
import ScheduleSection from '@/features/event/components/ScheduleSection';
|
||||||
|
|
||||||
interface EventFormInlineProps {
|
interface EventFormInlineProps {
|
||||||
onSuccess: () => void;
|
onSuccess: () => void;
|
||||||
@ -61,7 +62,7 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
|
|||||||
const [promotionOffsetDays, setPromotionOffsetDays] = useState<string>('2');
|
const [promotionOffsetDays, setPromotionOffsetDays] = useState<string>('2');
|
||||||
const [generatingLinkIndex, setGeneratingLinkIndex] = useState<number | null>(null);
|
const [generatingLinkIndex, setGeneratingLinkIndex] = useState<number | null>(null);
|
||||||
const isMobile = useIsMobile();
|
const isMobile = useIsMobile();
|
||||||
const [activeTab, setActiveTab] = useState<'stammdaten' | 'promotion' | 'artists'>('stammdaten');
|
const [activeTab, setActiveTab] = useState<'stammdaten' | 'promotion' | 'artists' | 'schedule'>('stammdaten');
|
||||||
const navExpanded = !isMobile;
|
const navExpanded = !isMobile;
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -484,7 +485,7 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
|
|||||||
label,
|
label,
|
||||||
Icon,
|
Icon,
|
||||||
}: {
|
}: {
|
||||||
tab: 'stammdaten' | 'promotion' | 'artists';
|
tab: 'stammdaten' | 'promotion' | 'artists' | 'schedule';
|
||||||
label: string;
|
label: string;
|
||||||
Icon: React.ComponentType<{ className?: string }>;
|
Icon: React.ComponentType<{ className?: string }>;
|
||||||
}) => {
|
}) => {
|
||||||
@ -527,7 +528,7 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
|
|||||||
label,
|
label,
|
||||||
Icon,
|
Icon,
|
||||||
}: {
|
}: {
|
||||||
tab: 'stammdaten' | 'promotion' | 'artists';
|
tab: 'stammdaten' | 'promotion' | 'artists' | 'schedule';
|
||||||
label: string;
|
label: string;
|
||||||
Icon: React.ComponentType<{ className?: 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="stammdaten" label="Stammdaten" Icon={CalendarDays} />
|
||||||
<MobileTabButton tab="promotion" label="Promotion" Icon={Megaphone} />
|
<MobileTabButton tab="promotion" label="Promotion" Icon={Megaphone} />
|
||||||
<MobileTabButton tab="artists" label="Künstler" Icon={Users} />
|
<MobileTabButton tab="artists" label="Künstler" Icon={Users} />
|
||||||
|
<MobileTabButton tab="schedule" label="Zeitplan" Icon={CalendarCheck2} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -601,6 +603,7 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
|
|||||||
<NavItemButton tab="stammdaten" label="Stammdaten" Icon={CalendarDays} />
|
<NavItemButton tab="stammdaten" label="Stammdaten" Icon={CalendarDays} />
|
||||||
<NavItemButton tab="promotion" label="Promotion" Icon={Megaphone} />
|
<NavItemButton tab="promotion" label="Promotion" Icon={Megaphone} />
|
||||||
<NavItemButton tab="artists" label="Künstler" Icon={Users} />
|
<NavItemButton tab="artists" label="Künstler" Icon={Users} />
|
||||||
|
<NavItemButton tab="schedule" label="Zeitplan" Icon={CalendarCheck2} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
@ -665,6 +668,8 @@ const EventFormInline: React.FC<EventFormInlineProps> = ({ onSuccess, onCancel,
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{activeTab === 'schedule' && <ScheduleSection />}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
12
src/features/event/components/ScheduleSection.tsx
Normal file
12
src/features/event/components/ScheduleSection.tsx
Normal 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;
|
||||||
Loading…
x
Reference in New Issue
Block a user