feat: add certificate export and upload dialogs

- Implemented CertificateExportDialog for exporting certificates in various formats (PEM, PFX, DER) with options to include private keys and set passwords.
- Created CertificateUploadDialog for uploading certificates, including validation and support for multiple file types (certificates, private keys, chain files).
- Updated DeleteCertificateDialog to use 'domains' instead of 'domain' for consistency.
- Refactored BulkDeleteCertificateDialog and DeleteCertificateDialog tests to accommodate changes in certificate structure.
- Added FileDropZone component for improved file upload experience.
- Enhanced translation files with new keys for certificate management features.
- Updated Certificates page to utilize the new CertificateUploadDialog and clean up the upload logic.
- Adjusted Dashboard and ProxyHosts pages to reflect changes in certificate data structure.
This commit is contained in:
GitHub Actions
2026-04-11 23:32:22 +00:00
parent e49ea7061a
commit 30c9d735aa
26 changed files with 1428 additions and 531 deletions
+2 -2
View File
@@ -44,8 +44,8 @@ export default function Dashboard() {
const certifiedDomains = new Set<string>()
for (const cert of certificates) {
// Handle missing or undefined domain field
if (!cert.domain) continue
for (const d of cert.domain.split(',')) {
if (!cert.domains) continue
for (const d of cert.domains.split(',')) {
const trimmed = d.trim().toLowerCase()
if (trimmed) certifiedDomains.add(trimmed)
}