diff --git a/dashboard/public/translation/en.json b/dashboard/public/translation/en.json index 3eed8c18c..122dc9e77 100644 --- a/dashboard/public/translation/en.json +++ b/dashboard/public/translation/en.json @@ -851,7 +851,9 @@ "inwxUsername": "INWX username", "inwxPassword": "INWX password", "customNameservers": "Domain uses custom (vanity) nameservers", - "zoneNamePlaceholder": "Optional. If not provided, defaults to the root domain." + "zoneNamePlaceholder": "Optional. If not provided, defaults to the root domain.", + "carddavLocation": "CardDAV server location", + "caldavLocation": "CalDAV server location" }, "removeDialog": { "title": "Remove Domain", @@ -1713,6 +1715,7 @@ "title": "Server" }, "communityapp": { - "installwarning": "Community apps are not reviewed by Cloudron. Only install apps from trusted developers. Third-party code can compromise your system." + "installwarning": "Community apps are not reviewed by Cloudron. Only install apps from trusted developers. Third-party code can compromise your system.", + "unstablewarning": "This app is marked as unstable by its developer." } } diff --git a/dashboard/src/components/WellKnownDialog.vue b/dashboard/src/components/WellKnownDialog.vue index 8806e7c15..1faac0631 100644 --- a/dashboard/src/components/WellKnownDialog.vue +++ b/dashboard/src/components/WellKnownDialog.vue @@ -15,6 +15,8 @@ const domain = ref(''); const matrixHostname = ref(''); const mastodonHostname = ref(''); const jitsiHostname = ref(''); +const carddavLocation = ref(''); +const caldavLocation = ref(''); async function onSubmit() { busy.value = true; @@ -47,6 +49,9 @@ async function onSubmit() { + ''; } + if (carddavLocation.value) wellKnown['carddav'] = carddavLocation.value; + if (caldavLocation.value) wellKnown['caldav'] = caldavLocation.value; + const [error] = await domainsModel.setWellKnown(domain.value, wellKnown); if (error) { errorMessage.value = error.body ? error.body.message : 'Internal error'; @@ -110,6 +115,16 @@ defineExpose({
{{ errorMessage }}
+