Newer
Older
import { useState } from "react";
import { Button, Group, Modal, Table } from "@mantine/core";
import { gql, useMutation } from "@apollo/client";
const sendReminderMutation = gql`
mutation sendReminder($id: Int) {
sendReminder(id: $id)
}
`;
export default function SignUpsModal({ open, close, event }) {
const { t } = useTranslation("common");
const [sendReminder] = useMutation(sendReminderMutation);
const [loading, setLoading] = useState(false);
const addresses = event.signUps
.map((signUp) => signUp.user.email)
.join(", ");
const sendRem = async () => {
setLoading(true);
await sendReminder({
variables: {
id: event.id,
},
});
setLoading(false);
};
if (!event) return <></>;
return (
<Modal opened={open} onClose={close} size="xl">
<h2>{t("participants")}</h2>
<Table striped highlightOnHover>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
{event.signUps.map((signUp, i) => (
<tr key={i}>
<td>{signUp.user.name}</td>
<td>{signUp.user.email}</td>
<Group grow mt="md">
<Button onClick={copyMailAddresses}>{t("copyMailAddresses")}</Button>
<Button onClick={sendRem} loading={loading}>
{t("sendReminder")}
</Button>
</Group>