From 83c7e0204bedb5ea7975a85e198c0526d174fcec Mon Sep 17 00:00:00 2001 From: xuans Date: Thu, 24 Sep 2026 23:58:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=86=E5=88=86=E7=B3=BB=E7=BB=9F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=BA=E5=8D=95=E5=B1=8F=E5=88=86=E7=BB=84=E5=B9=B6?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=B2=E4=BF=9D=E5=AD=98DNS=E5=87=AD?= =?UTF-8?q?=E6=8D=AE=E7=9A=84=E5=BF=85=E5=A1=AB=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package.json | 2 +- frontend/src/views/Dashboard/Dashboard.js | 1 + .../src/views/Dashboard/Dashboard.test.js | 15 +- frontend/src/views/Dashboard/Dashboard.vue | 264 +--------- .../src/views/Dashboard/SettingsModal.css | 153 ++++++ frontend/src/views/Dashboard/SettingsModal.js | 39 ++ .../src/views/Dashboard/SettingsModal.test.js | 64 +++ .../src/views/Dashboard/SettingsModal.vue | 484 ++++++++++++++++++ 8 files changed, 760 insertions(+), 262 deletions(-) create mode 100644 frontend/src/views/Dashboard/SettingsModal.css create mode 100644 frontend/src/views/Dashboard/SettingsModal.js create mode 100644 frontend/src/views/Dashboard/SettingsModal.test.js create mode 100644 frontend/src/views/Dashboard/SettingsModal.vue diff --git a/frontend/package.json b/frontend/package.json index f79713f..4476223 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,7 +4,7 @@ "version": "0.1.0", "type": "module", "scripts": { - "test": "node --test src/App.test.js src/views/PasswordReset/PasswordReset.test.js src/views/SetupWizard/SetupWizard.test.js src/views/SetupWizard/SetupWizardBootstrap.test.js src/views/SetupWizard/DatabaseSetup.test.js src/views/SetupWizard/SetupWizardLayout.test.js src/views/SetupWizard/BootstrapPayload.test.js src/views/Dashboard/Dashboard.test.js src/views/UserManagement/UserManagement.test.js src/views/components/HelpTip/HelpTip.test.js", + "test": "node --test src/App.test.js src/views/PasswordReset/PasswordReset.test.js src/views/SetupWizard/SetupWizard.test.js src/views/SetupWizard/SetupWizardBootstrap.test.js src/views/SetupWizard/DatabaseSetup.test.js src/views/SetupWizard/SetupWizardLayout.test.js src/views/SetupWizard/BootstrapPayload.test.js src/views/Dashboard/Dashboard.test.js src/views/Dashboard/SettingsModal.test.js src/views/UserManagement/UserManagement.test.js src/views/components/HelpTip/HelpTip.test.js", "dev": "vite", "build": "vite build", "preview": "vite preview" diff --git a/frontend/src/views/Dashboard/Dashboard.js b/frontend/src/views/Dashboard/Dashboard.js index eb45b34..8f62767 100644 --- a/frontend/src/views/Dashboard/Dashboard.js +++ b/frontend/src/views/Dashboard/Dashboard.js @@ -1183,6 +1183,7 @@ export function useDashboard() { dnsVerificationElapsedSeconds, dnsVerificationTimeoutSeconds, dnsReadyToSave, + dnsVerificationRequired, handleDNSProviderChange, clearDNSCredentials, testDNS, diff --git a/frontend/src/views/Dashboard/Dashboard.test.js b/frontend/src/views/Dashboard/Dashboard.test.js index 5b45e65..1bbc0a7 100644 --- a/frontend/src/views/Dashboard/Dashboard.test.js +++ b/frontend/src/views/Dashboard/Dashboard.test.js @@ -162,4 +162,17 @@ test("auditActionLabel", async (t) => { assert.equal(state.auditActionLabel(null), state.taskTypeLabel(null)); assert.equal(state.auditActionLabel(undefined), state.taskTypeLabel(undefined)); assert.equal(state.auditActionLabel(""), state.taskTypeLabel("")); -}); \ No newline at end of file +}); + +test("settings.savedDnsCredentialsRemainOptionalUntilChanged", async (t) => { + const { state } = await setup(t, () => verifiedResponse()); + assert.equal(state.dnsVerificationRequired.value, false); + state.settingsForm.value.acme.renewal_threshold_days = 91; + assert.equal(state.dnsVerificationRequired.value, false); + assert.equal(state.dnsReadyToSave.value, true); + await fill(state); + assert.equal(state.dnsVerificationRequired.value, true); + assert.equal(state.dnsReadyToSave.value, false); + await state.testDNS(); + assert.equal(state.dnsReadyToSave.value, true); +}); diff --git a/frontend/src/views/Dashboard/Dashboard.vue b/frontend/src/views/Dashboard/Dashboard.vue index b57da4f..9a8add0 100644 --- a/frontend/src/views/Dashboard/Dashboard.vue +++ b/frontend/src/views/Dashboard/Dashboard.vue @@ -1,8 +1,10 @@