feat: Add key backup reminder. Refactor Toast component to handle dark mode better

This commit is contained in:
Dan Ditomaso
2025-01-07 15:08:01 -05:00
parent 74e33d09b1
commit f3a3741216
10 changed files with 326 additions and 137 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ import { QRDialog } from "@components/Dialog/QRDialog.tsx";
import { RebootDialog } from "@components/Dialog/RebootDialog.tsx";
import { ShutdownDialog } from "@components/Dialog/ShutdownDialog.tsx";
import { useDevice } from "@core/stores/deviceStore.ts";
import { PkiBackupDialog } from "./PKIBackupDialog";
import { PkiBackupDialog } from "@components/Dialog/PKIBackupDialog";
export const DialogManager = (): JSX.Element => {
const { channels, config, dialog, setDialogOpen } = useDevice();
+10 -3
View File
@@ -21,7 +21,7 @@ export const PkiBackupDialog = ({
open,
onOpenChange,
}: PkiBackupDialogProps) => {
const { config } = useDevice();
const { config, setDialogOpen } = useDevice();
const privateKeyData = config.security?.privateKey
// If the private data doesn't exist return null
@@ -31,6 +31,10 @@ export const PkiBackupDialog = ({
const getPrivateKey = React.useMemo(() => fromByteArray(config.security?.privateKey ?? new Uint8Array(0)), [config.security?.privateKey]);
const closeDialog = React.useCallback(() => {
setDialogOpen("pkiBackup", false)
}, [setDialogOpen])
const renderPrintWindow = React.useCallback(() => {
const printWindow = window.open("", "_blank");
if (printWindow) {
@@ -52,8 +56,10 @@ export const PkiBackupDialog = ({
`);
printWindow.document.close();
printWindow.print();
closeDialog()
}
}, [getPrivateKey]);
}, [getPrivateKey, closeDialog]);
const createDownloadKeyFile = React.useCallback(() => {
const blob = new Blob([getPrivateKey], { type: "text/plain" });
@@ -65,8 +71,9 @@ export const PkiBackupDialog = ({
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
closeDialog()
URL.revokeObjectURL(url);
}, [getPrivateKey]);
}, [getPrivateKey, closeDialog]);
return (