summaryrefslogtreecommitdiffstats
path: root/src/components/AppNavigation
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/AppNavigation')
-rw-r--r--src/components/AppNavigation/CircleNavigationItem.vue51
-rw-r--r--src/components/AppNavigation/ContactsSettings.vue10
-rw-r--r--src/components/AppNavigation/GroupNavigationItem.vue38
-rw-r--r--src/components/AppNavigation/RootNavigation.vue82
-rw-r--r--src/components/AppNavigation/Settings/SettingsAddressbook.vue34
-rw-r--r--src/components/AppNavigation/Settings/SettingsAddressbookShare.vue9
-rw-r--r--src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue13
-rw-r--r--src/components/AppNavigation/Settings/SettingsImportContacts.vue23
-rw-r--r--src/components/AppNavigation/Settings/SettingsNewAddressbook.vue2
-rw-r--r--src/components/AppNavigation/Settings/SettingsSortContacts.vue7
10 files changed, 116 insertions, 153 deletions
diff --git a/src/components/AppNavigation/CircleNavigationItem.vue b/src/components/AppNavigation/CircleNavigationItem.vue
index d276bad1..22be2dad 100644
--- a/src/components/AppNavigation/CircleNavigationItem.vue
+++ b/src/components/AppNavigation/CircleNavigationItem.vue
@@ -20,13 +20,11 @@
-
-->
<template>
- <AppNavigationItem
- :key="circle.key"
+ <AppNavigationItem :key="circle.key"
:title="circle.displayName"
:to="circle.router">
<template #icon>
- <IconCircles
- :size="20" />
+ <IconCircles :size="20" />
</template>
<template v-if="loadingAction" slot="actions">
<ActionText>
@@ -38,28 +36,24 @@
</template>
<template v-else slot="actions">
- <ActionButton
- v-if="circle.canManageMembers"
+ <ActionButton v-if="circle.canManageMembers"
:close-after-click="true"
@click="addMemberToCircle">
<template #icon>
- <IconAdd
- :size="20" />
+ <IconAdd :size="20" />
</template>
{{ t('contacts', 'Add member') }}
</ActionButton>
<!-- copy circle link -->
- <ActionLink
- :href="circleUrl"
+ <ActionLink :href="circleUrl"
:icon="copyLinkIcon"
@click.stop.prevent="copyToClipboard(circleUrl)">
{{ copyButtonText }}
</ActionLink>
<!-- leave circle -->
- <ActionButton
- v-if="circle.canLeave"
+ <ActionButton v-if="circle.canLeave"
@click="confirmLeaveCircle">
{{ t('contacts', 'Leave circle') }}
<ExitToApp slot="icon"
@@ -68,8 +62,7 @@
</ActionButton>
<!-- join circle -->
- <ActionButton
- v-else-if="!circle.isMember && circle.canJoin"
+ <ActionButton v-else-if="!circle.isMember && circle.canJoin"
:disabled="loadingJoin"
@click="joinCircle">
{{ joinButtonTitle }}
@@ -79,12 +72,10 @@
</ActionButton>
<!-- delete circle -->
- <ActionButton
- v-if="circle.canDelete"
+ <ActionButton v-if="circle.canDelete"
@click="confirmDeleteCircle">
<template #icon>
- <IconDelete
- :size="20" />
+ <IconDelete :size="20" />
</template>
{{ t('contacts', 'Delete circle') }}
</ActionButton>
@@ -99,19 +90,19 @@
</template>
<script>
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink'
-import ActionText from '@nextcloud/vue/dist/Components/NcActionText'
-import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble'
-import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
-import ExitToApp from 'vue-material-design-icons/ExitToApp'
-import IconAdd from 'vue-material-design-icons/Plus'
-import IconDelete from 'vue-material-design-icons/Delete'
-import LocationEnter from 'vue-material-design-icons/LocationEnter'
-import IconCircles from '../Icons/IconCircles'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'
+import ActionText from '@nextcloud/vue/dist/Components/NcActionText.js'
+import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'
+import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
+import ExitToApp from 'vue-material-design-icons/ExitToApp.vue'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import LocationEnter from 'vue-material-design-icons/LocationEnter.vue'
+import IconCircles from '../Icons/IconCircles.vue'
import Circle from '../../models/circle.ts'
-import CircleActionsMixin from '../../mixins/CircleActionsMixin'
+import CircleActionsMixin from '../../mixins/CircleActionsMixin.js'
export default {
name: 'CircleNavigationItem',
diff --git a/src/components/AppNavigation/ContactsSettings.vue b/src/components/AppNavigation/ContactsSettings.vue
index a355bde3..9cb402f6 100644
--- a/src/components/AppNavigation/ContactsSettings.vue
+++ b/src/components/AppNavigation/ContactsSettings.vue
@@ -62,11 +62,11 @@
import axios from '@nextcloud/axios'
import { generateUrl } from '@nextcloud/router'
import { loadState } from '@nextcloud/initial-state'
-import SettingsAddressbook from './Settings/SettingsAddressbook'
-import SettingsNewAddressbook from './Settings/SettingsNewAddressbook'
-import SettingsImportContacts from './Settings/SettingsImportContacts'
-import SettingsSortContacts from './Settings/SettingsSortContacts'
-import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch'
+import SettingsAddressbook from './Settings/SettingsAddressbook.vue'
+import SettingsNewAddressbook from './Settings/SettingsNewAddressbook.vue'
+import SettingsImportContacts from './Settings/SettingsImportContacts.vue'
+import SettingsSortContacts from './Settings/SettingsSortContacts.vue'
+import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'
import { CONTACTS_SETTINGS } from '../../models/constants.ts'
import { NcAppSettingsDialog as AppSettingsDialog, NcAppSettingsSection as AppSettingsSection } from '@nextcloud/vue'
diff --git a/src/components/AppNavigation/GroupNavigationItem.vue b/src/components/AppNavigation/GroupNavigationItem.vue
index adfd3cf9..9ffad9ba 100644
--- a/src/components/AppNavigation/GroupNavigationItem.vue
+++ b/src/components/AppNavigation/GroupNavigationItem.vue
@@ -20,38 +20,30 @@
-
-->
<template>
- <AppNavigationItem
- :key="group.key"
+ <AppNavigationItem :key="group.key"
:to="group.router"
:title="group.name">
<template #icon>
- <IconContact
- :size="20" />
+ <IconContact :size="20" />
</template>
<template slot="actions">
- <ActionButton
- :close-after-click="true"
+ <ActionButton :close-after-click="true"
@click="addContactsToGroup(group)">
<template #icon>
- <IconAdd
- :size="20" />
+ <IconAdd :size="20" />
</template>
{{ t('contacts', 'Add contacts') }}
</ActionButton>
- <ActionButton
- :close-after-click="true"
+ <ActionButton :close-after-click="true"
@click="downloadGroup(group)">
<template #icon>
- <IconDownload
- :size="20" />
+ <IconDownload :size="20" />
</template>
{{ t('contacts', 'Download') }}
</ActionButton>
- <ActionButton
- @click="emailGroup(group)">
+ <ActionButton @click="emailGroup(group)">
<template #icon>
- <IconEmail
- :size="20" />
+ <IconEmail :size="20" />
</template>
{{ t('contacts', 'Send email') }}
</ActionButton>
@@ -70,13 +62,13 @@ import { emit } from '@nextcloud/event-bus'
import download from 'downloadjs'
import moment from 'moment'
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble'
-import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
-import IconAdd from 'vue-material-design-icons/Plus'
-import IconDownload from 'vue-material-design-icons/Download'
-import IconEmail from 'vue-material-design-icons/Email'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'
+import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
+import IconDownload from 'vue-material-design-icons/Download.vue'
+import IconEmail from 'vue-material-design-icons/Email.vue'
export default {
name: 'GroupNavigationItem',
diff --git a/src/components/AppNavigation/RootNavigation.vue b/src/components/AppNavigation/RootNavigation.vue
index 7e1bf430..bc26c08d 100644
--- a/src/components/AppNavigation/RootNavigation.vue
+++ b/src/components/AppNavigation/RootNavigation.vue
@@ -40,8 +40,7 @@
params: { selectedGroup: GROUP_ALL_CONTACTS },
}">
<template #icon>
- <IconContact
- :size="20" />
+ <IconContact :size="20" />
</template>
<template #counter>
<NcCounterBubble v-if="sortedContacts.length">
@@ -61,8 +60,7 @@
icon="icon-category-monitoring" />
<!-- Not grouped group -->
- <AppNavigationItem
- v-if="ungroupedContacts.length > 0"
+ <AppNavigationItem v-if="ungroupedContacts.length > 0"
id="notgrouped"
:title="GROUP_NO_GROUP_CONTACTS"
:to="{
@@ -70,8 +68,7 @@
params: { selectedGroup: GROUP_NO_GROUP_CONTACTS },
}">
<template #icon>
- <IconUser
- :size="20" />
+ <IconUser :size="20" />
</template>
<template #counter>
<NcCounterBubble v-if="ungroupedContacts.length">
@@ -81,8 +78,7 @@
</AppNavigationItem>
<!-- Recently contacted group -->
- <AppNavigationItem
- v-if="isContactsInteractionEnabled && recentlyContactedContacts && recentlyContactedContacts.contacts.length > 0"
+ <AppNavigationItem v-if="isContactsInteractionEnabled && recentlyContactedContacts && recentlyContactedContacts.contacts.length > 0"
id="recentlycontacted"
:title="GROUP_RECENTLY_CONTACTED"
:to="{
@@ -90,8 +86,7 @@
params: { selectedGroup: GROUP_RECENTLY_CONTACTED },
}">
<template #icon>
- <IconRecentlyContacted
- :size="20" />
+ <IconRecentlyContacted :size="20" />
</template>
<template #counter>
<NcCounterBubble v-if="recentlyContactedContacts.contacts.length">
@@ -100,8 +95,7 @@
</template>
</AppNavigationItem>
- <AppNavigationCaption
- id="newgroup"
+ <AppNavigationCaption id="newgroup"
:force-menu="true"
:menu-open.sync="isNewGroupMenuOpen"
:title="t('contacts', 'Groups')"
@@ -117,31 +111,27 @@
</template>
{{ createGroupError ? createGroupError : t('contacts', 'Create a new group') }}
</ActionText>
- <ActionInput
- icon=""
+ <ActionInput icon=""
:placeholder="t('contacts','Group name')"
@submit.prevent.stop="createNewGroup" />
</template>
</AppNavigationCaption>
<!-- Custom groups -->
- <GroupNavigationItem
- v-for="group in ellipsisGroupsMenu"
+ <GroupNavigationItem v-for="group in ellipsisGroupsMenu"
:key="group.key"
:group="group" />
<template v-if="isCirclesEnabled">
<!-- Toggle groups ellipsis -->
- <AppNavigationItem
- v-if="groupsMenu.length > ELLIPSIS_COUNT"
+ <AppNavigationItem v-if="groupsMenu.length > ELLIPSIS_COUNT"
:title="collapseGroupsTitle"
class="app-navigation__collapse"
icon=""
@click="onToggleGroups" />
<!-- New circle button caption and modal -->
- <AppNavigationCaption
- id="newcircle"
+ <AppNavigationCaption id="newcircle"
:title="t('contacts', 'Circles')">
<template #actions>
<NcActionButton @click="toggleNewCircleModal">
@@ -159,14 +149,12 @@
<template v-if="circlesMenu.length > 0">
<!-- Circles -->
- <CircleNavigationItem
- v-for="circle in ellipsisCirclesMenu"
+ <CircleNavigationItem v-for="circle in ellipsisCirclesMenu"
:key="circle.key"
:circle="circle" />
<!-- Toggle circles ellipsis -->
- <AppNavigationItem
- v-if="circlesMenu.length > ELLIPSIS_COUNT"
+ <AppNavigationItem v-if="circlesMenu.length > ELLIPSIS_COUNT"
:title="collapseCirclesTitle"
class="app-navigation__collapse"
icon=""
@@ -203,33 +191,33 @@
<script>
import { GROUP_ALL_CONTACTS, CHART_ALL_CONTACTS, GROUP_NO_GROUP_CONTACTS, GROUP_RECENTLY_CONTACTED, ELLIPSIS_COUNT, CIRCLE_DESC, CONTACTS_SETTINGS } from '../../models/constants.ts'
-import ActionInput from '@nextcloud/vue/dist/Components/NcActionInput'
-import ActionText from '@nextcloud/vue/dist/Components/NcActionText'
-import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import AppNavigation from '@nextcloud/vue/dist/Components/NcAppNavigation'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble'
-import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem'
-import AppNavigationCaption from '@nextcloud/vue/dist/Components/NcAppNavigationCaption'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
+import ActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'
+import ActionText from '@nextcloud/vue/dist/Components/NcActionText.js'
+import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import AppNavigation from '@nextcloud/vue/dist/Components/NcAppNavigation.js'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'
+import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'
+import AppNavigationCaption from '@nextcloud/vue/dist/Components/NcAppNavigationCaption.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
import naturalCompare from 'string-natural-compare'
-import CircleNavigationItem from './CircleNavigationItem'
+import CircleNavigationItem from './CircleNavigationItem.vue'
import Cog from 'vue-material-design-icons/Cog.vue'
-import ContactsSettings from './ContactsSettings'
-import GroupNavigationItem from './GroupNavigationItem'
-import NewCircleIntro from '../EntityPicker/NewCircleIntro'
-
-import isCirclesEnabled from '../../services/isCirclesEnabled'
-import isContactsInteractionEnabled from '../../services/isContactsInteractionEnabled'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
-import IconUser from 'vue-material-design-icons/Account'
-import IconRecentlyContacted from '../Icons/IconRecentlyContacted'
-import IconAdd from 'vue-material-design-icons/Plus'
-import IconError from 'vue-material-design-icons/AlertCircle'
-
-import RouterMixin from '../../mixins/RouterMixin'
+import ContactsSettings from './ContactsSettings.vue'
+import GroupNavigationItem from './GroupNavigationItem.vue'
+import NewCircleIntro from '../EntityPicker/NewCircleIntro.vue'
+
+import isCirclesEnabled from '../../services/isCirclesEnabled.js'
+import isContactsInteractionEnabled from '../../services/isContactsInteractionEnabled.js'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
+import IconUser from 'vue-material-design-icons/Account.vue'
+import IconRecentlyContacted from '../Icons/IconRecentlyContacted.vue'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
+import IconError from 'vue-material-design-icons/AlertCircle.vue'
+
+import RouterMixin from '../../mixins/RouterMixin.js'
import { showError } from '@nextcloud/dialogs'
export default {
diff --git a/src/components/AppNavigation/Settings/SettingsAddressbook.vue b/src/components/AppNavigation/Settings/SettingsAddressbook.vue
index b3d50408..cd976f96 100644
--- a/src/components/AppNavigation/Settings/SettingsAddressbook.vue
+++ b/src/components/AppNavigation/Settings/SettingsAddressbook.vue
@@ -45,16 +45,14 @@
<!-- popovermenu -->
<Actions class="addressbook__menu" menu-align="right">
<!-- copy addressbook link -->
- <ActionLink
- :href="addressbook.url"
+ <ActionLink :href="addressbook.url"
:icon="copyLinkIcon"
@click.stop.prevent="copyToClipboard(addressbookUrl)">
{{ copyButtonText }}
</ActionLink>
<!-- download addressbook -->
- <ActionLink
- :href="addressbook.url + '?export'">
+ <ActionLink :href="addressbook.url + '?export'">
<template #icon>
<IconDownload :size="20" />
</template>
@@ -113,22 +111,22 @@
</template>
<script>
-import Actions from '@nextcloud/vue/dist/Components/NcActions'
-import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink'
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import ActionInput from '@nextcloud/vue/dist/Components/NcActionInput'
-import ActionCheckbox from '@nextcloud/vue/dist/Components/NcActionCheckbox'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import IconDownload from 'vue-material-design-icons/Download'
-import IconRename from 'vue-material-design-icons/Pencil'
-import IconDelete from 'vue-material-design-icons/Delete'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
-import IconShare from 'vue-material-design-icons/ShareVariant'
-import ShareAddressBook from './SettingsAddressbookShare'
+import Actions from '@nextcloud/vue/dist/Components/NcActions.js'
+import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import ActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'
+import ActionCheckbox from '@nextcloud/vue/dist/Components/NcActionCheckbox.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import IconDownload from 'vue-material-design-icons/Download.vue'
+import IconRename from 'vue-material-design-icons/Pencil.vue'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
+import IconShare from 'vue-material-design-icons/ShareVariant.vue'
+import ShareAddressBook from './SettingsAddressbookShare.vue'
import { showError } from '@nextcloud/dialogs'
-import CopyToClipboardMixin from '../../../mixins/CopyToClipboardMixin'
+import CopyToClipboardMixin from '../../../mixins/CopyToClipboardMixin.js'
export default {
name: 'SettingsAddressbook',
diff --git a/src/components/AppNavigation/Settings/SettingsAddressbookShare.vue b/src/components/AppNavigation/Settings/SettingsAddressbookShare.vue
index c1583e35..f54d50fb 100644
--- a/src/components/AppNavigation/Settings/SettingsAddressbookShare.vue
+++ b/src/components/AppNavigation/Settings/SettingsAddressbookShare.vue
@@ -22,8 +22,7 @@
<template>
<div class="addressbook-shares">
- <Multiselect
- id="users-groups-search"
+ <Multiselect id="users-groups-search"
:options="usersOrGroups"
:searchable="true"
:internal-search="false"
@@ -48,10 +47,10 @@
</template>
<script>
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import client from '../../../services/cdav'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import client from '../../../services/cdav.js'
-import addressBookSharee from './SettingsAddressbookSharee'
+import addressBookSharee from './SettingsAddressbookSharee.vue'
import debounce from 'debounce'
import { urldecode } from '../../../utils/url.js'
diff --git a/src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue b/src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue
index 75a8c043..91cb9a6d 100644
--- a/src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue
+++ b/src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue
@@ -30,8 +30,7 @@
{{ sharee.displayName }}
</span>
<span class="addressbook-sharee__utils">
- <input
- :id="uid"
+ <input :id="uid"
:checked="writeable"
:disabled="loading"
class="checkbox"
@@ -56,11 +55,11 @@
<script>
import { showError } from '@nextcloud/dialogs'
-import IconDelete from 'vue-material-design-icons/Delete'
-import IconGroup from 'vue-material-design-icons/AccountMultiple'
-import IconUser from 'vue-material-design-icons/Account'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import IconGroup from 'vue-material-design-icons/AccountMultiple.vue'
+import IconUser from 'vue-material-design-icons/Account.vue'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
export default {
name: 'SettingsAddressbookSharee',
diff --git a/src/components/AppNavigation/Settings/SettingsImportContacts.vue b/src/components/AppNavigation/Settings/SettingsImportContacts.vue
index 2eac8403..31834f75 100644
--- a/src/components/AppNavigation/Settings/SettingsImportContacts.vue
+++ b/src/components/AppNavigation/Settings/SettingsImportContacts.vue
@@ -36,8 +36,7 @@
@close="toggleModal">
<section class="import-contact__modal-addressbook">
<h3>{{ t('contacts', 'Import contacts') }}</h3>
- <Multiselect
- v-if="!isSingleAddressbook"
+ <Multiselect v-if="!isSingleAddressbook"
id="select-addressbook"
v-model="selectedAddressbook"
:allow-empty="false"
@@ -58,8 +57,7 @@
type="file"
class="hidden-visually"
@change="processFile">
- <Button
- :disabled="loading"
+ <Button :disabled="loading"
class="import-contact__button import-contact__button--local"
@click="clickImportInput">
<template #icon>
@@ -67,8 +65,7 @@
</template>
{{ t('contacts', 'Select local file') }}
</Button>
- <Button
- type="primary"
+ <Button type="primary"
:disabled="loading"
class="import-contact__button import-contact__button--files"
@click="openPicker">
@@ -95,18 +92,18 @@
</template>
<script>
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import Modal from '@nextcloud/vue/dist/Components/NcModal'
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import Modal from '@nextcloud/vue/dist/Components/NcModal.js'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
import { encodePath } from '@nextcloud/paths'
import { getCurrentUser } from '@nextcloud/auth'
import { generateRemoteUrl } from '@nextcloud/router'
import { getFilePickerBuilder } from '@nextcloud/dialogs'
import axios from '@nextcloud/axios'
-import IconUpload from 'vue-material-design-icons/Upload'
-import IconError from 'vue-material-design-icons/AlertCircle'
-import IconFolder from 'vue-material-design-icons/Folder'
+import IconUpload from 'vue-material-design-icons/Upload.vue'
+import IconError from 'vue-material-design-icons/AlertCircle.vue'
+import IconFolder from 'vue-material-design-icons/Folder.vue'
const CancelToken = axios.CancelToken
diff --git a/src/components/AppNavigation/Settings/SettingsNewAddressbook.vue b/src/components/AppNavigation/Settings/SettingsNewAddressbook.vue
index 52de5e4e..2ecec899 100644
--- a/src/components/AppNavigation/Settings/SettingsNewAddressbook.vue
+++ b/src/components/AppNavigation/Settings/SettingsNewAddressbook.vue
@@ -49,7 +49,7 @@
<script>
import { showError } from '@nextcloud/dialogs'
-import IconAdd from 'vue-material-design-icons/Plus'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
export default {
name: 'SettingsNewAddressbook',
diff --git a/src/components/AppNavigation/Settings/SettingsSortContacts.vue b/src/components/AppNavigation/Settings/SettingsSortContacts.vue
index 839bd770..9f40df50 100644
--- a/src/components/AppNavigation/Settings/SettingsSortContacts.vue
+++ b/src/components/AppNavigation/Settings/SettingsSortContacts.vue
@@ -23,8 +23,7 @@
<template>
<div class="sort-contacts">
<IconList class="settings-line__icon" />
- <Multiselect
- id="sort-by"
+ <Multiselect id="sort-by"
:value="orderKeyOption"
:searchable="false"
:allow-empty="false"
@@ -37,8 +36,8 @@
</template>
<script>
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import IconList from 'vue-material-design-icons/FormatListBulletedSquare'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import IconList from 'vue-material-design-icons/FormatListBulletedSquare.vue'
export default {
name: 'SettingsSortContacts',