fix: event cards layout bugs
This commit is contained in:
parent
d7fdd5d257
commit
83fe2c772c
3 changed files with 11 additions and 15 deletions
|
@ -8,7 +8,6 @@ import {
|
||||||
useDeleteApiEventEventID,
|
useDeleteApiEventEventID,
|
||||||
useGetApiEventEventID,
|
useGetApiEventEventID,
|
||||||
} from '@/generated/api/event/event';
|
} from '@/generated/api/event/event';
|
||||||
import { useGetApiUserMe } from '@/generated/api/user/user';
|
|
||||||
import { RedirectButton } from '@/components/buttons/redirect-button';
|
import { RedirectButton } from '@/components/buttons/redirect-button';
|
||||||
import { useSession } from 'next-auth/react';
|
import { useSession } from 'next-auth/react';
|
||||||
import ParticipantListEntry from '@/components/custom-ui/participant-list-entry';
|
import ParticipantListEntry from '@/components/custom-ui/participant-list-entry';
|
||||||
|
@ -35,10 +34,9 @@ export default function ShowEvent() {
|
||||||
|
|
||||||
// Fetch event data
|
// Fetch event data
|
||||||
const { data: eventData, isLoading, error } = useGetApiEventEventID(eventID);
|
const { data: eventData, isLoading, error } = useGetApiEventEventID(eventID);
|
||||||
const { data: userData, isLoading: userLoading } = useGetApiUserMe();
|
|
||||||
const deleteEvent = useDeleteApiEventEventID();
|
const deleteEvent = useDeleteApiEventEventID();
|
||||||
|
|
||||||
if (isLoading || userLoading) {
|
if (isLoading) {
|
||||||
return (
|
return (
|
||||||
<div className='flex justify-center items-center h-full'>Loading...</div>
|
<div className='flex justify-center items-center h-full'>Loading...</div>
|
||||||
);
|
);
|
||||||
|
@ -143,7 +141,7 @@ export default function ShowEvent() {
|
||||||
Organiser:
|
Organiser:
|
||||||
</Label>
|
</Label>
|
||||||
<Label size='large'>
|
<Label size='large'>
|
||||||
{userData?.data.user?.name || 'Unknown User'}
|
{eventData.data.event.organizer.name || 'Unknown User'}
|
||||||
</Label>
|
</Label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -160,7 +158,7 @@ export default function ShowEvent() {
|
||||||
<Label className='text-[var(--color-neutral-300)] mb-2'>
|
<Label className='text-[var(--color-neutral-300)] mb-2'>
|
||||||
Participants
|
Participants
|
||||||
</Label>{' '}
|
</Label>{' '}
|
||||||
<div className='grid grid-cols-1 mt-3 sm:max-h-60 sm:grid-cols-2 sm:overflow-y-auto sm:mb-0'>
|
<div className='grid grid-cols-1 mt-3'>
|
||||||
{eventData.data.event.participants?.map((user) => (
|
{eventData.data.event.participants?.map((user) => (
|
||||||
<ParticipantListEntry
|
<ParticipantListEntry
|
||||||
key={user.user.id}
|
key={user.user.id}
|
||||||
|
|
|
@ -30,6 +30,7 @@ import {
|
||||||
DialogTitle,
|
DialogTitle,
|
||||||
DialogTrigger,
|
DialogTrigger,
|
||||||
} from '../ui/dialog';
|
} from '../ui/dialog';
|
||||||
|
import { useGetApiUserMe } from '@/generated/api/user/user';
|
||||||
|
|
||||||
type User = zod.output<typeof PublicUserSchema>;
|
type User = zod.output<typeof PublicUserSchema>;
|
||||||
|
|
||||||
|
@ -56,13 +57,10 @@ const EventForm: React.FC<EventFormProps> = (props) => {
|
||||||
isSuccess,
|
isSuccess,
|
||||||
error,
|
error,
|
||||||
} = usePostApiEvent();
|
} = usePostApiEvent();
|
||||||
const {
|
const { data: eventData } = useGetApiEventEventID(props.eventId!, {
|
||||||
data: eventData,
|
|
||||||
isLoading,
|
|
||||||
isError,
|
|
||||||
} = useGetApiEventEventID(props.eventId!, {
|
|
||||||
query: { enabled: props.type === 'edit' },
|
query: { enabled: props.type === 'edit' },
|
||||||
});
|
});
|
||||||
|
const { data, isLoading, isError } = useGetApiUserMe();
|
||||||
const patchEvent = usePatchApiEventEventID();
|
const patchEvent = usePatchApiEventEventID();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
@ -299,7 +297,7 @@ const EventForm: React.FC<EventFormProps> = (props) => {
|
||||||
<p className='text-[var(--color-neutral-300)]'>
|
<p className='text-[var(--color-neutral-300)]'>
|
||||||
{!isClient || isLoading
|
{!isClient || isLoading
|
||||||
? 'Loading...'
|
? 'Loading...'
|
||||||
: eventData?.data.event.organizer.name || 'Unknown User'}
|
: data?.data.user.name || 'Unknown User'}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -336,7 +334,7 @@ const EventForm: React.FC<EventFormProps> = (props) => {
|
||||||
<DialogTrigger asChild>
|
<DialogTrigger asChild>
|
||||||
<Button variant='primary'>Calendar</Button>
|
<Button variant='primary'>Calendar</Button>
|
||||||
</DialogTrigger>
|
</DialogTrigger>
|
||||||
<div className='grid grid-cols-1 mt-3 sm:max-h-60 sm:grid-cols-2 sm:overflow-y-auto sm:mb-0'>
|
<div className='grid grid-cols-1 mt-3'>
|
||||||
{selectedParticipants.map((user) => (
|
{selectedParticipants.map((user) => (
|
||||||
<ParticipantListEntry
|
<ParticipantListEntry
|
||||||
key={user.id}
|
key={user.id}
|
||||||
|
|
|
@ -32,8 +32,8 @@ export default function TimePicker({
|
||||||
const [open, setOpen] = React.useState(false);
|
const [open, setOpen] = React.useState(false);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='flex gap-4' {...props}>
|
<div className='grid grid-cols-2 gap-4' {...props}>
|
||||||
<div className='flex flex-col gap-3'>
|
<div className='grid grid-rows-2 gap-2'>
|
||||||
<Label htmlFor='date' className='px-1'>
|
<Label htmlFor='date' className='px-1'>
|
||||||
{dateLabel}
|
{dateLabel}
|
||||||
</Label>
|
</Label>
|
||||||
|
@ -69,7 +69,7 @@ export default function TimePicker({
|
||||||
</PopoverContent>
|
</PopoverContent>
|
||||||
</Popover>
|
</Popover>
|
||||||
</div>
|
</div>
|
||||||
<div className='flex flex-col gap-3'>
|
<div className='grid grid-rows-2 gap-2'>
|
||||||
<Label htmlFor='time' className='px-1'>
|
<Label htmlFor='time' className='px-1'>
|
||||||
{timeLabel}
|
{timeLabel}
|
||||||
</Label>
|
</Label>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue