Browse Source

Updated pki regenerate dialog

pull/277/head
Tilen Komel 2 years ago
parent
commit
9d4aa05316
  1. 39
      src/components/Dialog/PkiRegenerateDialog.tsx
  2. 21
      src/components/PageComponents/Config/Security.tsx

39
src/components/Dialog/PkiRegenerateDialog.tsx

@ -0,0 +1,39 @@
import { Button } from "@components/UI/Button.js";
import {
Dialog,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
} from "@components/UI/Dialog.js";
export interface PkiRegenerateDialogProps {
open: boolean;
onOpenChange: () => void;
onSubmit: () => void;
}
export const PkiRegenerateDialog = ({
open,
onOpenChange,
onSubmit,
}: PkiRegenerateDialogProps): JSX.Element => {
return (
<Dialog open={open} onOpenChange={onOpenChange}>
<DialogContent>
<DialogHeader>
<DialogTitle>Regenerate Key pair?</DialogTitle>
<DialogDescription>
Are you sure you want to regenerate key pair?
</DialogDescription>
</DialogHeader>
<DialogFooter>
<Button variant="destructive" onClick={() => onSubmit()}>
Regenerate
</Button>
</DialogFooter>
</DialogContent>
</Dialog>
);
};

21
src/components/PageComponents/Config/Security.tsx

@ -1,3 +1,4 @@
import { PkiRegenerateDialog } from "@app/components/Dialog/PkiRegenerateDialog";
import { DynamicForm } from "@app/components/Form/DynamicForm.js"; import { DynamicForm } from "@app/components/Form/DynamicForm.js";
import { import {
getX25519PrivateKey, getX25519PrivateKey,
@ -30,6 +31,7 @@ export const Security = (): JSX.Element => {
); );
const [adminKeyValidationText, setAdminKeyValidationText] = const [adminKeyValidationText, setAdminKeyValidationText] =
useState<string>(); useState<string>();
const [dialogOpen, setDialogOpen] = useState<boolean>(false);
const onSubmit = (data: SecurityValidation) => { const onSubmit = (data: SecurityValidation) => {
if (privateKeyValidationText || adminKeyValidationText) return; if (privateKeyValidationText || adminKeyValidationText) return;
@ -69,11 +71,10 @@ export const Security = (): JSX.Element => {
}; };
const privateKeyClickEvent = () => { const privateKeyClickEvent = () => {
const generate = confirm( setDialogOpen(true);
"Are you sure you want to generate a new key pair?", };
);
if (!generate) return;
const pkiRegenerate = () => {
const privateKey = getX25519PrivateKey(); const privateKey = getX25519PrivateKey();
const publicKey = getX25519PublicKey(privateKey); const publicKey = getX25519PublicKey(privateKey);
@ -84,6 +85,8 @@ export const Security = (): JSX.Element => {
privateKeyBitCount, privateKeyBitCount,
setPrivateKeyValidationText, setPrivateKeyValidationText,
); );
setDialogOpen(false);
}; };
const privateKeyInputChangeEvent = ( const privateKeyInputChangeEvent = (
@ -114,6 +117,7 @@ export const Security = (): JSX.Element => {
}; };
return ( return (
<>
<DynamicForm<SecurityValidation> <DynamicForm<SecurityValidation>
onSubmit={onSubmit} onSubmit={onSubmit}
submitType="onSubmit" submitType="onSubmit"
@ -217,7 +221,8 @@ export const Security = (): JSX.Element => {
type: "toggle", type: "toggle",
name: "bluetoothLoggingEnabled", name: "bluetoothLoggingEnabled",
label: "Allow Bluetooth Logging", label: "Allow Bluetooth Logging",
description: "Enables device (serial style logs) over Bluetooth", description:
"Enables device (serial style logs) over Bluetooth",
}, },
{ {
type: "toggle", type: "toggle",
@ -235,5 +240,11 @@ export const Security = (): JSX.Element => {
}, },
]} ]}
/> />
<PkiRegenerateDialog
open={dialogOpen}
onOpenChange={() => setDialogOpen(false)}
onSubmit={() => pkiRegenerate()}
/>
</>
); );
}; };

Loading…
Cancel
Save