refactor: improve code quality
Signed-off-by: Noa Virellia <noa@requiem.garden>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { useMemo } from 'react';
|
||||
import { useEvents } from '@/hooks/data/useEvents';
|
||||
import { Button } from '../../ui/button';
|
||||
import { DialogTrigger } from '../../ui/dialog';
|
||||
@@ -10,30 +11,36 @@ import { EventGridView } from './event-grid.view';
|
||||
export function EventGridContainer() {
|
||||
const { data, isLoading } = useEvents();
|
||||
|
||||
const events = useMemo(() => {
|
||||
return data?.pages.flatMap(page => page.data ?? []).map(toEventInfo) ?? [];
|
||||
}, [data]);
|
||||
|
||||
return (
|
||||
isLoading
|
||||
? <EventGridSkeleton />
|
||||
: (
|
||||
<EventGridView
|
||||
events={data.pages.flatMap(page => page.data ?? []).map(toEventInfo)}
|
||||
footer={(eventInfo) => {
|
||||
const Container = eventInfo.requireKyc ? KycDialogContainer : EventJoinDialogContainer;
|
||||
<EventGridView
|
||||
events={events}
|
||||
footer={(eventInfo) => {
|
||||
const Container = eventInfo.requireKyc ? KycDialogContainer : EventJoinDialogContainer;
|
||||
|
||||
return (
|
||||
<Container event={eventInfo}>
|
||||
{eventInfo.isJoined ? (
|
||||
<Button className="w-full" disabled>
|
||||
已加入
|
||||
</Button>
|
||||
) : (
|
||||
<DialogTrigger asChild>
|
||||
<Button className="w-full">加入活动</Button>
|
||||
</DialogTrigger>
|
||||
)}
|
||||
</Container>
|
||||
);
|
||||
}}
|
||||
/>
|
||||
)
|
||||
return (
|
||||
<Container event={eventInfo}>
|
||||
{eventInfo.isJoined
|
||||
? (
|
||||
<Button className="w-full" disabled>
|
||||
已加入
|
||||
</Button>
|
||||
)
|
||||
: (
|
||||
<DialogTrigger asChild>
|
||||
<Button className="w-full">加入活动</Button>
|
||||
</DialogTrigger>
|
||||
)}
|
||||
</Container>
|
||||
);
|
||||
}}
|
||||
/>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user