56 lines
1.9 KiB
TypeScript
Raw Normal View History

2023-11-01 22:10:56 +00:00
import { useState } from "preact/hooks";
import { Modal } from "../Modal";
import { useQuery } from "react-query";
2023-11-03 22:40:57 +00:00
import { fetchGuildTemplates } from "../../api";
2023-11-01 22:10:56 +00:00
import { useParams } from "wouter";
export const LoadTemplate = ({ setReminder }) => {
const [modalOpen, setModalOpen] = useState(false);
return (
<div>
<button
class="button is-outlined show-modal is-pulled-right"
onClick={() => {
setModalOpen(true);
}}
>
Load Template
</button>
{modalOpen && <LoadTemplateModal setModalOpen={setModalOpen}></LoadTemplateModal>}
</div>
);
};
const LoadTemplateModal = ({ setModalOpen }) => {
const { guild } = useParams();
2023-11-03 22:40:57 +00:00
const { status, data: templates } = useQuery(fetchGuildTemplates(guild));
2023-11-01 22:10:56 +00:00
return (
<Modal setModalOpen={setModalOpen} title={"Load Template"}>
<div class="control has-icons-left">
<div class="select is-fullwidth">
<select id="templateSelect">
2023-11-03 22:40:57 +00:00
{templates !== undefined &&
templates.map((template) => (
<option value={template.id}>{template.name}</option>
))}
2023-11-01 22:10:56 +00:00
</select>
</div>
<div class="icon is-small is-left">
<i class="fas fa-file-spreadsheet"></i>
</div>
</div>
<br></br>
<div class="has-text-centered">
<button class="button is-success close-modal" id="load-template">
Load Template
</button>
<button class="button is-danger" id="delete-template">
Delete
</button>
</div>
</Modal>
);
};