Hopefully make accordion update
This commit is contained in:
parent
231ae733e7
commit
cbb26f438b
@ -70,15 +70,14 @@ export async function loader({ context }: { context: RequestContext }) {
|
|||||||
export default function () {
|
export default function () {
|
||||||
const data = useLoaderData<typeof loader>();
|
const data = useLoaderData<typeof loader>();
|
||||||
const [selectedDate, setDate] = useState(new Date());
|
const [selectedDate, setDate] = useState(new Date());
|
||||||
|
const getEventsOfDay = (date: Date) =>
|
||||||
const eventsOfDay = () => {
|
data.eventList.filter(
|
||||||
return data.eventList.filter(
|
|
||||||
(e) =>
|
(e) =>
|
||||||
e.day === selectedDate.getUTCDate() &&
|
e.day === date.getUTCDate() &&
|
||||||
e.month === selectedDate.getUTCMonth() + 1 &&
|
e.month === date.getUTCMonth() + 1 &&
|
||||||
e.year === selectedDate.getUTCFullYear(),
|
e.year === date.getUTCFullYear(),
|
||||||
) as { [k: string]: any }[];
|
) as { [k: string]: any }[];
|
||||||
};
|
const [eventsOfDay, setEventsOfDay] = useState(getEventsOfDay(selectedDate));
|
||||||
|
|
||||||
dayjs.extend(utc);
|
dayjs.extend(utc);
|
||||||
|
|
||||||
@ -89,15 +88,12 @@ export default function () {
|
|||||||
events={data.calendarData}
|
events={data.calendarData}
|
||||||
localizer={dayjsLocalizer(dayjs)}
|
localizer={dayjsLocalizer(dayjs)}
|
||||||
onSelectSlot={(s) => {
|
onSelectSlot={(s) => {
|
||||||
setDate(s.slots.at(0) as Date);
|
const date = s.slots.at(0) as Date;
|
||||||
|
setDate(date);
|
||||||
|
setEventsOfDay(getEventsOfDay(date));
|
||||||
}}
|
}}
|
||||||
popup
|
popup
|
||||||
startAccessor={(event) => {
|
startAccessor={(event) => new Date(event.start)}
|
||||||
const date = new Date(event.start);
|
|
||||||
date.setUTCDate(date.getUTCDate() + 1);
|
|
||||||
|
|
||||||
return date;
|
|
||||||
}}
|
|
||||||
style={{ height: 500 }}
|
style={{ height: 500 }}
|
||||||
views={{
|
views={{
|
||||||
month: true,
|
month: true,
|
||||||
@ -118,7 +114,7 @@ export default function () {
|
|||||||
</AccordionButton>
|
</AccordionButton>
|
||||||
</h2>
|
</h2>
|
||||||
<AccordionPanel pb={4}>
|
<AccordionPanel pb={4}>
|
||||||
{eventsOfDay().find((e) => e.type === "fotd")?.details || "None"}
|
{eventsOfDay.find((e) => e.type === "fotd")?.details || "None"}
|
||||||
<br />
|
<br />
|
||||||
</AccordionPanel>
|
</AccordionPanel>
|
||||||
</AccordionItem>
|
</AccordionItem>
|
||||||
@ -132,8 +128,7 @@ export default function () {
|
|||||||
</AccordionButton>
|
</AccordionButton>
|
||||||
</h2>
|
</h2>
|
||||||
<AccordionPanel pb={4}>
|
<AccordionPanel pb={4}>
|
||||||
{eventsOfDay().find((e) => e.type === "gamenight")?.details ||
|
{eventsOfDay.find((e) => e.type === "gamenight")?.details || "None"}
|
||||||
"None"}
|
|
||||||
</AccordionPanel>
|
</AccordionPanel>
|
||||||
</AccordionItem>
|
</AccordionItem>
|
||||||
<AccordionItem>
|
<AccordionItem>
|
||||||
@ -145,7 +140,7 @@ export default function () {
|
|||||||
</AccordionButton>
|
</AccordionButton>
|
||||||
</h2>
|
</h2>
|
||||||
<AccordionPanel pb={4}>
|
<AccordionPanel pb={4}>
|
||||||
{eventsOfDay().find((e) => e.type === "rotw")?.details || "None"}
|
{eventsOfDay.find((e) => e.type === "rotw")?.details || "None"}
|
||||||
</AccordionPanel>
|
</AccordionPanel>
|
||||||
</AccordionItem>
|
</AccordionItem>
|
||||||
<AccordionItem>
|
<AccordionItem>
|
||||||
@ -157,7 +152,7 @@ export default function () {
|
|||||||
</AccordionButton>
|
</AccordionButton>
|
||||||
</h2>
|
</h2>
|
||||||
<AccordionPanel pb={4}>
|
<AccordionPanel pb={4}>
|
||||||
{eventsOfDay().find((e) => e.type === "qotd")?.details || "None"}
|
{eventsOfDay.find((e) => e.type === "qotd")?.details || "None"}
|
||||||
</AccordionPanel>
|
</AccordionPanel>
|
||||||
</AccordionItem>
|
</AccordionItem>
|
||||||
</Accordion>
|
</Accordion>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user