Browse Source

feat: 更新 RegisterCard 组件的 props 类型,添加 levelsByMemberLevel;优化离线活动页面的 swiper 逻辑

EvilDragon 3 months ago
parent
commit
7869853ece

+ 1 - 1
packages/app/src/pages/home/components/register-card.vue

@@ -10,7 +10,7 @@ import { getActivityStatusButtonText, getActivityStatusText } from '../../../cor
 
 const props = defineProps<{
   customClass?: string
-  options?: Activity & StudyTour
+  options?: (Activity | StudyTour) & { levelsByMemberLevel }
 }>()
 const router = useRouter()
 const { data: signups, run: setSignups } = useRequest(

+ 10 - 8
packages/app/src/pages/home/offline-activity/index.vue

@@ -74,19 +74,21 @@ onMounted(async () => {
       path="/pages/home/offline-activity/list/index"
       end-text="查看全部"
     ></section-heading>
-    <swiper class="aspect-[0.75/1] rounded-[20px] overflow-hidden">
-      <template v-for="(it, i) in activities.list" :key="i">
-        <swiper-item>
-          <RegisterCard :options="{ ...it, levelsByMemberLevel }"></RegisterCard>
-        </swiper-item>
-      </template>
-    </swiper>
+    <template v-if="activities.list?.length">
+      <swiper class="aspect-[0.75/1] rounded-[20px] overflow-hidden">
+        <template v-for="(it, i) in activities.list" :key="i">
+          <swiper-item>
+            <RegisterCard :options="{ ...it, levelsByMemberLevel }"></RegisterCard>
+          </swiper-item>
+        </template>
+      </swiper>
+    </template>
     <card custom-class="">
       <div class="my-7.5 text-black text-xl font-normal font-['PingFang_SC'] leading-[10.18px]">
         筑巢荟-活动营
       </div>
       <div
-        class="w-[319px] h-[264px] text-justify text-black/40 text-base font-normal font-['PingFang_SC'] leading-relaxed"
+        class="text-justify text-black/40 text-base font-normal font-['PingFang_SC'] leading-relaxed"
       >
         我们为您精心打造了一个独特且极具价值的活动营。这个项目的核心旨在全方位提升您作为设计师的能力。
         在这里,您将拥有无比优质的游学资源。我们与全球知名的设计学府、顶尖设计工作室以及具有代表性的经典建筑和室内空间建立了紧密合作。您将有机会深入这些卓越的场所,亲身体验最前沿的设计理念和实践。