|
|
@@ -1,6 +1,6 @@
|
|
|
<script setup lang="ts">
|
|
|
import { computed } from 'vue'
|
|
|
-import { NAvatar } from 'naive-ui'
|
|
|
+import { NAvatar, avatarProps } from 'naive-ui'
|
|
|
import { useUserStore } from '@/store'
|
|
|
import defaultAvatar from '@/assets/avatar.png'
|
|
|
import { isString } from '@/utils/is'
|
|
|
@@ -11,8 +11,8 @@ const userInfo = computed(() => userStore.userInfo)
|
|
|
|
|
|
const props = defineProps({
|
|
|
avatarType: {
|
|
|
- type: String,
|
|
|
- default: 'default'
|
|
|
+ type: avatarProps.size,
|
|
|
+ default: 'large'
|
|
|
},
|
|
|
onlyAvatar: {
|
|
|
type: Boolean,
|
|
|
@@ -25,10 +25,10 @@ const props = defineProps({
|
|
|
<div class="flex items-center overflow-hidden">
|
|
|
<div class="w-10 h-10 overflow-hidden rounded-full shrink-0" :class="[avatarType]">
|
|
|
<template v-if="isString(userInfo.avatar) && userInfo.avatar.length > 0">
|
|
|
- <NAvatar size="large" round :src="userInfo.avatar" :fallback-src="defaultAvatar" />
|
|
|
+ <NAvatar :size="avatarType" round :src="userInfo.avatar" :fallback-src="defaultAvatar" />
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <NAvatar size="large" round :src="defaultAvatar" />
|
|
|
+ <NAvatar :size="avatarType" round :src="defaultAvatar" />
|
|
|
</template>
|
|
|
</div>
|
|
|
<div class="flex-1 min-w-0 ml-2" v-if="!onlyAvatar" :class="[avatarType + '-text']">
|
|
|
@@ -43,17 +43,17 @@ const props = defineProps({
|
|
|
</template>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
-.small {
|
|
|
- width: 24px;
|
|
|
- height: 24px;
|
|
|
- --n-avatar-size-override: 24px;
|
|
|
-}
|
|
|
+// .small {
|
|
|
+// width: 24px;
|
|
|
+// height: 24px;
|
|
|
+// --n-avatar-size-override: 24px;
|
|
|
+// }
|
|
|
|
|
|
-.large {
|
|
|
- width: 50px;
|
|
|
- height: 50px;
|
|
|
- --n-avatar-size-override: 50px;
|
|
|
-}
|
|
|
+// .large {
|
|
|
+// width: 50px;
|
|
|
+// height: 50px;
|
|
|
+// --n-avatar-size-override: 50px;
|
|
|
+// }
|
|
|
|
|
|
.large-text {
|
|
|
h2 {
|