Compare commits

...

5 commits

Author SHA1 Message Date
ed6174ad34 Merge pull request 'fix/117-toaster_button_on_event_creation' (#118)
Some checks failed
docker-build / docker (push) Waiting to run
tests / Tests (push) Waiting to run
container-scan / Container Scan (push) Has been cancelled
Reviewed-on: #118
Reviewed-by: Dominik <mail@dominikstahl.dev>
2025-06-30 10:17:15 +00:00
fdc556afc0 fix: update selectable condition in CalendarWithUserEvents to remove additionalEvents check
All checks were successful
container-scan / Container Scan (pull_request) Successful in 2m29s
docker-build / docker (pull_request) Successful in 3m18s
tests / Tests (pull_request) Successful in 2m59s
2025-06-30 11:44:00 +02:00
4c07c0466e style: adjust height classes with h-full instat of h-screen
All checks were successful
container-scan / Container Scan (pull_request) Successful in 2m25s
docker-build / docker (pull_request) Successful in 3m26s
tests / Tests (pull_request) Successful in 2m59s
2025-06-30 11:23:47 +02:00
1c082b9eb1 style: move event-view-card to the middle of the screen
All checks were successful
container-scan / Container Scan (pull_request) Successful in 2m26s
docker-build / docker (pull_request) Successful in 3m23s
tests / Tests (pull_request) Successful in 3m6s
2025-06-30 11:16:38 +02:00
9af74e4df4 fix: define eventID for toaster button on event creation 2025-06-30 11:16:06 +02:00
5 changed files with 161 additions and 151 deletions

View file

@ -40,14 +40,12 @@ export default function ShowEvent() {
if (isLoading || userLoading) {
return (
<div className='flex justify-center items-center h-screen'>
Loading...
</div>
<div className='flex justify-center items-center h-full'>Loading...</div>
);
}
if (error || !eventData?.data?.event) {
return (
<div className='flex justify-center items-center h-screen'>
<div className='flex justify-center items-center h-full'>
Error loading event.
</div>
);
@ -70,6 +68,7 @@ export default function ShowEvent() {
};
return (
<div className='flex items-center justify-center h-full'>
<Card className='w-[80%] max-w-screen p-0 gap-0 max-xl:w-[95%] mx-auto'>
<CardHeader className='p-0 m-0 gap-0' />
@ -232,5 +231,6 @@ export default function ShowEvent() {
</div>
</CardContent>
</Card>
</div>
);
}

View file

@ -4,7 +4,7 @@ import { Suspense } from 'react';
export default function NewEvent() {
return (
<div className='flex flex-col items-center justify-center h-screen'>
<div className='flex flex-col items-center justify-center h-full'>
<Card className='w-[80%] max-w-screen p-0 gap-0 max-xl:w-[95%] max-h-[90vh] overflow-auto'>
<CardHeader className='p-0 m-0 gap-0' />

View file

@ -17,7 +17,7 @@ export default function Events() {
const events = eventsData?.data?.events || [];
return (
<div className='relative h-screen flex flex-col items-center'>
<div className='relative h-full flex flex-col items-center'>
{/* Heading */}
<h1 className='text-3xl font-bold mt-8 mb-4 text-center z-10'>
My Events

View file

@ -233,7 +233,7 @@ function CalendarWithUserEvents({
resourceTitleAccessor={(event) => event.title}
startAccessor={(event) => event.start}
endAccessor={(event) => event.end}
selectable={sesstion.data?.user?.id === userId && !additionalEvents}
selectable={sesstion.data?.user?.id === userId}
onEventDrop={(event) => {
const { start, end, event: droppedEvent } = event;
if (droppedEvent.type === 'blocked_private') return;

View file

@ -51,7 +51,12 @@ const EventForm: React.FC<EventFormProps> = (props) => {
const startFromUrl = searchParams.get('start');
const endFromUrl = searchParams.get('end');
const { mutate: createEvent, status, isSuccess, error } = usePostApiEvent();
const {
mutateAsync: createEvent,
status,
isSuccess,
error,
} = usePostApiEvent();
const { data, isLoading, error: fetchError } = useGetApiUserMe();
const { data: eventData } = useGetApiEventEventID(props.eventId!, {
query: { enabled: props.type === 'edit' },
@ -150,8 +155,10 @@ const EventForm: React.FC<EventFormProps> = (props) => {
participants: selectedParticipants.map((u) => u.id),
};
let eventID: string | undefined;
if (props.type === 'edit' && props.eventId) {
await patchEvent.mutateAsync({
const mutationResult = await patchEvent.mutateAsync({
eventID: props.eventId,
data: {
title: data.title,
@ -162,9 +169,12 @@ const EventForm: React.FC<EventFormProps> = (props) => {
participants: data.participants,
},
});
eventID = mutationResult.data.event.id;
console.log('Updating event');
} else {
console.log('Creating event');
const mutationResult = await createEvent({ data });
eventID = mutationResult.data.event.id;
createEvent({ data });
}
@ -173,7 +183,7 @@ const EventForm: React.FC<EventFormProps> = (props) => {
toastId={t}
title='Event saved'
description={event?.title}
onAction={() => router.push(`/events/${event?.id}`)}
onAction={() => router.push(`/events/${eventID}`)}
variant='success'
buttonText='show'
/>