From 46f31de8372ab68bd54d2f6ed8686602c97d3a34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20Le=C3=9Fmann=20=28=40Mark=2ETwoFive=29?= Date: Sun, 22 Jun 2025 14:52:58 +0200 Subject: [PATCH] wip: Add more fields for certificate information - Most of the code is generated by Junie but was reviewed and updated by me. - Also install iso-3166-1 library to provide country lists --- frontend/package.json | 5 +- frontend/pnpm-lock.yaml | 8 + frontend/src/components/CertificateEditor.vue | 242 +++++++++++++++++- frontend/src/components/CountryListItem.vue | 45 ++++ 4 files changed, 288 insertions(+), 12 deletions(-) create mode 100644 frontend/src/components/CountryListItem.vue diff --git a/frontend/package.json b/frontend/package.json index e0386e7..974a918 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -15,10 +15,11 @@ "dependencies": { "@mdi/font": "7.4.47", "core-js": "^3.41.0", + "iso-3166-1": "^2.1.1", + "openapi-fetch": "^0.14.0", "roboto-fontface": "*", "vue": "^3.5.13", - "vuetify": "^3.8.1", - "openapi-fetch": "^0.14.0" + "vuetify": "^3.8.1" }, "devDependencies": { "@eslint/js": "^9.24.0", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 3f65013..04ba1d6 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: core-js: specifier: ^3.41.0 version: 3.41.0 + iso-3166-1: + specifier: ^2.1.1 + version: 2.1.1 openapi-fetch: specifier: ^0.14.0 version: 0.14.0 @@ -1289,6 +1292,9 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} + iso-3166-1@2.1.1: + resolution: {integrity: sha512-RZxXf8cw5Y8LyHZIwIRvKw8sWTIHh2/txBT+ehO0QroesVfnz3JNFFX4i/OC/Yuv2bDIVYrHna5PMvjtpefq5w==} + js-levenshtein@1.1.6: resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} engines: {node: '>=0.10.0'} @@ -3361,6 +3367,8 @@ snapshots: isexe@3.1.1: {} + iso-3166-1@2.1.1: {} + js-levenshtein@1.1.6: {} js-tokens@4.0.0: {} diff --git a/frontend/src/components/CertificateEditor.vue b/frontend/src/components/CertificateEditor.vue index 6ddab90..32197e9 100644 --- a/frontend/src/components/CertificateEditor.vue +++ b/frontend/src/components/CertificateEditor.vue @@ -1,34 +1,140 @@ @@ -38,41 +144,132 @@ async function submitNewCertificate() { ref="form" v-model="formModel" :disabled="isSubmitting" - @submit="submitNewCertificate" + @submit.prevent="submitNewCertificate" >

New certificate

-
+ +
Subject details + + + + + + + + + + + + + +
+ +
+ Domain Names -
    +
    • {{ domain }}
+ +
+ Certificate Settings + + + +
+ +
+
+ Send certificate request @@ -80,5 +277,30 @@ async function submitNewCertificate() { diff --git a/frontend/src/components/CountryListItem.vue b/frontend/src/components/CountryListItem.vue new file mode 100644 index 0000000..e29bc0f --- /dev/null +++ b/frontend/src/components/CountryListItem.vue @@ -0,0 +1,45 @@ + + +