소스 검색

feat: 更新 moment-item 组件,优化样式并调整 levelsByLevel 的实现方式

EvilDragon 3 달 전
부모
커밋
db997451c4
2개의 변경된 파일15개의 추가작업 그리고 14개의 파일을 삭제
  1. 6 10
      packages/app/src/components/moment-item.vue
  2. 9 4
      packages/app/src/core/libs/levels.ts

+ 6 - 10
packages/app/src/components/moment-item.vue

@@ -10,7 +10,7 @@ import { likeActived, likeBlack } from '@designer-hub/assets/src/icons'
 import { NetImages } from '../core/libs/net-images'
 import { currRoute } from '../utils'
 import { usePermissions } from '../composables/permissions'
-import { levelsByLevel } from '@/core/libs/levels'
+import { levelsByLevel } from '../core/libs/levels'
 
 const props = withDefaults(
   defineProps<{
@@ -80,9 +80,9 @@ onMounted(async () => {
 <template>
   <div @click="toDetail">
     <Card>
-      <view class="flex items-center">
+      <view class="flex items-center gap-2">
         <view
-          class="overflow-hidden rounded-full mr-2"
+          class="overflow-hidden rounded-full"
           @click.stop="
             features.toDesignerHomePage &&
               currRoute().path !== '/pages/mine/homepage/index' &&
@@ -98,13 +98,9 @@ onMounted(async () => {
           />
         </view>
         <view class="">{{ props.options.stylistName }}</view>
-        <div v-if="levelsByLevel[options?.member?.level]?.badge">
-          <wd-img
-            width="63"
-            height="18.6"
-            :src="levelsByLevel[options?.member?.level]?.badge"
-          ></wd-img>
-        </div>
+        <!-- <template v-if="levelsByLevel[options?.member?.level]?.badge"> -->
+        <wd-img width="63" height="18.6" :src="levelsByLevel[2]?.badge || ''"></wd-img>
+        <!-- </template> -->
         <view class="flex-1"></view>
         <view>{{ beforeNow(dayjs(props.options.createTime).toDate()) }}</view>
       </view>

+ 9 - 4
packages/app/src/core/libs/levels.ts

@@ -1,9 +1,9 @@
-import { group } from 'radash'
+import { group, mapEntries } from 'radash'
 import memberSilver from '@designer-hub/assets/src/libs/assets/memberSilver'
 import memberGold from '@designer-hub/assets/src/libs/assets/memberGold'
 import memberPlatinum from '@designer-hub/assets/src/libs/assets/memberPlatinum'
 
-export const levels = [
+export const levels: { level: number; bgImg: string; badge?: string }[] = [
   {
     level: 1,
     bgImg:
@@ -28,5 +28,10 @@ export const levels = [
       'https://image.zhuchaohui.com/zhucaohui/77b6712b1cab7e769b630010be01eceec6cdd27f6947777b5a805e3cbf077db4.png',
   },
 ]
-// export const levelsByLevel =
-export const levelsByLevel = group(levels, ({ level }) => level)
+export const levelsByLevel = levels.reduce(
+  (acc: { level?: number; bgImg?: string; badge?: string }, item) => {
+    acc[item.level] = item
+    return acc
+  },
+  {},
+)