import { createSignal, Show } from "solid-js"; import type { CommentDeletionPromptProps, DeletionType } from "~/types/comment"; import UserDefaultImage from "~/components/icons/UserDefaultImage"; import Modal from "~/components/ui/Modal"; import Button from "~/components/ui/Button"; export default function CommentDeletionPrompt( props: CommentDeletionPromptProps ) { const [normalDeleteChecked, setNormalDeleteChecked] = createSignal(false); const [adminDeleteChecked, setAdminDeleteChecked] = createSignal(false); const [fullDeleteChecked, setFullDeleteChecked] = createSignal(false); const handleNormalDeleteCheckbox = () => { setNormalDeleteChecked(!normalDeleteChecked()); setFullDeleteChecked(false); setAdminDeleteChecked(false); }; const handleAdminDeleteCheckbox = () => { setAdminDeleteChecked(!adminDeleteChecked()); setFullDeleteChecked(false); setNormalDeleteChecked(false); }; const handleFullDeleteCheckbox = () => { setFullDeleteChecked(!fullDeleteChecked()); setNormalDeleteChecked(false); setAdminDeleteChecked(false); }; const deletionWrapper = () => { let deleteType: DeletionType = "user"; if (normalDeleteChecked()) { deleteType = "user"; } else if (adminDeleteChecked()) { deleteType = "admin"; } else if (fullDeleteChecked()) { deleteType = "database"; } props.deleteComment(props.commentID, props.commenterID, deleteType); }; const isDeleteEnabled = () => normalDeleteChecked() || adminDeleteChecked() || fullDeleteChecked(); return (
{/* Comment body will be passed as prop */}
} > user-image
{props.commenterDisplayName || props.commenterEmail || "[removed]"}
{props.isAdmin ? "Confirm User Delete?" : "Confirm Delete?"}
Admin Delete?
Database Delete?
); }