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" > -