<template>
  <CommonContentCard :class="{ 'channel-primary': channel.primary }">
    <div class="channel">
      <span v-if="channel.primary" class="channel-badge">推荐</span>
      <h3 class="channel-label">{{ channel.label }}</h3>
      <p class="channel-value">{{ channel.value }}</p>
      <p v-if="channel.description" class="channel-desc">{{ channel.description }}</p>
      <CommonQRCodeBlock
        v-if="channel.qrImage"
        :image="channel.qrImage"
        :label="channel.label"
        size="normal"
      />
    </div>
  </CommonContentCard>
</template>

<script setup>
defineProps({ channel: { type: Object, required: true } })
</script>

<style lang="less" scoped>
.channel { text-align: center; }
.channel-label { font-size: @font-size-md; color: @color-primary; margin-bottom: @space-sm; }
.channel-value { font-size: @font-size-base; color: @color-text-primary; font-weight: @font-weight-medium; margin-bottom: @space-xs; }
.channel-desc { font-size: @font-size-sm; color: @color-text-muted; margin-bottom: @space-md; }

.channel-primary {
  border: 2px solid @color-primary;
  position: relative;
}

.channel-badge {
  display: inline-block;
  padding: @space-xs @space-md;
  font-size: @font-size-xs;
  font-weight: @font-weight-medium;
  color: #fff;
  background: @color-primary;
  border-radius: @border-radius-full;
  margin-bottom: @space-md;
}
</style>
