Better avatar and banner APIs

This commit is contained in:
2024-06-26 17:07:20 +08:00
parent d540e86603
commit 7e4ca530fa
9 changed files with 131 additions and 20 deletions

2
web/.gitignore vendored
View File

@ -28,3 +28,5 @@ coverage
*.sw?
*.tsbuildinfo
.vite

View File

@ -1,8 +1,85 @@
{
"hash": "47c7bee8",
"hash": "8b6d0833",
"configHash": "9db2f33b",
"lockfileHash": "e3b0c442",
"browserHash": "0938dccf",
"optimized": {},
"chunks": {}
"lockfileHash": "f7feab31",
"browserHash": "0decaeb8",
"optimized": {
"vue": {
"src": "../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
"fileHash": "1913939b",
"needsInterop": false
},
"pinia": {
"src": "../../node_modules/pinia/dist/pinia.mjs",
"file": "pinia.js",
"fileHash": "4c101c90",
"needsInterop": false
},
"vuetify": {
"src": "../../node_modules/vuetify/lib/framework.mjs",
"file": "vuetify.js",
"fileHash": "3ab2542c",
"needsInterop": false
},
"vuetify/blueprints": {
"src": "../../node_modules/vuetify/lib/blueprints/index.mjs",
"file": "vuetify_blueprints.js",
"fileHash": "b34fe63c",
"needsInterop": false
},
"vuetify/components": {
"src": "../../node_modules/vuetify/lib/components/index.mjs",
"file": "vuetify_components.js",
"fileHash": "42f8a374",
"needsInterop": false
},
"vuetify/labs/components": {
"src": "../../node_modules/vuetify/lib/labs/components.mjs",
"file": "vuetify_labs_components.js",
"fileHash": "a46a672a",
"needsInterop": false
},
"vuetify/directives": {
"src": "../../node_modules/vuetify/lib/directives/index.mjs",
"file": "vuetify_directives.js",
"fileHash": "66c34130",
"needsInterop": false
},
"vue-router": {
"src": "../../node_modules/vue-router/dist/vue-router.mjs",
"file": "vue-router.js",
"fileHash": "56488480",
"needsInterop": false
}
},
"chunks": {
"chunk-WKTZ3I3B": {
"file": "chunk-WKTZ3I3B.js"
},
"chunk-XJKCW2PU": {
"file": "chunk-XJKCW2PU.js"
},
"chunk-VFMM6PD2": {
"file": "chunk-VFMM6PD2.js"
},
"chunk-XREPMAG4": {
"file": "chunk-XREPMAG4.js"
},
"chunk-ZUZRGUJJ": {
"file": "chunk-ZUZRGUJJ.js"
},
"chunk-V6X3YB3T": {
"file": "chunk-V6X3YB3T.js"
},
"chunk-6CN2GOSH": {
"file": "chunk-6CN2GOSH.js"
},
"chunk-AYVSL3LM": {
"file": "chunk-AYVSL3LM.js"
},
"chunk-Q5PGHB6G": {
"file": "chunk-Q5PGHB6G.js"
}
}
}

View File

@ -14,12 +14,12 @@
"dependencies": {
"@fontsource/roboto": "^5.0.13",
"@mdi/font": "^7.4.47",
"@unocss/reset": "^0.58.9",
"@unocss/reset": "^0.61.0",
"dompurify": "^3.1.5",
"marked": "^12.0.2",
"pinia": "^2.1.7",
"universal-cookie": "^7.1.4",
"unocss": "^0.58.9",
"unocss": "^0.61.0",
"vue": "^3.4.30",
"vue-router": "^4.4.0",
"vuetify": "^3.6.10"

View File

@ -10,7 +10,7 @@
subtitle="There is no more new things for you..." />
</v-list>
<v-list v-else class="w-[380px]" density="compact" lines="three">
<v-list v-else density="compact" lines="three">
<v-list-item v-for="(item, idx) in notify.notifications" :key="idx">
<template #title>{{ item.subject }}</template>
<template #subtitle>{{ item.content }}</template>

View File

@ -1,15 +1,15 @@
<template>
<div>
<v-card>
<v-img cover class="bg-grey-lighten-2" :height="240" :src="'/api/avatar/' + id.userinfo.data.banner" />
<v-img cover class="bg-grey-lighten-2" :height="240" src="/api/avatar" />
<v-card-text class="flex gap-3.5 px-5 pb-5">
<v-avatar
color="grey-lighten-2"
icon="mdi-account-circle"
class="rounded-card"
image="/api/banner"
:size="54"
:image="'/api/avatar/' + id.userinfo.data.avatar"
/>
<div>
<h1 class="text-2xl cursor-pointer" @click="show.realname = !show.realname">{{ displayName }}</h1>