diff --git a/src/components/AppNavigation/ContactsSettings.vue b/src/components/AppNavigation/ContactsSettings.vue
index 0dfb80637..e960653dd 100644
--- a/src/components/AppNavigation/ContactsSettings.vue
+++ b/src/components/AppNavigation/ContactsSettings.vue
@@ -26,6 +26,15 @@
:addressbooks="addressbooks"
@clicked="onClickImport"
@file-loaded="onLoad" />
+
+
+
+
+
+
+
@@ -42,17 +51,20 @@
import axios from '@nextcloud/axios'
import { showError, showSuccess } from '@nextcloud/dialogs'
import { loadState } from '@nextcloud/initial-state'
-import { generateUrl } from '@nextcloud/router'
+import { generateRemoteUrl, generateUrl } from '@nextcloud/router'
import {
NcAppSettingsDialog as AppSettingsDialog,
NcAppSettingsSection as AppSettingsSection,
} from '@nextcloud/vue'
import NcFormBox from '@nextcloud/vue/components/NcFormBox'
+import NcFormBoxCopyButton from '@nextcloud/vue/components/NcFormBoxCopyButton'
import NcFormBoxSwitch from '@nextcloud/vue/components/NcFormBoxSwitch'
+import NcFormGroup from '@nextcloud/vue/components/NcFormGroup'
import SettingsAddressbook from './Settings/SettingsAddressbook.vue'
import SettingsImportContacts from './Settings/SettingsImportContacts.vue'
import SettingsNewAddressbook from './Settings/SettingsNewAddressbook.vue'
import SettingsSortContacts from './Settings/SettingsSortContacts.vue'
+import usePrincipalsStore from '../../store/principals.js'
export default {
name: 'ContactsSettings',
@@ -60,7 +72,9 @@ export default {
AppSettingsDialog,
AppSettingsSection,
NcFormBox,
+ NcFormBoxCopyButton,
NcFormBoxSwitch,
+ NcFormGroup,
SettingsAddressbook,
SettingsNewAddressbook,
SettingsImportContacts,
@@ -88,6 +102,23 @@ export default {
addressbooks() {
return this.$store.getters.getAddressbooks
},
+
+ currentUserPrincipal() {
+ const principalsStore = usePrincipalsStore()
+ return principalsStore.currentUserPrincipal
+ },
+
+ primaryCardDAV() {
+ return generateRemoteUrl('dav')
+ },
+
+ appleCardDAV() {
+ const principalUrl = this.currentUserPrincipal?.url || this.currentUserPrincipal?.principalUrl
+ if (!principalUrl) {
+ return ''
+ }
+ return new URL(principalUrl, this.primaryCardDAV).toString()
+ },
},
watch: {