diff --git a/frontend/bun.lock b/frontend/bun.lock
index 5ebd74298..334992231 100644
--- a/frontend/bun.lock
+++ b/frontend/bun.lock
@@ -4,7 +4,7 @@
"": {
"name": "maple",
"dependencies": {
- "@opensecret/react": "1.3.1",
+ "@opensecret/react": "1.3.3",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-avatar": "^1.1.0",
"@radix-ui/react-dialog": "^1.1.1",
@@ -214,7 +214,7 @@
"@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
- "@opensecret/react": ["@opensecret/react@1.3.1", "", { "dependencies": { "@peculiar/x509": "^1.12.2", "@stablelib/base64": "^2.0.0", "@stablelib/chacha20poly1305": "^2.0.0", "@stablelib/random": "^2.0.0", "cbor2": "^1.7.0", "tweetnacl": "^1.0.3", "zod": "^3.23.8" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, "sha512-C53cinMhkn2HNJ2LJxY5+xhVcyT2Y6p7z9nsAXCMkBQl677VteMGaDPifxsJpEIX1bBp5ZEsKIRX1md2zta3yw=="],
+ "@opensecret/react": ["@opensecret/react@1.3.3", "", { "dependencies": { "@peculiar/x509": "^1.12.2", "@stablelib/base64": "^2.0.0", "@stablelib/chacha20poly1305": "^2.0.0", "@stablelib/random": "^2.0.0", "cbor2": "^1.7.0", "tweetnacl": "^1.0.3", "zod": "^3.23.8" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, "sha512-2bLX1RCAPezyXeN0pZjc1Q0jp0x1rTcrkUR12clXzQAIKtRtv3kBEmEg3YCG7Xgx5TlzSI+eYn2GLBU/h+lEww=="],
"@peculiar/asn1-cms": ["@peculiar/asn1-cms@2.3.15", "", { "dependencies": { "@peculiar/asn1-schema": "^2.3.15", "@peculiar/asn1-x509": "^2.3.15", "@peculiar/asn1-x509-attr": "^2.3.15", "asn1js": "^3.0.5", "tslib": "^2.8.1" } }, "sha512-B+DoudF+TCrxoJSTjjcY8Mmu+lbv8e7pXGWrhNp2/EGJp9EEcpzjBCar7puU57sGifyzaRVM03oD5L7t7PghQg=="],
diff --git a/frontend/package.json b/frontend/package.json
index 04b43d736..d3523f6a6 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -16,7 +16,7 @@
"mdast-util-gfm-autolink-literal": "2.0.0"
},
"dependencies": {
- "@opensecret/react": "1.3.1",
+ "@opensecret/react": "1.3.3",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-avatar": "^1.1.0",
"@radix-ui/react-dialog": "^1.1.1",
diff --git a/frontend/src/components/AccountDialog.tsx b/frontend/src/components/AccountDialog.tsx
index 9fe7cce33..117dba6e6 100644
--- a/frontend/src/components/AccountDialog.tsx
+++ b/frontend/src/components/AccountDialog.tsx
@@ -20,13 +20,15 @@ import {
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { useOpenSecret } from "@opensecret/react";
-import { CheckCircle, XCircle } from "lucide-react";
+import { CheckCircle, XCircle, Trash } from "lucide-react";
import { ChangePasswordDialog } from "./ChangePasswordDialog";
import { useLocalState } from "@/state/useLocalState";
+import { DeleteAccountDialog } from "./DeleteAccountDialog";
export function AccountDialog() {
const os = useOpenSecret();
const [isChangePasswordOpen, setIsChangePasswordOpen] = useState(false);
+ const [isDeleteAccountOpen, setIsDeleteAccountOpen] = useState(false);
const [verificationStatus, setVerificationStatus] = useState<"unverified" | "pending">(
"unverified"
);
@@ -105,11 +107,33 @@ export function AccountDialog() {
- {isEmailUser && (
-
-
-
- )}
+
+ {isEmailUser && (
+
+
+
+ )}
+
+