diff --git a/frontend/src/hooks/api/secrets/types.ts b/frontend/src/hooks/api/secrets/types.ts index cbed26f8f..92dc220b8 100644 --- a/frontend/src/hooks/api/secrets/types.ts +++ b/frontend/src/hooks/api/secrets/types.ts @@ -51,6 +51,7 @@ export type SecretV3RawSanitized = { folderId?: string; skipMultilineEncoding?: boolean; secretMetadata?: { key: string; value: string }[]; + isReminderEvent?: boolean; }; export type SecretV3Raw = { diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretDetailSidebar.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretDetailSidebar.tsx index 802c30523..168cd6f43 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretDetailSidebar.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretDetailSidebar.tsx @@ -192,6 +192,10 @@ export const SecretDetailSidebar = ({ await onSaveSecret(secret, { ...secret, ...data }, () => reset()); }; + const handleReminderSubmit = async (reminderRepeatDays: number | null | undefined, reminderNote: string | null | undefined) => { + await onSaveSecret(secret, { ...secret, reminderRepeatDays, reminderNote, isReminderEvent: true }, () => { }); + } + const [createReminderFormOpen, setCreateReminderFormOpen] = useToggle(false); const secretReminderRepeatDays = watch("reminderRepeatDays"); @@ -207,8 +211,9 @@ export const SecretDetailSidebar = ({ setCreateReminderFormOpen.toggle(); if (data) { - setValue("reminderRepeatDays", data.days, { shouldDirty: true }); - setValue("reminderNote", data.note, { shouldDirty: true }); + setValue("reminderRepeatDays", data.days, { shouldDirty: false }); + setValue("reminderNote", data.note, { shouldDirty: false }); + handleReminderSubmit(data.days, data.note) } }} /> diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretListView.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretListView.tsx index 85d687505..ec765a361 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretListView.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretListView.tsx @@ -158,7 +158,8 @@ export const SecretListView = ({ comment, reminderRepeatDays, reminderNote, - secretMetadata + secretMetadata, + isReminderEvent } = modSecret; const hasKeyChanged = oldKey !== key && key; @@ -234,13 +235,23 @@ export const SecretListView = ({ queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); - handlePopUpClose("secretDetail"); + if (!isReminderEvent) { + handlePopUpClose("secretDetail"); + } + + let successMessage; + if (isReminderEvent) { + successMessage = reminderRepeatDays ? "Successfully saved secret reminder" : "Successfully deleted secret reminder"; + } else { + successMessage = "Successfully saved secrets"; + } + createNotification({ type: isProtectedBranch && !personalAction ? "info" : "success", text: isProtectedBranch && !personalAction ? "Requested changes have been sent for review" - : "Successfully saved secrets" + : successMessage }); } catch (error) { console.log(error);