import { Formik } from 'formik'; import { useState } from 'react'; import { useCurrentUser } from '@/react/hooks/useUser'; import { AuthenticationMethod } from '@/react/portainer/settings/types'; import { Widget } from '@@/Widget'; import { PageHeader } from '@@/PageHeader'; import { usePublicSettings } from '../../settings/queries/usePublicSettings'; import { ApiKeyFormValues } from './types'; import { getAPITokenValidationSchema } from './CreateUserAcccessToken.validation'; import { useCreateUserAccessTokenMutation } from './useCreateUserAccessTokenMutation'; import { CreateUserAccessTokenInnerForm } from './CreateUserAccessTokenInnerForm'; import { DisplayUserAccessToken } from './DisplayUserAccessToken'; const initialValues: ApiKeyFormValues = { password: '', description: '', }; export function CreateUserAccessToken() { const mutation = useCreateUserAccessTokenMutation(); const { user } = useCurrentUser(); const [newAPIToken, setNewAPIToken] = useState(''); const settings = usePublicSettings(); const requirePassword = settings.data?.AuthenticationMethod === AuthenticationMethod.Internal || user.Id === 1; return ( <>
{newAPIToken === '' ? ( ) : ( )}
); async function onSubmit(values: ApiKeyFormValues) { mutation.mutate( { values, userid: user.Id }, { onSuccess(response) { setNewAPIToken(response); }, } ); } }