diff --git a/dashboard/src/components/DomainDialog.vue b/dashboard/src/components/DomainDialog.vue index dc2715cee..5e3343afa 100644 --- a/dashboard/src/components/DomainDialog.vue +++ b/dashboard/src/components/DomainDialog.vue @@ -9,15 +9,6 @@ const emit = defineEmits([ 'success' ]); const domainsModel = DomainsModel.create(); - // currently, validation of wildcard with various provider is done server side - const tlsProviders = [ - { name: 'Let\'s Encrypt Prod', value: 'letsencrypt-prod' }, - { name: 'Let\'s Encrypt Prod - Wildcard', value: 'letsencrypt-prod-wildcard' }, - { name: 'Let\'s Encrypt Staging', value: 'letsencrypt-staging' }, - { name: 'Let\'s Encrypt Staging - Wildcard', value: 'letsencrypt-staging-wildcard' }, - { name: 'Custom Wildcard Certificate', value: 'fallback' }, -]; - const dialog = useTemplateRef('dialog'); const busy = ref(false); @@ -87,6 +78,9 @@ defineExpose({ customNameservers.value = d.config.customNameservers; dialog.value.open(); + + // ensure we trigger this once + setTimeout(checkValidity, 100); } }); @@ -97,10 +91,9 @@ defineExpose({ :title="editing ? $t('domains.domainDialog.editTitle', { domain: domain }) : $t('domains.domainDialog.addTitle')" :modal="busy" :confirm-busy="busy" - :confirm-active="isFormValid" + :confirm-active="!busy && isFormValid" :confirm-label="$t('main.dialog.save')" :reject-label="busy ? null : $t('main.dialog.cancel')" - :reject-active="!busy" reject-style="secondary" @confirm="onSubmit()" > @@ -109,6 +102,7 @@ defineExpose({