feat: Add key backup reminder. Refactor Toast component to handle dark mode better
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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 (
|
||||
|
||||
Reference in New Issue
Block a user