From a6b09aa5b152c72b4742d3a49fac58ae8603a1b5 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 7 Apr 2024 23:22:59 +0800 Subject: [PATCH] chore: add confirm dialog for disable password login setting --- web/src/components/Settings/SystemSection.tsx | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/web/src/components/Settings/SystemSection.tsx b/web/src/components/Settings/SystemSection.tsx index db7d15f0..5517779d 100644 --- a/web/src/components/Settings/SystemSection.tsx +++ b/web/src/components/Settings/SystemSection.tsx @@ -9,6 +9,7 @@ import { WorkspaceSettingPrefix } from "@/store/v1"; import { WorkspaceGeneralSetting } from "@/types/proto/api/v2/workspace_setting_service"; import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting"; import { useTranslate } from "@/utils/i18n"; +import { showCommonDialog } from "../Dialog/CommonDialog"; import Icon from "../Icon"; import showUpdateCustomizedProfileDialog from "../UpdateCustomizedProfileDialog"; @@ -72,14 +73,29 @@ const SystemSection = () => { }; const handleDisablePasswordLoginChanged = async (value: boolean) => { - const setting = { ...workspaceGeneralSetting, disallowPasswordLogin: value }; - await workspaceSettingServiceClient.setWorkspaceSetting({ - setting: { - name: `${WorkspaceSettingPrefix}${WorkspaceSettingKey.WORKSPACE_SETTING_GENERAL}`, - generalSetting: setting, - }, - }); - setWorkspaceGeneralSetting(setting); + const updateSetting = async () => { + const setting = { ...workspaceGeneralSetting, disallowPasswordLogin: value }; + await workspaceSettingServiceClient.setWorkspaceSetting({ + setting: { + name: `${WorkspaceSettingPrefix}${WorkspaceSettingKey.WORKSPACE_SETTING_GENERAL}`, + generalSetting: setting, + }, + }); + setWorkspaceGeneralSetting(setting); + }; + if (value) { + showCommonDialog({ + title: "Confirm", + content: "Are you sure to disable password login?", + style: "danger", + dialogName: "disable-password-login-dialog", + onConfirm: async () => { + await updateSetting(); + }, + }); + } else { + await updateSetting(); + } }; const handleUpdateCustomizedProfileButtonClick = () => {