import React from 'react'; import { Flex, Stack, Center, Text, useMediaQuery, Button, useToast, } from '@chakra-ui/react'; import { HiddenInputType, TextInputType, TextAreaInputType, } from '../../constants'; import GenerateKeysModal from '../GenerateKeysModal'; import InputField from '../InputField'; import { copyTextToClipboard } from '../../utils'; const JSTConfigurations = ({ variables, setVariables, fieldVisibility, setFieldVisibility, SelectInputType, getData, HMACEncryptionType, RSAEncryptionType, ECDSAEncryptionType, }: any) => { const [isNotSmallerScreen] = useMediaQuery('(min-width:600px)'); const toast = useToast(); const copyJSON = async () => { try { await copyTextToClipboard( JSON.stringify({ type: variables.JWT_TYPE, key: variables.JWT_PUBLIC_KEY || variables.JWT_SECRET, }) ); toast({ title: `JWT config copied successfully`, isClosable: true, status: 'success', position: 'bottom-right', }); } catch (err) { console.error({ message: `Failed to copy JWT config`, error: err, }); toast({ title: `Failed to copy JWT config`, isClosable: true, status: 'error', position: 'bottom-right', }); } }; return (
{' '} JWT (JSON Web Tokens) Configurations JWT Type: {Object.values(HMACEncryptionType).includes(variables.JWT_TYPE) ? ( JWT Secret
) : ( <> Public Key
Private Key
)} JWT Role Claim:
); }; export default JSTConfigurations;