Page MenuHomePhorge

D3526.1775438256.diff
No OneTemporary

Authored By
Unknown
Size
55 KB
Referenced Files
None
Subscribers
None

D3526.1775438256.diff

diff --git a/src/package-lock.json b/src/package-lock.json
--- a/src/package-lock.json
+++ b/src/package-lock.json
@@ -7,9 +7,9 @@
"devDependencies": {
"@babel/eslint-parser": "^7.17.0",
"@fortawesome/fontawesome-svg-core": "^1.2.35",
- "@fortawesome/free-brands-svg-icons": "^5.15.3",
- "@fortawesome/free-regular-svg-icons": "^5.15.3",
- "@fortawesome/free-solid-svg-icons": "^5.15.3",
+ "@fortawesome/free-brands-svg-icons": "^6",
+ "@fortawesome/free-regular-svg-icons": "^6",
+ "@fortawesome/free-solid-svg-icons": "^6",
"@fortawesome/vue-fontawesome": "^2.0.6",
"@popperjs/core": "^2.11.5",
"axios": "^0.26.1",
@@ -1719,44 +1719,74 @@
}
},
"node_modules/@fortawesome/free-brands-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.4.tgz",
- "integrity": "sha512-f1witbwycL9cTENJegcmcZRYyawAFbm8+c6IirLmwbbpqz46wyjbQYLuxOc7weXFXfB7QR8/Vd2u5R3q6JYD9g==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-mFbI/czjBZ+paUtw5NPr2IXjun5KAC8eFqh1hnxowjA4mMZxWz4GCIksq6j9ZSa6Uxj9JhjjDVEd77p2LN2Blg==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.1.1"
},
"engines": {
"node": ">=6"
}
},
+ "node_modules/@fortawesome/free-brands-svg-icons/node_modules/@fortawesome/fontawesome-common-types": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
+ "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@fortawesome/free-regular-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.4.tgz",
- "integrity": "sha512-9VNNnU3CXHy9XednJ3wzQp6SwNwT3XaM26oS4Rp391GsxVYA+0oDR2J194YCIWf7jNRCYKjUCOduxdceLrx+xw==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.1.1"
},
"engines": {
"node": ">=6"
}
},
+ "node_modules/@fortawesome/free-regular-svg-icons/node_modules/@fortawesome/fontawesome-common-types": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
+ "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@fortawesome/free-solid-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz",
- "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.1.1"
},
"engines": {
"node": ">=6"
}
},
+ "node_modules/@fortawesome/free-solid-svg-icons/node_modules/@fortawesome/fontawesome-common-types": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
+ "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@fortawesome/vue-fontawesome": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.6.tgz",
@@ -13586,30 +13616,54 @@
}
},
"@fortawesome/free-brands-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.4.tgz",
- "integrity": "sha512-f1witbwycL9cTENJegcmcZRYyawAFbm8+c6IirLmwbbpqz46wyjbQYLuxOc7weXFXfB7QR8/Vd2u5R3q6JYD9g==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-mFbI/czjBZ+paUtw5NPr2IXjun5KAC8eFqh1hnxowjA4mMZxWz4GCIksq6j9ZSa6Uxj9JhjjDVEd77p2LN2Blg==",
"dev": true,
"requires": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.1.1"
+ },
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
+ "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==",
+ "dev": true
+ }
}
},
"@fortawesome/free-regular-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.4.tgz",
- "integrity": "sha512-9VNNnU3CXHy9XednJ3wzQp6SwNwT3XaM26oS4Rp391GsxVYA+0oDR2J194YCIWf7jNRCYKjUCOduxdceLrx+xw==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==",
"dev": true,
"requires": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.1.1"
+ },
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
+ "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==",
+ "dev": true
+ }
}
},
"@fortawesome/free-solid-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz",
- "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz",
+ "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==",
"dev": true,
"requires": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.1.1"
+ },
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
+ "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==",
+ "dev": true
+ }
}
},
"@fortawesome/vue-fontawesome": {
diff --git a/src/package.json b/src/package.json
--- a/src/package.json
+++ b/src/package.json
@@ -13,9 +13,9 @@
"devDependencies": {
"@babel/eslint-parser": "^7.17.0",
"@fortawesome/fontawesome-svg-core": "^1.2.35",
- "@fortawesome/free-brands-svg-icons": "^5.15.3",
- "@fortawesome/free-regular-svg-icons": "^5.15.3",
- "@fortawesome/free-solid-svg-icons": "^5.15.3",
+ "@fortawesome/free-brands-svg-icons": "^6",
+ "@fortawesome/free-regular-svg-icons": "^6",
+ "@fortawesome/free-solid-svg-icons": "^6",
"@fortawesome/vue-fontawesome": "^2.0.6",
"@popperjs/core": "^2.11.5",
"axios": "^0.26.1",
diff --git a/src/resources/js/bootstrap.js b/src/resources/js/bootstrap.js
--- a/src/resources/js/bootstrap.js
+++ b/src/resources/js/bootstrap.js
@@ -23,13 +23,13 @@
* Load Vue, VueRouter and global components
*/
-import { Tooltip } from 'bootstrap'
-import FontAwesomeIcon from './fontawesome'
import Vue from 'vue'
import VueRouter from 'vue-router'
import Btn from '../vue/Widgets/Btn'
import BtnRouter from '../vue/Widgets/BtnRouter'
import Toast from '../vue/Widgets/Toast'
+import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
+import { Tooltip } from 'bootstrap'
window.Vue = Vue
@@ -92,3 +92,14 @@
window.axios = require('axios')
axios.defaults.baseURL = vueRouterBase
axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'
+
+// Register a few most common icons
+import { library } from '@fortawesome/fontawesome-svg-core'
+library.add(
+ require('@fortawesome/free-solid-svg-icons/faCheck').definition,
+ require('@fortawesome/free-solid-svg-icons/faCircleInfo').definition,
+ require('@fortawesome/free-solid-svg-icons/faPlus').definition,
+ require('@fortawesome/free-solid-svg-icons/faMagnifyingGlass').definition,
+ require('@fortawesome/free-solid-svg-icons/faTrashCan').definition,
+ require('@fortawesome/free-solid-svg-icons/faUser').definition,
+)
diff --git a/src/resources/js/fontawesome.js b/src/resources/js/fontawesome.js
deleted file mode 100644
--- a/src/resources/js/fontawesome.js
+++ /dev/null
@@ -1,78 +0,0 @@
-
-import { library } from '@fortawesome/fontawesome-svg-core'
-import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
-//import { } from '@fortawesome/free-brands-svg-icons'
-import {
- faCheckSquare,
- faClipboard,
- faCreditCard,
- faSquare,
-} from '@fortawesome/free-regular-svg-icons'
-
-import {
- faCheck,
- faCheckCircle,
- faCog,
- faComments,
- faDownload,
- faEnvelope,
- faFolderOpen,
- faGlobe,
- faUniversity,
- faExclamationCircle,
- faInfoCircle,
- faKey,
- faLock,
- faMobileAlt,
- faPlus,
- faSearch,
- faSignInAlt,
- faSlidersH,
- faSyncAlt,
- faTrashAlt,
- faUser,
- faUserCog,
- faUserFriends,
- faUsers,
- faWallet
-} from '@fortawesome/free-solid-svg-icons'
-
-import {
- faPaypal
-} from '@fortawesome/free-brands-svg-icons'
-
-// Register only these icons we need
-library.add(
- faCheck,
- faCheckCircle,
- faCheckSquare,
- faClipboard,
- faCog,
- faComments,
- faCreditCard,
- faPaypal,
- faUniversity,
- faDownload,
- faEnvelope,
- faExclamationCircle,
- faFolderOpen,
- faGlobe,
- faInfoCircle,
- faKey,
- faLock,
- faMobileAlt,
- faPlus,
- faSearch,
- faSignInAlt,
- faSlidersH,
- faSquare,
- faSyncAlt,
- faTrashAlt,
- faUser,
- faUserCog,
- faUserFriends,
- faUsers,
- faWallet
-)
-
-export default FontAwesomeIcon
diff --git a/src/resources/js/meet/room.js b/src/resources/js/meet/room.js
--- a/src/resources/js/meet/room.js
+++ b/src/resources/js/meet/room.js
@@ -598,9 +598,9 @@
'<div class="meet-video">'
+ svgIcon('user', 'fas', 'watermark')
+ '<div class="controls">'
- + '<button type="button" class="btn btn-link link-setup hidden" title="' + $t('meet.media-setup') + '">' + svgIcon('cog') + '</button>'
+ + '<button type="button" class="btn btn-link link-setup hidden" title="' + $t('meet.media-setup') + '">' + svgIcon('gear') + '</button>'
+ '<div class="volume hidden"><input type="range" min="0" max="1" step="0.1" /></div>'
- + '<button type="button" class="btn btn-link link-audio hidden" title="' + $t('meet.menu-audio-mute') + '">' + svgIcon('volume-mute') + '</button>'
+ + '<button type="button" class="btn btn-link link-audio hidden" title="' + $t('meet.menu-audio-mute') + '">' + svgIcon('volume-xmark') + '</button>'
+ '<button type="button" class="btn btn-link link-fullscreen closed hidden" title="' + $t('meet.menu-fullscreen') + '">' + svgIcon('expand') + '</button>'
+ '<button type="button" class="btn btn-link link-fullscreen open hidden" title="' + $t('meet.menu-fullscreen') + '">' + svgIcon('compress') + '</button>'
+ '</div>'
diff --git a/src/resources/themes/app.scss b/src/resources/themes/app.scss
--- a/src/resources/themes/app.scss
+++ b/src/resources/themes/app.scss
@@ -349,6 +349,14 @@
}
}
+ &.link-distlists,
+ &.link-files,
+ &.link-shared-folders {
+ svg {
+ transform: scale(0.9);
+ }
+ }
+
.badge {
position: absolute;
top: 0.5rem;
diff --git a/src/resources/vue/Admin/Dashboard.vue b/src/resources/vue/Admin/Dashboard.vue
--- a/src/resources/vue/Admin/Dashboard.vue
+++ b/src/resources/vue/Admin/Dashboard.vue
@@ -11,10 +11,12 @@
<script>
import UserSearch from '../Widgets/UserSearch'
+
import { library } from '@fortawesome/fontawesome-svg-core'
- import { faChartLine } from '@fortawesome/free-solid-svg-icons'
- library.add(faChartLine)
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faChartLine').definition,
+ )
export default {
components: {
diff --git a/src/resources/vue/Admin/User.vue b/src/resources/vue/Admin/User.vue
--- a/src/resources/vue/Admin/User.vue
+++ b/src/resources/vue/Admin/User.vue
@@ -333,7 +333,7 @@
<tbody>
<tr v-for="resource in resources" :key="resource.id" @click="$root.clickRecord">
<td>
- <svg-icon icon="cog" :class="$root.statusClass(resource)" :title="$root.statusText(resource)"></svg-icon>
+ <svg-icon icon="gear" :class="$root.statusClass(resource)" :title="$root.statusText(resource)"></svg-icon>
<router-link :to="{ path: '/resource/' + resource.id }">{{ resource.name }}</router-link>
</td>
<td>
@@ -497,6 +497,15 @@
import { Modal } from 'bootstrap'
import TransactionLog from '../Widgets/TransactionLog'
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faFolderOpen').definition,
+ require('@fortawesome/free-solid-svg-icons/faGear').definition,
+ require('@fortawesome/free-solid-svg-icons/faGlobe').definition,
+ require('@fortawesome/free-solid-svg-icons/faUsers').definition,
+ )
+
export default {
components: {
TransactionLog
diff --git a/src/resources/vue/Dashboard.vue b/src/resources/vue/Dashboard.vue
--- a/src/resources/vue/Dashboard.vue
+++ b/src/resources/vue/Dashboard.vue
@@ -4,20 +4,20 @@
<div id="dashboard-nav">
<router-link class="card link-profile" :to="{ name: 'profile' }">
- <svg-icon icon="user-cog"></svg-icon><span>{{ $t('dashboard.profile') }}</span>
+ <svg-icon icon="user-gear"></svg-icon><span>{{ $t('dashboard.profile') }}</span>
</router-link>
<router-link v-if="status.enableDomains" class="card link-domains" :to="{ name: 'domains' }">
<svg-icon icon="globe"></svg-icon><span>{{ $t('dashboard.domains') }}</span>
</router-link>
<router-link v-if="status.enableUsers" class="card link-users" :to="{ name: 'users' }">
- <svg-icon icon="user-friends"></svg-icon><span>{{ $t('dashboard.users') }}</span>
+ <svg-icon icon="user-group"></svg-icon><span>{{ $t('dashboard.users') }}</span>
</router-link>
<router-link v-if="status.enableDistlists" class="card link-distlists" :to="{ name: 'distlists' }">
<svg-icon icon="users"></svg-icon><span>{{ $t('dashboard.distlists') }}</span>
<span class="badge bg-primary">{{ $t('dashboard.beta') }}</span>
</router-link>
<router-link v-if="status.enableResources" class="card link-resources" :to="{ name: 'resources' }">
- <svg-icon icon="cog"></svg-icon><span>{{ $t('dashboard.resources') }}</span>
+ <svg-icon icon="gear"></svg-icon><span>{{ $t('dashboard.resources') }}</span>
<span class="badge bg-primary">{{ $t('dashboard.beta') }}</span>
</router-link>
<router-link v-if="status.enableFolders" class="card link-shared-folders" :to="{ name: 'shared-folders' }">
@@ -33,17 +33,17 @@
<span class="badge bg-primary">{{ $t('dashboard.beta') }}</span>
</router-link>
<router-link v-if="status.enableFiles && !$root.isDegraded()" class="card link-files" :to="{ name: 'files' }">
- <svg-icon icon="folder-open"></svg-icon><span>{{ $t('dashboard.files') }}</span>
+ <svg-icon icon="folder-closed"></svg-icon><span>{{ $t('dashboard.files') }}</span>
<span class="badge bg-primary">{{ $t('dashboard.beta') }}</span>
</router-link>
<router-link v-if="status.enableSettings" class="card link-settings" :to="{ name: 'settings' }">
- <svg-icon icon="sliders-h"></svg-icon><span>{{ $t('dashboard.settings') }}</span>
+ <svg-icon icon="sliders"></svg-icon><span>{{ $t('dashboard.settings') }}</span>
</router-link>
<a v-if="webmailURL" class="card link-webmail" :href="webmailURL">
<svg-icon icon="envelope"></svg-icon><span>{{ $t('dashboard.webmail') }}</span>
</a>
<router-link v-if="status.enableCompanionapps" class="card link-companionapp" :to="{ name: 'companion' }">
- <svg-icon icon="mobile-alt"></svg-icon><span>{{ $t('dashboard.companion') }}</span>
+ <svg-icon icon="mobile-screen"></svg-icon><span>{{ $t('dashboard.companion') }}</span>
<span class="badge bg-primary">{{ $t('dashboard.beta') }}</span>
</router-link>
</div>
@@ -53,6 +53,24 @@
<script>
import StatusComponent from './Widgets/Status'
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faComments').definition,
+ require('@fortawesome/free-solid-svg-icons/faDownload').definition,
+ require('@fortawesome/free-solid-svg-icons/faEnvelope').definition,
+ require('@fortawesome/free-solid-svg-icons/faFolderOpen').definition,
+ require('@fortawesome/free-solid-svg-icons/faFolderClosed').definition,
+ require('@fortawesome/free-solid-svg-icons/faGear').definition,
+ require('@fortawesome/free-solid-svg-icons/faGlobe').definition,
+ require('@fortawesome/free-solid-svg-icons/faMobileScreen').definition,
+ require('@fortawesome/free-solid-svg-icons/faSliders').definition,
+ require('@fortawesome/free-solid-svg-icons/faUserGear').definition,
+ require('@fortawesome/free-solid-svg-icons/faUsers').definition,
+ require('@fortawesome/free-solid-svg-icons/faUserGroup').definition,
+ require('@fortawesome/free-solid-svg-icons/faWallet').definition,
+ )
+
export default {
components: {
StatusComponent
diff --git a/src/resources/vue/Distlist/Info.vue b/src/resources/vue/Distlist/Info.vue
--- a/src/resources/vue/Distlist/Info.vue
+++ b/src/resources/vue/Distlist/Info.vue
@@ -6,7 +6,7 @@
<div class="card-body">
<div class="card-title" v-if="list_id !== 'new'">
{{ $tc('distlist.list-title', 1) }}
- <btn class="btn-outline-danger button-delete float-end" @click="deleteList()" icon="trash-alt">{{ $t('distlist.delete') }}</btn>
+ <btn class="btn-outline-danger button-delete float-end" @click="deleteList()" icon="trash-can">{{ $t('distlist.delete') }}</btn>
</div>
<div class="card-title" v-if="list_id === 'new'">{{ $t('distlist.new') }}</div>
<div class="card-text">
diff --git a/src/resources/vue/Distlist/List.vue b/src/resources/vue/Distlist/List.vue
--- a/src/resources/vue/Distlist/List.vue
+++ b/src/resources/vue/Distlist/List.vue
@@ -41,6 +41,12 @@
</template>
<script>
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faUsers').definition,
+ )
+
export default {
data() {
return {
diff --git a/src/resources/vue/Domain/Info.vue b/src/resources/vue/Domain/Info.vue
--- a/src/resources/vue/Domain/Info.vue
+++ b/src/resources/vue/Domain/Info.vue
@@ -6,7 +6,7 @@
<div class="card-body">
<div class="card-title" v-if="domain_id === 'new'">{{ $t('domain.new') }}</div>
<div class="card-title" v-else>{{ $t('form.domain') }}
- <btn class="btn-outline-danger button-delete float-end" @click="showDeleteConfirmation()" icon="trash-alt">{{ $t('domain.delete') }}</btn>
+ <btn class="btn-outline-danger button-delete float-end" @click="showDeleteConfirmation()" icon="trash-can">{{ $t('domain.delete') }}</btn>
</div>
<div class="card-text">
<ul class="nav nav-tabs mt-3" role="tablist">
@@ -60,7 +60,7 @@
<span>{{ $t('domain.verify-outro') }}</span>
</p>
<p>{{ $t('domain.verify-sample') }} <pre>{{ domain.dns.join("\n") }}</pre></p>
- <btn class="btn-primary" @click="confirm" icon="sync-alt">{{ $t('btn.verify') }}</btn>
+ <btn class="btn-primary" @click="confirm" icon="rotate">{{ $t('btn.verify') }}</btn>
</div>
</div>
<div v-if="domain.isConfirmed" class="card-body" id="domain-config">
@@ -105,7 +105,7 @@
</div>
<div class="modal-footer">
<btn class="btn-secondary modal-cancel" data-bs-dismiss="modal">{{ $t('btn.cancel') }}</btn>
- <btn class="btn-danger modal-action" @click="deleteDomain()" icon="trash-alt">{{ $t('btn.delete') }}</btn>
+ <btn class="btn-danger modal-action" @click="deleteDomain()" icon="trash-can">{{ $t('btn.delete') }}</btn>
</div>
</div>
</div>
@@ -120,6 +120,12 @@
import StatusComponent from '../Widgets/Status'
import SubscriptionSelect from '../Widgets/SubscriptionSelect'
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faRotate').definition,
+ )
+
export default {
components: {
ListInput,
diff --git a/src/resources/vue/Domain/List.vue b/src/resources/vue/Domain/List.vue
--- a/src/resources/vue/Domain/List.vue
+++ b/src/resources/vue/Domain/List.vue
@@ -36,6 +36,12 @@
</template>
<script>
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faGlobe').definition,
+ )
+
export default {
data() {
return {
diff --git a/src/resources/vue/File/Info.vue b/src/resources/vue/File/Info.vue
--- a/src/resources/vue/File/Info.vue
+++ b/src/resources/vue/File/Info.vue
@@ -4,7 +4,7 @@
<div class="card-body">
<div class="card-title">
{{ file.name }}
- <btn v-if="file.canDelete" class="btn-outline-danger button-delete float-end" @click="fileDelete" icon="trash-alt">{{ $t('file.delete') }}</btn>
+ <btn v-if="file.canDelete" class="btn-outline-danger button-delete float-end" @click="fileDelete" icon="trash-can">{{ $t('file.delete') }}</btn>
</div>
<div class="card-text">
<ul class="nav nav-tabs mt-3" role="tablist">
@@ -64,7 +64,7 @@
</span>
<span class="d-inline-block">
<btn class="btn-link p-1" :icon="['far', 'clipboard']" :title="$t('btn.copy')" @click="copyLink(item.link)"></btn>
- <btn class="btn-link text-danger p-1" icon="trash-alt" :title="$t('btn.delete')" @click="shareDelete(item.id)"></btn>
+ <btn class="btn-link text-danger p-1" icon="trash-can" :title="$t('btn.delete')" @click="shareDelete(item.id)"></btn>
</span>
</div>
<code>{{ item.link }}</code>
@@ -83,9 +83,11 @@
import FileAPI from '../../js/files.js'
import { library } from '@fortawesome/fontawesome-svg-core'
- import { faDownload } from '@fortawesome/free-solid-svg-icons'
- library.add(faDownload)
+ library.add(
+ require('@fortawesome/free-regular-svg-icons/faClipboard').definition,
+ require('@fortawesome/free-solid-svg-icons/faDownload').definition,
+ )
export default {
data() {
diff --git a/src/resources/vue/File/List.vue b/src/resources/vue/File/List.vue
--- a/src/resources/vue/File/List.vue
+++ b/src/resources/vue/File/List.vue
@@ -28,7 +28,7 @@
</td>
<td class="buttons">
<btn class="button-download p-0 ms-1" @click="fileDownload(file)" icon="download" :title="$t('btn.download')"></btn>
- <btn class="button-delete text-danger p-0 ms-1" @click="fileDelete(file)" icon="trash-alt" :title="$t('btn.delete')"></btn>
+ <btn class="button-delete text-danger p-0 ms-1" @click="fileDelete(file)" icon="trash-can" :title="$t('btn.delete')"></btn>
</td>
</tr>
</tbody>
@@ -46,9 +46,12 @@
import ListTools from '../Widgets/ListTools'
import { library } from '@fortawesome/fontawesome-svg-core'
- import { faFile, faDownload, faUpload } from '@fortawesome/free-solid-svg-icons'
- library.add(faFile, faDownload, faUpload)
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faFile').definition,
+ require('@fortawesome/free-solid-svg-icons/faDownload').definition,
+ require('@fortawesome/free-solid-svg-icons/faUpload').definition,
+ )
export default {
mixins: [ ListTools ],
diff --git a/src/resources/vue/Login.vue b/src/resources/vue/Login.vue
--- a/src/resources/vue/Login.vue
+++ b/src/resources/vue/Login.vue
@@ -28,7 +28,7 @@
<small class="text-muted mt-2">{{ $t('login.2fa_desc') }}</small>
</div>
<div class="text-center">
- <btn class="btn-primary" type="submit" icon="sign-in-alt">{{ $t('login.sign_in') }}</btn>
+ <btn class="btn-primary" type="submit" icon="right-to-bracket">{{ $t('login.sign_in') }}</btn>
</div>
</form>
</div>
@@ -42,6 +42,14 @@
</template>
<script>
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faKey').definition,
+ require('@fortawesome/free-solid-svg-icons/faLock').definition,
+ require('@fortawesome/free-solid-svg-icons/faRightToBracket').definition,
+ )
+
export default {
props: {
dashboard: { type: Boolean, default: true }
diff --git a/src/resources/vue/Meet/Room.vue b/src/resources/vue/Meet/Room.vue
--- a/src/resources/vue/Meet/Room.vue
+++ b/src/resources/vue/Meet/Room.vue
@@ -14,7 +14,7 @@
<svg-icon icon="desktop"></svg-icon>
</button>
<button :class="'btn link-hand' + (handRaised ? ' on' : '')" v-if="!isPublisher()" @click="switchHand" :title="$t('meet.menu-hand-' + (handRaised ? 'lower' : 'raise'))">
- <svg-icon icon="hand-paper"></svg-icon>
+ <svg-icon icon="hand"></svg-icon>
</button>
<span id="channel-select" :style="'display:' + (channels.length ? '' : 'none')" class="dropdown">
<button :class="'btn link-channel' + (session.channel ? ' on' : '')" data-bs-toggle="dropdown"
@@ -40,7 +40,7 @@
<svg-icon icon="compress"></svg-icon>
</button>
<button class="btn link-options" v-if="isRoomOwner()" @click="roomOptions" :title="$t('meet.options')">
- <svg-icon icon="cog"></svg-icon>
+ <svg-icon icon="gear"></svg-icon>
</button>
<button class="btn link-logout" @click="logout" :title="$t('meet.menu-leave')">
<svg-icon icon="power-off"></svg-icon>
@@ -108,7 +108,7 @@
<div id="meet-session-layout" class="d-flex hidden">
<div id="meet-queue">
- <div class="head" :title="$t('meet.qa')"><svg-icon icon="microphone-alt"></svg-icon></div>
+ <div class="head" :title="$t('meet.qa')"><svg-icon icon="microphone-lines"></svg-icon></div>
</div>
<div id="meet-session"></div>
<div id="meet-chat">
@@ -190,48 +190,27 @@
import RoomOptions from './RoomOptions'
import RoomStats from './RoomStats'
- // Register additional icons
import { library } from '@fortawesome/fontawesome-svg-core'
- import {
- faComment,
- faCog,
- faCompress,
- faCrown,
- faDesktop,
- faExpand,
- faHandPaper,
- faHeadphones,
- faMicrophone,
- faMicrophoneSlash,
- faMicrophoneAlt,
- faPowerOff,
- faUser,
- faUsers,
- faVideo,
- faVideoSlash,
- faVolumeMute
- } from '@fortawesome/free-solid-svg-icons'
-
- // Register only these icons we need
library.add(
- faComment,
- faCog,
- faCompress,
- faCrown,
- faDesktop,
- faExpand,
- faHandPaper,
- faHeadphones,
- faMicrophone,
- faMicrophoneSlash,
- faMicrophoneAlt,
- faPowerOff,
- faUser,
- faUsers,
- faVideo,
- faVideoSlash,
- faVolumeMute
+ require('@fortawesome/free-solid-svg-icons/faComment').definition,
+ require('@fortawesome/free-solid-svg-icons/faCompress').definition,
+ require('@fortawesome/free-solid-svg-icons/faCrown').definition,
+ require('@fortawesome/free-solid-svg-icons/faDesktop').definition,
+ require('@fortawesome/free-solid-svg-icons/faExpand').definition,
+ require('@fortawesome/free-solid-svg-icons/faHand').definition,
+ require('@fortawesome/free-solid-svg-icons/faHeadphones').definition,
+ require('@fortawesome/free-solid-svg-icons/faGear').definition,
+ require('@fortawesome/free-solid-svg-icons/faKey').definition,
+ require('@fortawesome/free-solid-svg-icons/faMicrophone').definition,
+ require('@fortawesome/free-solid-svg-icons/faMicrophoneLines').definition,
+ require('@fortawesome/free-solid-svg-icons/faMicrophoneSlash').definition,
+ require('@fortawesome/free-solid-svg-icons/faPowerOff').definition,
+ require('@fortawesome/free-solid-svg-icons/faUser').definition,
+ require('@fortawesome/free-solid-svg-icons/faUsers').definition,
+ require('@fortawesome/free-solid-svg-icons/faVideo').definition,
+ require('@fortawesome/free-solid-svg-icons/faVideoSlash').definition,
+ require('@fortawesome/free-solid-svg-icons/faVolumeMute').definition,
)
let roomRequest
diff --git a/src/resources/vue/PasswordReset.vue b/src/resources/vue/PasswordReset.vue
--- a/src/resources/vue/PasswordReset.vue
+++ b/src/resources/vue/PasswordReset.vue
@@ -63,6 +63,12 @@
<script>
import PasswordInput from './Widgets/PasswordInput'
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faKey').definition,
+ )
+
export default {
components: {
PasswordInput
diff --git a/src/resources/vue/Reseller/Dashboard.vue b/src/resources/vue/Reseller/Dashboard.vue
--- a/src/resources/vue/Reseller/Dashboard.vue
+++ b/src/resources/vue/Reseller/Dashboard.vue
@@ -18,10 +18,14 @@
<script>
import UserSearch from '../Widgets/UserSearch'
+
import { library } from '@fortawesome/fontawesome-svg-core'
- import { faChartLine, faEnvelopeOpenText, faWallet } from '@fortawesome/free-solid-svg-icons'
- library.add(faChartLine, faEnvelopeOpenText, faWallet)
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faChartLine').definition,
+ require('@fortawesome/free-solid-svg-icons/faEnvelopeOpenText').definition,
+ require('@fortawesome/free-solid-svg-icons/faWallet').definition,
+ )
export default {
components: {
diff --git a/src/resources/vue/Reseller/Invitations.vue b/src/resources/vue/Reseller/Invitations.vue
--- a/src/resources/vue/Reseller/Invitations.vue
+++ b/src/resources/vue/Reseller/Invitations.vue
@@ -29,7 +29,7 @@
{{ inv.created }}
</td>
<td class="buttons">
- <btn class="text-danger button-delete p-0 ms-1" @click="deleteInvite(inv.id)" icon="trash-alt">
+ <btn class="text-danger button-delete p-0 ms-1" @click="deleteInvite(inv.id)" icon="trash-can">
<span class="btn-label">{{ $t('btn.delete') }}</span>
</btn>
<btn class="button-resend p-0 ms-1" :disabled="inv.isNew || inv.isCompleted" @click="resendInvite(inv.id)" icon="redo">
@@ -77,11 +77,15 @@
<script>
import { Modal } from 'bootstrap'
- import { library } from '@fortawesome/fontawesome-svg-core'
- import { faEnvelopeOpenText, faPaperPlane, faRedo } from '@fortawesome/free-solid-svg-icons'
import ListTools from '../Widgets/ListTools'
- library.add(faEnvelopeOpenText, faPaperPlane, faRedo)
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faEnvelopeOpenText').definition,
+ require('@fortawesome/free-solid-svg-icons/faPaperPlane').definition,
+ require('@fortawesome/free-solid-svg-icons/faRedo').definition,
+ )
export default {
mixins: [ ListTools ],
diff --git a/src/resources/vue/Resource/Info.vue b/src/resources/vue/Resource/Info.vue
--- a/src/resources/vue/Resource/Info.vue
+++ b/src/resources/vue/Resource/Info.vue
@@ -6,7 +6,7 @@
<div class="card-body">
<div class="card-title" v-if="resource_id !== 'new'">
{{ $tc('resource.list-title', 1) }}
- <btn class="btn-outline-danger button-delete float-end" @click="deleteResource()" icon="trash-alt">{{ $t('resource.delete') }}</btn>
+ <btn class="btn-outline-danger button-delete float-end" @click="deleteResource()" icon="trash-can">{{ $t('resource.delete') }}</btn>
</div>
<div class="card-title" v-if="resource_id === 'new'">{{ $t('resource.new') }}</div>
<div class="card-text">
diff --git a/src/resources/vue/Resource/List.vue b/src/resources/vue/Resource/List.vue
--- a/src/resources/vue/Resource/List.vue
+++ b/src/resources/vue/Resource/List.vue
@@ -5,7 +5,7 @@
<div class="card-title">
{{ $tc('resource.list-title', 2) }}
<small><sup class="badge bg-primary">{{ $t('dashboard.beta') }}</sup></small>
- <btn-router v-if="!$root.isDegraded()" to="resource/new" class="btn-success float-end" icon="cog">
+ <btn-router v-if="!$root.isDegraded()" to="resource/new" class="btn-success float-end" icon="gear">
{{ $t('resource.create') }}
</btn-router>
</div>
@@ -20,7 +20,7 @@
<tbody>
<tr v-for="resource in resources" :key="resource.id" @click="$root.clickRecord">
<td>
- <svg-icon icon="cog" :class="$root.statusClass(resource)" :title="$root.statusText(resource)"></svg-icon>
+ <svg-icon icon="gear" :class="$root.statusClass(resource)" :title="$root.statusText(resource)"></svg-icon>
<router-link :to="{ path: 'resource/' + resource.id }">{{ resource.name }}</router-link>
</td>
<td>
@@ -41,6 +41,12 @@
</template>
<script>
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faGear').definition,
+ )
+
export default {
data() {
return {
diff --git a/src/resources/vue/SharedFolder/Info.vue b/src/resources/vue/SharedFolder/Info.vue
--- a/src/resources/vue/SharedFolder/Info.vue
+++ b/src/resources/vue/SharedFolder/Info.vue
@@ -6,7 +6,7 @@
<div class="card-body">
<div class="card-title" v-if="folder_id !== 'new'">
{{ $tc('shf.list-title', 1) }}
- <btn class="btn-outline-danger button-delete float-end" @click="deleteFolder()" icon="trash-alt">{{ $t('shf.delete') }}</btn>
+ <btn class="btn-outline-danger button-delete float-end" @click="deleteFolder()" icon="trash-can">{{ $t('shf.delete') }}</btn>
</div>
<div class="card-title" v-if="folder_id === 'new'">{{ $t('shf.new') }}</div>
<div class="card-text">
diff --git a/src/resources/vue/SharedFolder/List.vue b/src/resources/vue/SharedFolder/List.vue
--- a/src/resources/vue/SharedFolder/List.vue
+++ b/src/resources/vue/SharedFolder/List.vue
@@ -5,7 +5,7 @@
<div class="card-title">
{{ $tc('shf.list-title', 2) }}
<small><sup class="badge bg-primary">{{ $t('dashboard.beta') }}</sup></small>
- <btn-router v-if="!$root.isDegraded()" to="shared-folder/new" class="btn-success float-end" icon="cog">
+ <btn-router v-if="!$root.isDegraded()" to="shared-folder/new" class="btn-success float-end" icon="gear">
{{ $t('shf.create') }}
</btn-router>
</div>
@@ -39,6 +39,13 @@
</template>
<script>
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faFolderOpen').definition,
+ require('@fortawesome/free-solid-svg-icons/faGear').definition,
+ )
+
export default {
data() {
return {
diff --git a/src/resources/vue/Signup.vue b/src/resources/vue/Signup.vue
--- a/src/resources/vue/Signup.vue
+++ b/src/resources/vue/Signup.vue
@@ -102,6 +102,12 @@
<script>
import PasswordInput from './Widgets/PasswordInput'
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faUsers').definition,
+ )
+
export default {
components: {
PasswordInput
diff --git a/src/resources/vue/User/Info.vue b/src/resources/vue/User/Info.vue
--- a/src/resources/vue/User/Info.vue
+++ b/src/resources/vue/User/Info.vue
@@ -5,7 +5,7 @@
<div class="card" id="user-info">
<div class="card-body">
<div class="card-title" v-if="user_id !== 'new'">{{ $t('user.title') }}
- <btn icon="trash-alt" class="btn-outline-danger button-delete float-end" @click="showDeleteConfirmation()">
+ <btn icon="trash-can" class="btn-outline-danger button-delete float-end" @click="showDeleteConfirmation()">
{{ $t('user.delete') }}
</btn>
</div>
@@ -76,7 +76,7 @@
<span>{{ $t('user.pass-link-label') }}</span>&nbsp;<code>{{ passwordLink }}</code>
<span class="d-inline-block">
<btn class="btn-link p-1" :icon="['far', 'clipboard']" :title="$t('btn.copy')" @click="passwordLinkCopy"></btn>
- <btn v-if="user.passwordLinkCode" class="btn-link text-danger p-1" icon="trash-alt" :title="$t('btn.delete')" @click="passwordLinkDelete"></btn>
+ <btn v-if="user.passwordLinkCode" class="btn-link text-danger p-1" icon="trash-can" :title="$t('btn.delete')" @click="passwordLinkDelete"></btn>
</span>
<div v-if="!user.passwordLinkCode" class="form-text m-0">{{ $t('user.pass-link-hint') }}</div>
</div>
@@ -123,7 +123,7 @@
</div>
<div class="modal-footer">
<btn class="btn-secondary modal-cancel" data-bs-dismiss="modal">{{ $t('btn.cancel') }}</btn>
- <btn class="btn-danger modal-action" icon="trash-alt" @click="deleteUser()">{{ $t('btn.delete') }}</btn>
+ <btn class="btn-danger modal-action" icon="trash-can" @click="deleteUser()">{{ $t('btn.delete') }}</btn>
</div>
</div>
</div>
@@ -139,6 +139,12 @@
import StatusComponent from '../Widgets/Status'
import SubscriptionSelect from '../Widgets/SubscriptionSelect'
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-regular-svg-icons/faClipboard').definition,
+ )
+
export default {
components: {
ListInput,
diff --git a/src/resources/vue/User/Profile.vue b/src/resources/vue/User/Profile.vue
--- a/src/resources/vue/User/Profile.vue
+++ b/src/resources/vue/User/Profile.vue
@@ -4,7 +4,7 @@
<div class="card-body">
<div class="card-title">
{{ $t('user.profile-title') }}
- <btn-router v-if="$root.isController(wallet.id)" to="profile/delete" class="btn-outline-danger float-end" icon="trash-alt">
+ <btn-router v-if="$root.isController(wallet.id)" to="profile/delete" class="btn-outline-danger float-end" icon="trash-can">
{{ $t('user.profile-delete') }}
</btn-router>
</div>
diff --git a/src/resources/vue/User/ProfileDelete.vue b/src/resources/vue/User/ProfileDelete.vue
--- a/src/resources/vue/User/ProfileDelete.vue
+++ b/src/resources/vue/User/ProfileDelete.vue
@@ -10,7 +10,7 @@
<p>{{ $t('user.profile-delete-contact', { app: $root.appName }) }}</p>
<p class="buttons">
<btn class="btn-secondary button-cancel" @click="$router.go(-1)">{{ $t('btn.cancel') }}</btn>
- <btn class="btn-danger button-delete" @click="deleteProfile" icon="trash-alt">{{ $t('user.profile-delete') }}</btn>
+ <btn class="btn-danger button-delete" @click="deleteProfile" icon="trash-can">{{ $t('user.profile-delete') }}</btn>
</p>
</div>
</div>
diff --git a/src/resources/vue/Wallet.vue b/src/resources/vue/Wallet.vue
--- a/src/resources/vue/Wallet.vue
+++ b/src/resources/vue/Wallet.vue
@@ -189,6 +189,14 @@
import TransactionLog from './Widgets/TransactionLog'
import PaymentLog from './Widgets/PaymentLog'
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-brands-svg-icons/faPaypal').definition,
+ require('@fortawesome/free-regular-svg-icons/faCreditCard').definition,
+ require('@fortawesome/free-solid-svg-icons/faUniversity').definition,
+ )
+
export default {
components: {
TransactionLog,
diff --git a/src/resources/vue/Widgets/AclInput.vue b/src/resources/vue/Widgets/AclInput.vue
--- a/src/resources/vue/Widgets/AclInput.vue
+++ b/src/resources/vue/Widgets/AclInput.vue
@@ -19,7 +19,7 @@
<option v-for="t in types" :key="t" :value="t" :selected="aclPerm(item) == t">{{ $t('form.acl-' + t) }}</option>
</select>
<a href="#" class="btn btn-outline-secondary" @click.prevent="deleteItem(index)">
- <svg-icon icon="trash-alt"></svg-icon><span class="visually-hidden">{{ $t('btn.delete') }}</span>
+ <svg-icon icon="trash-can"></svg-icon><span class="visually-hidden">{{ $t('btn.delete') }}</span>
</a>
</div>
</div>
diff --git a/src/resources/vue/Widgets/CompanionappList.vue b/src/resources/vue/Widgets/CompanionappList.vue
--- a/src/resources/vue/Widgets/CompanionappList.vue
+++ b/src/resources/vue/Widgets/CompanionappList.vue
@@ -1,6 +1,6 @@
<template>
<div>
- <btn icon="trash-alt" class="btn-outline-danger button-delete float-end" @click="showDeleteConfirmation()">
+ <btn icon="trash-can" class="btn-outline-danger button-delete float-end" @click="showDeleteConfirmation()">
{{ $t('companion.delete') }}
</btn>
<table class="table table-sm m-0 entries">
@@ -31,7 +31,7 @@
</div>
<div class="modal-footer">
<btn class="btn-secondary modal-cancel" data-bs-dismiss="modal">{{ $t('btn.cancel') }}</btn>
- <btn class="btn-danger modal-action" data-bs-dismiss="modal" @click="removeDevices()" icon="trash-alt">{{ $t('btn.delete') }}</btn>
+ <btn class="btn-danger modal-action" data-bs-dismiss="modal" @click="removeDevices()" icon="trash-can">{{ $t('btn.delete') }}</btn>
</div>
</div>
</div>
diff --git a/src/resources/vue/Widgets/ListInput.vue b/src/resources/vue/Widgets/ListInput.vue
--- a/src/resources/vue/Widgets/ListInput.vue
+++ b/src/resources/vue/Widgets/ListInput.vue
@@ -10,7 +10,7 @@
<div class="input-group" v-for="(item, index) in list" :key="index">
<input type="text" class="form-control" @input="$set(list, index, $event.target.value)" :value="item">
<a href="#" class="btn btn-outline-secondary" @click.prevent="deleteItem(index)">
- <svg-icon icon="trash-alt"></svg-icon>
+ <svg-icon icon="trash-can"></svg-icon>
<span class="visually-hidden">{{ $t('btn.delete') }}</span>
</a>
</div>
diff --git a/src/resources/vue/Widgets/ListTools.vue b/src/resources/vue/Widgets/ListTools.vue
--- a/src/resources/vue/Widgets/ListTools.vue
+++ b/src/resources/vue/Widgets/ListTools.vue
@@ -16,7 +16,7 @@
},
template: `<form @submit.prevent="onSearch(search)" id="search-form" class="input-group" style="flex:1">
<input class="form-control" type="text" :placeholder="placeholder" v-model="search">
- <button type="submit" class="btn btn-primary"><svg-icon icon="search"></svg-icon> {{ $t('btn.search') }}</button>
+ <button type="submit" class="btn btn-primary"><svg-icon icon="magnifying-glass"></svg-icon> {{ $t('btn.search') }}</button>
</form>`
}
diff --git a/src/resources/vue/Widgets/PackageSelect.vue b/src/resources/vue/Widgets/PackageSelect.vue
--- a/src/resources/vue/Widgets/PackageSelect.vue
+++ b/src/resources/vue/Widgets/PackageSelect.vue
@@ -26,7 +26,7 @@
{{ $root.priceLabel(pkg.cost, discount, currency) }}
</td>
<td class="buttons">
- <btn v-if="pkg.description" class="btn-link btn-lg p-0" v-tooltip="pkg.description" icon="info-circle">
+ <btn v-if="pkg.description" class="btn-link btn-lg p-0" v-tooltip="pkg.description" icon="circle-info">
<span class="visually-hidden">{{ $t('btn.moreinfo') }}</span>
</btn>
</td>
diff --git a/src/resources/vue/Widgets/Status.vue b/src/resources/vue/Widgets/Status.vue
--- a/src/resources/vue/Widgets/Status.vue
+++ b/src/resources/vue/Widgets/Status.vue
@@ -8,7 +8,7 @@
<br>
<span id="refresh-text" v-if="refresh">{{ $t('status.prepare-refresh') }}</span>
</p>
- <btn v-if="refresh" id="status-refresh" href="#" class="btn-secondary" @click="statusRefresh" icon="sync-alt">
+ <btn v-if="refresh" id="status-refresh" href="#" class="btn-secondary" @click="statusRefresh" icon="rotate">
{{ $t('btn.refresh') }}
</btn>
</div>
@@ -19,7 +19,7 @@
{{ $t('status.verify') }}
</p>
<div v-if="scope == 'domain'">
- <btn id="status-verify" class="btn-secondary text-nowrap" @click="confirmDomain" icon="sync-alt">
+ <btn id="status-verify" class="btn-secondary text-nowrap" @click="confirmDomain" icon="rotate">
{{ $t('btn.verify') }}
</btn>
</div>
@@ -38,6 +38,12 @@
</template>
<script>
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faRotate').definition,
+ )
+
export default {
props: {
status: { type: Object, default: () => {} }
diff --git a/src/resources/vue/Widgets/StatusMessage.vue b/src/resources/vue/Widgets/StatusMessage.vue
--- a/src/resources/vue/Widgets/StatusMessage.vue
+++ b/src/resources/vue/Widgets/StatusMessage.vue
@@ -5,12 +5,19 @@
</div>
<span v-if="status == 'init'">{{ $t(statusLabel()) }}</span>
- <svg-icon v-if="status != 'init' && statusLabel()" :icon="Number(status) >= 400 ? 'exclamation-circle' : 'info-circle'"></svg-icon>
+ <svg-icon v-if="status != 'init' && statusLabel()" :icon="Number(status) >= 400 ? 'circle-exclamation' : 'circle-info'"></svg-icon>
<span v-if="status != 'init' && statusLabel()">{{ $t(statusLabel()) }}</span>
</div>
</template>
<script>
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faCircleInfo').definition,
+ require('@fortawesome/free-solid-svg-icons/faCircleExclamation').definition,
+ )
+
const defaultLabels = {
init: 'msg.loading',
404: 'msg.notfound'
diff --git a/src/resources/vue/Widgets/SubscriptionSelect.vue b/src/resources/vue/Widgets/SubscriptionSelect.vue
--- a/src/resources/vue/Widgets/SubscriptionSelect.vue
+++ b/src/resources/vue/Widgets/SubscriptionSelect.vue
@@ -34,7 +34,7 @@
{{ $root.priceLabel(sku.cost, discount, currency) }}
</td>
<td class="buttons">
- <btn v-if="sku.description" class="btn-link btn-lg p-0" v-tooltip="sku.description" icon="info-circle">
+ <btn v-if="sku.description" class="btn-link btn-lg p-0" v-tooltip="sku.description" icon="circle-info">
<span class="visually-hidden">{{ $t('btn.moreinfo') }}</span>
</btn>
</td>
diff --git a/src/resources/vue/Widgets/ToastMessage.vue b/src/resources/vue/Widgets/ToastMessage.vue
--- a/src/resources/vue/Widgets/ToastMessage.vue
+++ b/src/resources/vue/Widgets/ToastMessage.vue
@@ -1,10 +1,10 @@
<template>
<div :class="toastClassName()" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header" :class="className()">
- <svg-icon icon="info-circle" v-if="data.type == 'info'"></svg-icon>
- <svg-icon icon="check-circle" v-else-if="data.type == 'success'"></svg-icon>
- <svg-icon icon="exclamation-circle" v-else-if="data.type == 'error'"></svg-icon>
- <svg-icon icon="exclamation-circle" v-else-if="data.type == 'warning'"></svg-icon>
+ <svg-icon icon="circle-info" v-if="data.type == 'info'"></svg-icon>
+ <svg-icon icon="circle-check" v-else-if="data.type == 'success'"></svg-icon>
+ <svg-icon icon="circle-exclamation" v-else-if="data.type == 'error'"></svg-icon>
+ <svg-icon icon="circle-exclamation" v-else-if="data.type == 'warning'"></svg-icon>
<svg-icon :icon="data.icon" v-else-if="data.type == 'custom' && data.icon"></svg-icon>
<strong>{{ data.title || $t('msg.' + data.type) }}</strong>
<btn class="btn-close btn-close-white" data-bs-dismiss="toast" :aria-label="$t('btn.close')"></btn>
@@ -20,6 +20,14 @@
<script>
import { Toast } from 'bootstrap'
+ import { library } from '@fortawesome/fontawesome-svg-core'
+
+ library.add(
+ require('@fortawesome/free-solid-svg-icons/faCircleCheck').definition,
+ require('@fortawesome/free-solid-svg-icons/faCircleInfo').definition,
+ require('@fortawesome/free-solid-svg-icons/faCircleExclamation').definition,
+ )
+
export default {
props: {
data: { type: Object, default: () => {} }
diff --git a/src/resources/vue/Widgets/TransactionLog.vue b/src/resources/vue/Widgets/TransactionLog.vue
--- a/src/resources/vue/Widgets/TransactionLog.vue
+++ b/src/resources/vue/Widgets/TransactionLog.vue
@@ -15,7 +15,7 @@
<td class="datetime">{{ transaction.createdAt }}</td>
<td class="email" v-if="isAdmin">{{ transaction.user }}</td>
<td class="selection">
- <btn v-if="transaction.hasDetails" class="btn-lg btn-link btn-action" icon="info-circle"
+ <btn v-if="transaction.hasDetails" class="btn-lg btn-link btn-action" icon="circle-info"
:title="$t('form.details')"
@click="loadTransaction(transaction.id)"
></btn>
diff --git a/src/resources/vue/Widgets/UserSearch.vue b/src/resources/vue/Widgets/UserSearch.vue
--- a/src/resources/vue/Widgets/UserSearch.vue
+++ b/src/resources/vue/Widgets/UserSearch.vue
@@ -4,7 +4,7 @@
<form @submit.prevent="searchUser" class="row justify-content-center">
<div class="input-group col-sm-8">
<input class="form-control" type="text" :placeholder="$t('user.search-pl')" v-model="search">
- <btn type="submit" class="btn-primary" icon="search">{{ $t('btn.search') }}</btn>
+ <btn type="submit" class="btn-primary" icon="magnifying-glass">{{ $t('btn.search') }}</btn>
</div>
</form>
<table v-if="users.length" class="table table-sm table-hover mt-4">

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 6, 1:17 AM (1 d, 10 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18834903
Default Alt Text
D3526.1775438256.diff (55 KB)

Event Timeline