Show more information on event click
This commit is contained in:
parent
cbb26f438b
commit
e250278812
@ -10,7 +10,16 @@ import {
|
|||||||
AccordionItem,
|
AccordionItem,
|
||||||
AccordionPanel,
|
AccordionPanel,
|
||||||
Box,
|
Box,
|
||||||
|
Button,
|
||||||
Container,
|
Container,
|
||||||
|
Modal,
|
||||||
|
ModalBody,
|
||||||
|
ModalCloseButton,
|
||||||
|
ModalContent,
|
||||||
|
ModalFooter,
|
||||||
|
ModalHeader,
|
||||||
|
ModalOverlay,
|
||||||
|
useDisclosure,
|
||||||
} from "@chakra-ui/react";
|
} from "@chakra-ui/react";
|
||||||
import { useLoaderData } from "@remix-run/react";
|
import { useLoaderData } from "@remix-run/react";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
@ -61,15 +70,24 @@ export async function loader({ context }: { context: RequestContext }) {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const memberData = await context.env.D1.prepare(
|
||||||
|
"SELECT id, name FROM et_members WHERE id IN (SELECT created_by FROM events WHERE month = ? AND year = ?);",
|
||||||
|
)
|
||||||
|
.bind(now.getUTCMonth() + 1, now.getUTCFullYear())
|
||||||
|
.all();
|
||||||
|
|
||||||
return {
|
return {
|
||||||
calendarData,
|
calendarData,
|
||||||
eventList: eventsData.results,
|
eventList: eventsData.results,
|
||||||
|
memberData: memberData.results,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
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 [eventData, setEventDate] = useState({} as { [k: string]: any });
|
||||||
|
const { isOpen, onClose, onOpen } = useDisclosure();
|
||||||
const getEventsOfDay = (date: Date) =>
|
const getEventsOfDay = (date: Date) =>
|
||||||
data.eventList.filter(
|
data.eventList.filter(
|
||||||
(e) =>
|
(e) =>
|
||||||
@ -83,6 +101,32 @@ export default function () {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Container maxW="container.lg" h="600px">
|
<Container maxW="container.lg" h="600px">
|
||||||
|
<Modal isOpen={isOpen} onClose={onClose}>
|
||||||
|
<ModalOverlay />
|
||||||
|
<ModalContent>
|
||||||
|
<ModalHeader>Event Info</ModalHeader>
|
||||||
|
<ModalCloseButton />
|
||||||
|
<ModalBody>
|
||||||
|
Host:{" "}
|
||||||
|
{
|
||||||
|
(
|
||||||
|
data.memberData.find((m) => m.id === eventData.created_by) as {
|
||||||
|
[k: string]: any;
|
||||||
|
}
|
||||||
|
).name
|
||||||
|
}
|
||||||
|
<br />
|
||||||
|
Event Type: {eventData.type.toUpperCase()}
|
||||||
|
<br />
|
||||||
|
Details: {eventData.details}
|
||||||
|
<br />
|
||||||
|
Answer: {eventData.type === "rotw" ? eventData.answer : "N/A"}
|
||||||
|
</ModalBody>
|
||||||
|
<ModalFooter>
|
||||||
|
<Button onClick={onClose}>Close</Button>
|
||||||
|
</ModalFooter>
|
||||||
|
</ModalContent>
|
||||||
|
</Modal>
|
||||||
<Calendar
|
<Calendar
|
||||||
endAccessor={(event) => new Date(event.end)}
|
endAccessor={(event) => new Date(event.end)}
|
||||||
events={data.calendarData}
|
events={data.calendarData}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user