import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { Control, Controller, useForm } from "react-hook-form"; import { Button, ButtonVariant, FileUpload, Form, FormGroup, Modal, ModalVariant, Select, SelectOption, SelectVariant, Text, TextContent, } from "@patternfly/react-core"; import type KeyStoreConfig from "@keycloak/keycloak-admin-client/lib/defs/keystoreConfig"; import { HelpItem } from "../../components/help-enabler/HelpItem"; import { StoreSettings } from "./StoreSettings"; type GenerateKeyDialogProps = { toggleDialog: () => void; save: (keyStoreConfig: KeyStoreConfig) => void; }; type KeyFormProps = { register: () => void; control: Control; useFile?: boolean; }; export const KeyForm = ({ register, control, useFile = false, }: KeyFormProps) => { const { t } = useTranslation("clients"); const [filename, setFilename] = useState(); const [openArchiveFormat, setOpenArchiveFormat] = useState(false); return (
} fieldId="archiveFormat" > ( )} /> {useFile && ( } fieldId="importFile" > ( { setFilename(filename); onChange(value); }} /> )} /> )} ); }; export const GenerateKeyDialog = ({ save, toggleDialog, }: GenerateKeyDialogProps) => { const { t } = useTranslation("clients"); const { register, control, handleSubmit } = useForm(); return ( { handleSubmit((config) => { save(config); toggleDialog(); })(); }} > {t("generate")} , , ]} > {t("clients-help:generateKeysDescription")} ); };