feat(activity): 活动大厅全面以陪吃·陪唱·陪喝为主,增加品类快捷胶囊筛选并完善TDD门禁

这个提交包含在:
wikiboss
2026-09-16 20:18:34 +08:00
父节点 9fd7ea2c5a
当前提交 57b8aeebe4
共有 5 个文件被更改,包括 359 次插入 和 72 次删除

查看文件

@@ -1,5 +1,5 @@
<template>
<view class="index-container">
<view class="index-container" :class="{ 'theme-warm': currentThemeKey === 'warm' }">
<!-- 顶部搜索栏 (矢量SVG搜索图标,交互聚焦微动效) -->
<view class="header-search">
<view class="search-box">
@@ -142,15 +142,30 @@
</template>
<script setup>
import { ref, computed } from 'vue';
import { ref, computed, onMounted, onUnmounted } from 'vue';
import { GAMES_LIST, BANNERS, EXPERTS_LIST } from '@/common/mock.js';
import { ICONS } from '@/common/icons.js';
import { getCurrentThemeKey } from '@/common/theme.js';
const games = ref(GAMES_LIST);
const banners = ref(BANNERS);
const experts = ref(EXPERTS_LIST);
const currentCategory = ref('all');
const playingId = ref(null);
const currentThemeKey = ref(getCurrentThemeKey());
const onThemeChanged = (key) => {
currentThemeKey.value = key;
};
onMounted(() => {
currentThemeKey.value = getCurrentThemeKey();
uni.$on('theme-change', onThemeChanged);
});
onUnmounted(() => {
uni.$off('theme-change', onThemeChanged);
});
const filteredExperts = computed(() => {
if (currentCategory.value === 'all') return experts.value;
@@ -685,6 +700,35 @@ const navTo = (url) => {
}
}
.index-container.theme-warm {
background-color: #140E0A;
.header-search {
background-color: #140E0A;
.search-box {
background-color: #221711;
border-color: rgba(249, 115, 22, 0.15);
&:focus-within {
border-color: #F97316;
box-shadow: 0 0 16rpx rgba(249, 115, 22, 0.35);
}
}
}
.category-scroll .category-item.active {
background: linear-gradient(135deg, rgba(249, 115, 22, 0.25), rgba(245, 158, 11, 0.1));
border-color: #F97316;
.cat-name {
color: #FB923C;
}
}
.expert-grid .expert-card {
background-color: #221711;
border-color: rgba(249, 115, 22, 0.12);
}
}
@keyframes pulse {
0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
70% { transform: scale(1); box-shadow: 0 0 0 8rpx rgba(255, 255, 255, 0); }