diff --git a/frontend/src/views/SecretMainPage/components/SecretListView/SecretItem.tsx b/frontend/src/views/SecretMainPage/components/SecretListView/SecretItem.tsx index 3bc66d0a5..d165b4bd5 100644 --- a/frontend/src/views/SecretMainPage/components/SecretListView/SecretItem.tsx +++ b/frontend/src/views/SecretMainPage/components/SecretListView/SecretItem.tsx @@ -49,7 +49,6 @@ import { memo, useEffect } from "react"; import { Controller, useFieldArray, useForm } from "react-hook-form"; import { twMerge } from "tailwind-merge"; -import { useNotificationContext } from "@app/components/context/Notifications/NotificationProvider"; import { CreateReminderForm } from "./CreateReminderForm"; import { formSchema, SecretActionType, TFormSchema } from "./SecretListView.utils"; @@ -87,7 +86,6 @@ export const SecretItem = memo( }: Props) => { const { currentWorkspace } = useWorkspace(); const { permission } = useProjectPermission(); - const { createNotification } = useNotificationContext(); const isReadOnly = permission.can( ProjectPermissionActions.Read, @@ -106,7 +104,8 @@ export const SecretItem = memo( setValue, reset, getValues, - formState: { isDirty, isSubmitting } + trigger, + formState: { isDirty, isSubmitting, errors } } = useForm({ defaultValues: secret, values: secret, @@ -244,16 +243,9 @@ export const SecretItem = memo( autoCapitalization={currentWorkspace?.autoCapitalization} variant="plain" isDisabled={isOverriden} - placeholder="Secret name is required" - isRequired + placeholder={error?.message} isError={Boolean(error)} - onInvalid={(e) => { - e.preventDefault(); - createNotification({ - text: "Secret name cannot be empty", - type: "error" - }); - }} + onKeyUp={() => trigger("key")} {...field} className="w-full px-0 placeholder:text-red-500 focus:text-bunker-100 focus:ring-transparent" /> @@ -509,7 +501,7 @@ export const SecretItem = memo( animate={{ x: 0, opacity: 1 }} exit={{ x: -10, opacity: 0 }} > - + {isSubmitting ? ( ) : ( - + )} diff --git a/frontend/src/views/SecretMainPage/components/SecretListView/SecretListView.utils.ts b/frontend/src/views/SecretMainPage/components/SecretListView/SecretListView.utils.ts index fc8a745d5..40e949bc8 100644 --- a/frontend/src/views/SecretMainPage/components/SecretListView/SecretListView.utils.ts +++ b/frontend/src/views/SecretMainPage/components/SecretListView/SecretListView.utils.ts @@ -8,7 +8,7 @@ export enum SecretActionType { } export const formSchema = z.object({ - key: z.string().trim(), + key: z.string().trim().min(1, { message: "Secret key is required" }), value: z.string().transform((val) => (val.at(-1) === "\n" ? `${val.trim()}\n` : val.trim())), idOverride: z.string().trim().optional(), valueOverride: z