This commit is contained in:
pat-s 2024-12-18 20:48:42 +01:00
parent 724054767d
commit e4bbceb2ad
No known key found for this signature in database
GPG key ID: 3C6318841EF78925
5 changed files with 8 additions and 165 deletions

View file

@ -27,8 +27,8 @@ repos:
rev: v2.13.1-beta
hooks:
- id: hadolint
- repo: https://github.com/rbubley/mirrors-prettier
rev: v3.4.2
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:
- id: prettier
- repo: https://github.com/adrienverge/yamllint.git

6
web/components.d.ts vendored
View file

@ -62,7 +62,7 @@ declare module 'vue' {
IMdiErrorOutline: typeof import('~icons/mdi/error-outline')['default']
IMdiFormatListBulleted: typeof import('~icons/mdi/format-list-bulleted')['default']
IMdiGestureTap: typeof import('~icons/mdi/gesture-tap')['default']
IDeviconGithub: typeof import('~icons/devicon/github')['default']
IMdiGithub: typeof import('~icons/mdi/github')['default']
IMdiLoading: typeof import('~icons/mdi/loading')['default']
IMdiPlay: typeof import('~icons/mdi/play')['default']
IMdiRadioboxBlank: typeof import('~icons/mdi/radiobox-blank')['default']
@ -75,8 +75,8 @@ declare module 'vue' {
IMdiSync: typeof import('~icons/mdi/sync')['default']
IMdiTagOutline: typeof import('~icons/mdi/tag-outline')['default']
InputField: typeof import('./src/components/form/InputField.vue')['default']
IDeviconGitlab: typeof import('~icons/devicon/gitlab')['default']
IDeviconForgejo: typeof import('~icons/devicon/forgejo')['default']
IPhGitlabLogoSimpleFill: typeof import('~icons/ph/gitlab-logo-simple-fill')['default']
ISimpleIconsForgejo: typeof import('~icons/simple-icons/forgejo')['default']
ISimpleIconsGitea: typeof import('~icons/simple-icons/gitea')['default']
ISvgSpinners180RingWithBg: typeof import('~icons/svg-spinners/180-ring-with-bg')['default']
ITeenyiconsGitSolid: typeof import('~icons/teenyicons/git-solid')['default']

View file

@ -18,17 +18,13 @@
"test": "vitest"
},
"dependencies": {
"@iconify/vue": "^4.2.0",
"@intlify/unplugin-vue-i18n": "^6.0.0",
"@kyvg/vue3-notification": "^3.2.1",
"@mdi/js": "^7.4.47",
"@vueuse/core": "^12.0.0",
"ansi_up": "^6.0.2",
"devicon": "^2.16.0",
"devicons": "^1.8.0",
"dompurify": "^3.2.0",
"fuse.js": "^7.0.0",
"iconify-icon": "^2.2.0",
"js-base64": "^3.7.7",
"lodash": "^4.17.21",
"marked": "^15.0.0",
@ -37,7 +33,6 @@
"prismjs": "^1.29.0",
"semver": "^7.6.3",
"simple-icons": "^13.5.0",
"unplugin-icons": "^0.22.0",
"vue": "^3.4.38",
"vue-i18n": "^10.0.3",
"vue-router": "^4.4.3"
@ -46,7 +41,6 @@
"@antfu/eslint-config": "^3.3.2",
"@eslint/js": "^9.9.0",
"@ianvs/prettier-plugin-sort-imports": "^4.3.1",
"@iconify-json/devicon": "^1.2.9",
"@intlify/eslint-plugin-vue-i18n": "3.1.0",
"@types/eslint__js": "^8.42.3",
"@types/lodash": "^4.17.7",

View file

@ -11,9 +11,6 @@ importers:
.:
dependencies:
'@iconify/vue':
specifier: ^4.2.0
version: 4.2.0(vue@3.5.13(typescript@5.6.3))
'@intlify/unplugin-vue-i18n':
specifier: ^6.0.0
version: 6.0.0(@vue/compiler-dom@3.5.13)(eslint@9.16.0(jiti@1.21.6))(rollup@4.28.0)(typescript@5.6.3)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3))
@ -29,21 +26,12 @@ importers:
ansi_up:
specifier: ^6.0.2
version: 6.0.2
devicon:
specifier: ^2.16.0
version: 2.16.0
devicons:
specifier: ^1.8.0
version: 1.8.0
dompurify:
specifier: ^3.2.0
version: 3.2.2
fuse.js:
specifier: ^7.0.0
version: 7.0.0
iconify-icon:
specifier: ^2.2.0
version: 2.2.0
js-base64:
specifier: ^3.7.7
version: 3.7.7
@ -68,9 +56,6 @@ importers:
simple-icons:
specifier: ^13.5.0
version: 13.19.0
unplugin-icons:
specifier: ^0.22.0
version: 0.22.0(@vue/compiler-sfc@3.5.13)
vue:
specifier: ^3.4.38
version: 3.5.13(typescript@5.6.3)
@ -90,9 +75,6 @@ importers:
'@ianvs/prettier-plugin-sort-imports':
specifier: ^4.3.1
version: 4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.4.1)
'@iconify-json/devicon':
specifier: ^1.2.9
version: 1.2.9
'@intlify/eslint-plugin-vue-i18n':
specifier: 3.1.0
version: 3.1.0(eslint@9.16.0(jiti@1.21.6))
@ -218,9 +200,6 @@ packages:
svelte-eslint-parser:
optional: true
'@antfu/install-pkg@0.4.1':
resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==}
'@antfu/install-pkg@0.5.0':
resolution: {integrity: sha512-dKnk2xlAyC7rvTkpkHmu+Qy/2Zc3Vm/l8PtNyIOGDBtXPY3kThfU4ORNEp3V7SXw5XSOb+tOJaUYpfquPzL/Tg==}
@ -534,20 +513,6 @@ packages:
'@vue/compiler-sfc':
optional: true
'@iconify-json/devicon@1.2.9':
resolution: {integrity: sha512-YwjF7z+ni9jxlDCa5nbivn+CJv1t/NEk1OpVIbF4ehGCtOvJq5zDIkeH3IJJPtD5k+8WmsW8BwWlnapLxehPSg==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
'@iconify/utils@2.2.1':
resolution: {integrity: sha512-0/7J7hk4PqXmxo5PDBDxmnecw5PxklZJfNjIVG9FM0mEfVrvfudS22rYWsqVk6gR3UJ/mSYS90X4R3znXnqfNA==}
'@iconify/vue@4.2.0':
resolution: {integrity: sha512-CMynoz9BDWugDO2B7LU/s8L99dHCiqDGCjCki6bhVx5etZhw9x0BTV7wWRdj82jtl1yQTc+QQRcHQmSvUY6R+g==}
peerDependencies:
vue: '>=3'
'@intlify/bundle-utils@10.0.0':
resolution: {integrity: sha512-BR5yLOkF2dzrARTbAg7RGAIPcx9Aark7p1K/0O285F7rfzso9j2dsa+S4dA67clZ0rToZ10NSSTfbyUptVu7Bg==}
engines: {node: '>= 18'}
@ -1261,15 +1226,6 @@ packages:
supports-color:
optional: true
debug@4.4.0:
resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
decimal.js@10.4.3:
resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
@ -1295,13 +1251,6 @@ packages:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
devicon@2.16.0:
resolution: {integrity: sha512-PE5a2HBNeN4av+Iu975OiiWEwS8LJPw5HAvlv0JUHb62jZTdYxTpz4ga+cQyvdtb3x1side2P9Sr1mmOmUkO/g==}
devicons@1.8.0:
resolution: {integrity: sha512-tRS3bNxy9mbDVK0g4/+t5PlwMjjOteuh5LAhjMgimAPUgiKB+wCUCf7+uugufZ1vC9AKMRn5Pljbi210qCbmkQ==}
engines: {node: '>=0.10.3'}
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
@ -1742,9 +1691,6 @@ packages:
resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==}
engines: {node: '>= 14'}
iconify-icon@2.2.0:
resolution: {integrity: sha512-PDYyUWgsI8tp5uTwRAfwfrmjkC9WEzWbUFuByAiZAIuCFigho7u+ApIYJ9fKoZyyp8SBCpnq/dVHewNv4or6bg==}
iconv-lite@0.6.3:
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
engines: {node: '>=0.10.0'}
@ -2596,37 +2542,10 @@ packages:
unist-util-visit@5.0.0:
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
unplugin-icons@0.22.0:
resolution: {integrity: sha512-CP+iZq5U7doOifer5bcM0jQ9t3Is7EGybIYt3myVxceI8Zuk8EZEpe1NPtJvh7iqMs1VdbK0L41t9+um9VuuLw==}
peerDependencies:
'@svgr/core': '>=7.0.0'
'@svgx/core': ^1.0.1
'@vue/compiler-sfc': ^3.0.2 || ^2.7.0
svelte: ^3.0.0 || ^4.0.0 || ^5.0.0
vue-template-compiler: ^2.6.12
vue-template-es2015-compiler: ^1.9.0
peerDependenciesMeta:
'@svgr/core':
optional: true
'@svgx/core':
optional: true
'@vue/compiler-sfc':
optional: true
svelte:
optional: true
vue-template-compiler:
optional: true
vue-template-es2015-compiler:
optional: true
unplugin@1.16.0:
resolution: {integrity: sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==}
engines: {node: '>=14.0.0'}
unplugin@2.1.0:
resolution: {integrity: sha512-us4j03/499KhbGP8BU7Hrzrgseo+KdfJYWcbcajCOqsAyb8Gk0Yn2kiUIcZISYCb1JFaZfIuG3b42HmguVOKCQ==}
engines: {node: '>=18.12.0'}
update-browserslist-db@1.1.1:
resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
hasBin: true
@ -2934,11 +2853,6 @@ snapshots:
- typescript
- vitest
'@antfu/install-pkg@0.4.1':
dependencies:
package-manager-detector: 0.2.6
tinyexec: 0.3.1
'@antfu/install-pkg@0.5.0':
dependencies:
package-manager-detector: 0.2.6
@ -3227,30 +3141,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@iconify-json/devicon@1.2.9':
dependencies:
'@iconify/types': 2.0.0
'@iconify/types@2.0.0': {}
'@iconify/utils@2.2.1':
dependencies:
'@antfu/install-pkg': 0.4.1
'@antfu/utils': 0.7.10
'@iconify/types': 2.0.0
debug: 4.4.0
globals: 15.13.0
kolorist: 1.8.0
local-pkg: 0.5.1
mlly: 1.7.3
transitivePeerDependencies:
- supports-color
'@iconify/vue@4.2.0(vue@3.5.13(typescript@5.6.3))':
dependencies:
'@iconify/types': 2.0.0
vue: 3.5.13(typescript@5.6.3)
'@intlify/bundle-utils@10.0.0(vue-i18n@10.0.5(vue@3.5.13(typescript@5.6.3)))':
dependencies:
'@intlify/message-compiler': 11.0.0-beta.2
@ -3997,10 +3887,6 @@ snapshots:
dependencies:
ms: 2.1.3
debug@4.4.0:
dependencies:
ms: 2.1.3
decimal.js@10.4.3: {}
decode-named-character-reference@1.0.2:
@ -4017,10 +3903,6 @@ snapshots:
dequal@2.0.3: {}
devicon@2.16.0: {}
devicons@1.8.0: {}
devlop@1.1.0:
dependencies:
dequal: 2.0.3
@ -4580,10 +4462,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
iconify-icon@2.2.0:
dependencies:
'@iconify/types': 2.0.0
iconv-lite@0.6.3:
dependencies:
safer-buffer: 2.1.2
@ -5562,30 +5440,11 @@ snapshots:
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
unplugin-icons@0.22.0(@vue/compiler-sfc@3.5.13):
dependencies:
'@antfu/install-pkg': 0.5.0
'@antfu/utils': 0.7.10
'@iconify/utils': 2.2.1
debug: 4.4.0
kolorist: 1.8.0
local-pkg: 0.5.1
unplugin: 2.1.0
optionalDependencies:
'@vue/compiler-sfc': 3.5.13
transitivePeerDependencies:
- supports-color
unplugin@1.16.0:
dependencies:
acorn: 8.14.0
webpack-virtual-modules: 0.6.2
unplugin@2.1.0:
dependencies:
acorn: 8.14.0
webpack-virtual-modules: 0.6.2
update-browserslist-db@1.1.1(browserslist@4.24.2):
dependencies:
browserslist: 4.24.2

View file

@ -53,17 +53,8 @@
<SvgIcon v-else-if="name === 'visibility-private'" :path="mdiLockOutline" size="24" />
<SvgIcon v-else-if="name === 'visibility-internal'" :path="mdiLockOpenOutline" size="24" />
<iconify-icon v-else-if="name === 'forgejo'" icon="devicon:forgejo" width="32" height="32" />
<iconify-icon v-else-if="name === 'gitlab'" icon="devicon:gitlab" width="32" height="32" />
<iconify-icon v-else-if="name === 'github'" icon="devicon:github" width="32" height="32" />
<iconify-icon
v-else-if="name === 'gitea'"
icon="simple-icons:gitea"
width="32"
height="32"
style="color: #609926"
;
/>
<SvgIcon v-else-if="name === 'forgejo'" :path="siForgejo.path" size="32" />
<SvgIcon v-else-if="name === 'gitea'" :path="siGitea.path" size="32" />
<svg v-else-if="name === 'spinner'" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path
@ -89,8 +80,6 @@
</template>
<script lang="ts" setup>
import 'iconify-icon';
import {
mdiAlarm,
mdiAlertCircle,
@ -132,6 +121,7 @@ import {
mdiTimerOutline,
mdiTrashCanOutline,
} from '@mdi/js';
import { siForgejo, siGitea } from 'simple-icons';
import SvgIcon from './SvgIcon.vue';