1818 @click =" mobileCloseNavigation" >
1919 <template #icon >
2020 <NcLoadingIcon v-if =" loading" :size =" 16" />
21- <IconCheck v-else-if =" isExpired" :size =" 16" />
22- <FormsIcon v-else :size =" 16" />
21+ <NcIconSvgWrapper v-else-if =" isExpired" :svg = " IconCheck " :size =" 16" />
22+ <NcIconSvgWrapper v-else :svg = " FormsIcon " :size =" 16" />
2323 </template >
2424 <template v-if =" hasSubtitle " #subname >
2525 {{ formSubtitle }}
3434 :to =" { name: 'edit', params: { hash: form.hash } }"
3535 @click =" mobileCloseNavigation" >
3636 <template #icon >
37- <IconPencil :size = " 20 " />
37+ <NcIconSvgWrapper :svg = " IconPencil " />
3838 </template >
3939 {{ t('forms', 'Edit form') }}
4040 </NcActionRouter >
4343 closeAfterClick
4444 @click =" onShareForm" >
4545 <template #icon >
46- <IconShareVariant :size = " 20 " />
46+ <NcIconSvgWrapper :svg = " IconShareVariant " />
4747 </template >
4848 {{ t('forms', 'Share form') }}
4949 </NcActionButton >
5353 :to =" { name: 'results', params: { hash: form.hash } }"
5454 @click =" mobileCloseNavigation" >
5555 <template #icon >
56- <IconPoll :size = " 20 " />
56+ <NcIconSvgWrapper :svg = " IconPoll " />
5757 </template >
5858 {{ t('forms', 'Responses') }}
5959 </NcActionRouter >
6060 <NcActionButton v-if =" canEdit" closeAfterClick @click =" onCloneForm" >
6161 <template #icon >
62- <IconContentCopy :size = " 20 " />
62+ <NcIconSvgWrapper :svg = " IconContentCopy " />
6363 </template >
6464 {{ t('forms', 'Copy form') }}
6565 </NcActionButton >
7070 :disabled =" isFormLocked"
7171 @click =" onToggleArchive" >
7272 <template #icon >
73- <IconArchiveOff v-if =" isArchived" :size =" 20" />
74- <IconArchive v-else :size =" 20" />
73+ <NcIconSvgWrapper
74+ v-if =" isArchived"
75+ :svg =" IconArchiveOff"
76+ :size =" 20" />
77+ <NcIconSvgWrapper v-else :svg =" IconArchive" :size =" 20" />
7578 </template >
7679 {{
7780 isArchived
8588 :disabled =" isFormLocked"
8689 @click =" onConfirmDelete" >
8790 <template #icon >
88- <IconDelete :size = " 20 " />
91+ <NcIconSvgWrapper :svg = " IconDelete " />
8992 </template >
9093 {{ t('forms', 'Delete form') }}
9194 </NcActionButton >
9497</template >
9598
9699<script >
100+ import IconArchive from ' @material-symbols/svg-400/outlined/archive.svg?raw'
101+ import IconPoll from ' @material-symbols/svg-400/outlined/bar_chart.svg?raw'
102+ import IconCheck from ' @material-symbols/svg-400/outlined/check.svg?raw'
103+ import IconContentCopy from ' @material-symbols/svg-400/outlined/content_copy.svg?raw'
104+ import IconDelete from ' @material-symbols/svg-400/outlined/delete.svg?raw'
105+ import IconPencil from ' @material-symbols/svg-400/outlined/edit.svg?raw'
106+ import IconShareVariant from ' @material-symbols/svg-400/outlined/share.svg?raw'
107+ import IconArchiveOff from ' @material-symbols/svg-400/outlined/unarchive.svg?raw'
97108import { getCurrentUser } from ' @nextcloud/auth'
98109import axios from ' @nextcloud/axios'
99110import { showConfirmation , showError } from ' @nextcloud/dialogs'
@@ -102,17 +113,10 @@ import { generateOcsUrl } from '@nextcloud/router'
102113import NcActionButton from ' @nextcloud/vue/components/NcActionButton'
103114import NcActionRouter from ' @nextcloud/vue/components/NcActionRouter'
104115import NcActionSeparator from ' @nextcloud/vue/components/NcActionSeparator'
116+ import NcIconSvgWrapper from ' @nextcloud/vue/components/NcIconSvgWrapper'
105117import NcListItem from ' @nextcloud/vue/components/NcListItem'
106118import NcLoadingIcon from ' @nextcloud/vue/components/NcLoadingIcon'
107- import IconArchiveOff from ' vue-material-design-icons/ArchiveOffOutline.vue'
108- import IconArchive from ' vue-material-design-icons/ArchiveOutline.vue'
109- import IconCheck from ' vue-material-design-icons/Check.vue'
110- import IconContentCopy from ' vue-material-design-icons/ContentCopy.vue'
111- import IconPencil from ' vue-material-design-icons/PencilOutline.vue'
112- import IconPoll from ' vue-material-design-icons/Poll.vue'
113- import IconShareVariant from ' vue-material-design-icons/ShareVariantOutline.vue'
114- import IconDelete from ' vue-material-design-icons/TrashCanOutline.vue'
115- import FormsIcon from ' ./Icons/FormsIcon.vue'
119+ import FormsIcon from ' ../../img/forms-dark.svg?raw'
116120import PermissionTypes from ' ../mixins/PermissionTypes.js'
117121import { FormState } from ' ../models/Constants.ts'
118122import logger from ' ../utils/Logger.js'
@@ -121,18 +125,10 @@ export default {
121125 name: ' AppNavigationForm' ,
122126
123127 components: {
124- FormsIcon,
125- IconArchive,
126- IconArchiveOff,
127- IconCheck,
128- IconContentCopy,
129- IconDelete,
130- IconPencil,
131- IconPoll,
132- IconShareVariant,
133128 NcActionButton,
134129 NcActionRouter,
135130 NcActionSeparator,
131+ NcIconSvgWrapper,
136132 NcListItem,
137133 NcLoadingIcon,
138134 },
@@ -159,6 +155,20 @@ export default {
159155
160156 emits: [' mobileCloseNavigation' , ' openSharing' , ' clone' , ' delete' ],
161157
158+ setup () {
159+ return {
160+ FormsIcon,
161+ IconArchive,
162+ IconArchiveOff,
163+ IconCheck,
164+ IconContentCopy,
165+ IconDelete,
166+ IconPencil,
167+ IconPoll,
168+ IconShareVariant,
169+ }
170+ },
171+
162172 data () {
163173 return {
164174 loading: false ,
0 commit comments