import { createSignal, Show } from "solid-js"; import type { CommentDeletionPromptProps, DeletionType } from "~/types/comment"; import UserDefaultImage from "~/components/icons/UserDefaultImage"; import Xmark from "~/components/icons/Xmark"; 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"; } console.log("[CommentDeletionPrompt] Calling deleteComment:", { commentID: props.commentID, commenterID: props.commenterID, deleteType }); props.deleteComment(props.commentID, props.commenterID, deleteType); }; const isDeleteEnabled = () => normalDeleteChecked() || adminDeleteChecked() || fullDeleteChecked(); return (
Comment Deletion
{/* Comment body will be passed as prop */}
} > user-image
{props.commenterDisplayName || props.commenterEmail || "[removed]"}
{props.privilegeLevel === "admin" ? "Confirm User Delete?" : "Confirm Delete?"}
Confirm Admin Delete?
Confirm Full Delete (removal from database)?
); }