import type { BUN_SQLITE_BSQLITE_EMAILS } from "@/db/types/db"; import LucideIcon from "@moduletrace/twui/elements/lucide-icon"; import Tag from "@moduletrace/twui/elements/Tag"; import Button from "@moduletrace/twui/layout/Button"; import Row from "@moduletrace/twui/layout/Row"; import useStatus from "@moduletrace/twui/hooks/useStatus"; import { sendEmailRecord } from "@/src/functions/frontend/document-actions"; import clientSendEmail from "../(functions)/client-send-email"; import { AppContext } from "@/src/pages/__root"; import isReadOnlyUser from "@/src/utils/rbac/is-read-only-user"; import { useContext } from "react"; type Props = { email: BUN_SQLITE_BSQLITE_EMAILS; refresh?: () => void; is_single_email_page?: boolean; }; export default function EmailActions({ email, refresh, is_single_email_page, }: Props) { const { pageProps } = useContext(AppContext); const is_read_only = isReadOnlyUser({ user_types: pageProps?.user_types, }); const { loading, setLoading, status, setStatus } = useStatus(); const duplicate_url = `/admin/emails/create?from=${email.id}`; const view_url = `/admin/emails/${email.id}`; const edit_url = `/admin/emails/${email.id}/edit`; return ( <> {is_single_email_page ? null : ( )} {!is_read_only && email.status != "sent" ? ( ) : null} {is_read_only ? null : ( <> )} {status?.error && ( {status.msg} )} {status?.success && !loading && ( {status.msg} )} ); }