From f7d354fca4e176fb901b02f3eeffef55911fa5a7 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 2 Jul 2026 20:28:03 +0800 Subject: [PATCH] Refine mobile subscribe cards and grouped list styling --- src/components/cards/SubscribeCard.vue | 356 +++++++++++++++++++--- src/pages/appcenter.vue | 6 +- src/styles/common.scss | 10 + src/views/subscribe/SubscribeListView.vue | 12 +- 4 files changed, 342 insertions(+), 42 deletions(-) diff --git a/src/components/cards/SubscribeCard.vue b/src/components/cards/SubscribeCard.vue index 5ee5d081..8714625e 100644 --- a/src/components/cards/SubscribeCard.vue +++ b/src/components/cards/SubscribeCard.vue @@ -92,6 +92,17 @@ const rightBottomStateDisplay = computed(() => { return null }) +// 移动端紧凑卡片的状态展示,颜色统一映射到 Vuetify 全局主题 token。 +const compactStateDisplay = computed(() => { + if (subscribeState.value === 'S') { + return { color: 'secondary', icon: 'mdi-pause-circle-outline', label: t('subscribe.cardStatePaused') } + } + if (subscribeState.value === 'P') { + return { color: 'info', icon: 'mdi-timer-sand', label: t('subscribe.cardStatePending') } + } + return { color: 'primary', icon: 'mdi-rss', label: t('subscribe.subscribing') } +}) + // 洗版徽标:共用 mdi-shimmer 图标,分集 / 全集 由 full 标记区分背景 const bestVersionBadge = computed(() => { if (!isEnabledFlag(props.media?.best_version)) return null @@ -423,45 +434,143 @@ function handleCardClick() { }" min-height="150" @click="handleCardClick" - :ripple="!props.batchMode && !props.sortable" + :ripple="display.smAndUp.value && !props.batchMode && !props.sortable" > -
- -
-
- - - - -