Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117923120
D3526.1775438256.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
55 KB
Referenced Files
None
Subscribers
None
D3526.1775438256.diff
View Options
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> <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
Details
Attached
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)
Attached To
Mode
D3526: FontAwesome v6 and refactor the way we include icons
Attached
Detach File
Event Timeline