From 6a09ec60917dba2ffc143ae87467e59842ef53e9 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com.> Date: Wed, 3 Sep 2025 10:20:43 +0100 Subject: [PATCH] fix signature apperance --- .../public/locales/en-GB/translation.json | 1 + .../CertificateFilesSettings.tsx | 1 + .../useManageSignaturesParameters.ts | 4 ++-- frontend/src/tools/ManageSignatures.tsx | 19 +++++++++++++++++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/frontend/public/locales/en-GB/translation.json b/frontend/public/locales/en-GB/translation.json index 5a1563ea5..b6979a84b 100644 --- a/frontend/public/locales/en-GB/translation.json +++ b/frontend/public/locales/en-GB/translation.json @@ -2476,6 +2476,7 @@ "chooseP12File": "Choose PKCS12 File", "chooseJksFile": "Choose JKS File", "password": "Certificate Password", + "passwordOptional": "Leave empty if no password", "showSignature": "Show visible signature on PDF", "reason": "Reason for Signing", "location": "Location", diff --git a/frontend/src/components/tools/manageSignatures/CertificateFilesSettings.tsx b/frontend/src/components/tools/manageSignatures/CertificateFilesSettings.tsx index b1dd90536..cd2589a11 100644 --- a/frontend/src/components/tools/manageSignatures/CertificateFilesSettings.tsx +++ b/frontend/src/components/tools/manageSignatures/CertificateFilesSettings.tsx @@ -64,6 +64,7 @@ const CertificateFilesSettings = ({ parameters, onParameterChange, disabled = fa ) && ( onParameterChange('password', event.currentTarget.value)} diff --git a/frontend/src/hooks/tools/manageSignatures/useManageSignaturesParameters.ts b/frontend/src/hooks/tools/manageSignatures/useManageSignaturesParameters.ts index 6d3a9dc9e..4c226eabc 100644 --- a/frontend/src/hooks/tools/manageSignatures/useManageSignaturesParameters.ts +++ b/frontend/src/hooks/tools/manageSignatures/useManageSignaturesParameters.ts @@ -37,8 +37,8 @@ export const useManageSignaturesParameters = (): ManageSignaturesParametersHook defaultParameters, endpointName: 'manage-signatures', validateFn: (params) => { - // Requires certificate type and password - if (!params.certType || !params.password) { + // Requires certificate type + if (!params.certType) { return false; } diff --git a/frontend/src/tools/ManageSignatures.tsx b/frontend/src/tools/ManageSignatures.tsx index d9ad57967..03716b265 100644 --- a/frontend/src/tools/ManageSignatures.tsx +++ b/frontend/src/tools/ManageSignatures.tsx @@ -23,6 +23,21 @@ const ManageSignatures = (props: BaseToolProps) => { const certTypeTips = useCertificateTypeTips(); const appearanceTips = useSignatureAppearanceTips(); + // Check if certificate files are configured for appearance step + const areCertFilesConfigured = () => { + const params = base.params.parameters; + switch (params.certType) { + case 'PEM': + return !!(params.privateKeyFile && params.certFile); + case 'PKCS12': + return !!params.p12File; + case 'JKS': + return !!params.jksFile; + default: + return false; + } + }; + return createToolFlow({ forceStepNumbers: true, files: { @@ -58,8 +73,8 @@ const ManageSignatures = (props: BaseToolProps) => { }, { title: t("manageSignatures.appearance.stepTitle", "Signature Appearance"), - isCollapsed: base.settingsCollapsed, - onCollapsedClick: base.settingsCollapsed ? base.handleSettingsReset : undefined, + isCollapsed: base.settingsCollapsed || !areCertFilesConfigured(), + onCollapsedClick: (base.settingsCollapsed || !areCertFilesConfigured()) ? base.handleSettingsReset : undefined, tooltip: appearanceTips, content: (