import { Clapperboard, Hash, Radio, UserPlus, UsersRound } from 'lucide-react' import React from 'react' import { isDark } from '../../../../utils/theme' import { DefaultLayout } from '../../../components/DefaultLayout' import type { PosterProps } from '../../../types/ctx' import { DouyinLikeIcon, DouyinRecommendIcon } from '../../components/Icons' import type { DouyinUserListData } from './types' const pushTypeConfig: Record }> = { post: { label: '作品更新', color: 'bg-accent/5 text-accent/80 border-accent/12', icon: Clapperboard }, favorite: { label: '喜欢列表', color: 'bg-[#d94f50]/5 text-[#b04546] border-[#d94f50]/12', icon: DouyinLikeIcon }, recommend: { label: '推荐列表', color: 'bg-[#c9943a]/5 text-[#a07d30] border-[#c9943a]/12', icon: DouyinRecommendIcon }, live: { label: '直播状态', color: 'bg-[#3aa876]/5 text-[#2e8a5e] border-[#3aa876]/12', icon: Radio } } /** * 抖音用户项组件 */ const DouyinUserItem: React.FC = (props) => { return (
  • {/* 渐进式模糊背景 - Progressive Blur Background */}
    {/* SVG 噪点 (作为卡片内层叠加) */}
    {/* 内容区域 */}
    Avatar

    {props.username}

    {props.short_id}
    {props.switch ? 'ON' : 'OFF'}
    {/* 左侧 */}
    {Object.entries(pushTypeConfig).map(([type, config]) => { const isActive = props.pushTypes?.includes(type) return (
    {config.label}
    ) })}
    {/* 右侧 */}
    {[ { icon: UsersRound, value: props.fans, label: '粉丝' }, { icon: DouyinLikeIcon, value: props.total_favorited, label: '获赞' }, { icon: UserPlus, value: props.following_count, label: '关注' } ].map((item, index) => { const StatIcon = item.icon return (
    {item.value} {item.label}
    ) })}
  • ) } /** * 抖音用户列表组件 */ const DouyinUserList: React.FC> = (props) => { const dark = isDark(props.ctx) // 抖音配色:Danger红 (#ef4444) + 黑色 (#000000) const primaryColor = dark ? '#ef4444' : '#dc2626' // Red-500/600 const secondaryColor = dark ? '#000000' : '#171717' // Black/Neutral-900 return ( {/* 1. 弥散光背景层 */}
    {/* 2. 全局噪点纹理 */}
    {/* 3. 几何装饰 */}
    {/* 主要内容区域 */}
    {/* 极简头部 */}
    {/* 群头像 */}
    Group Avatar
    Douyin Monitor

    {props.data.groupInfo.groupName}

    GROUP_ID {props.data.groupInfo.groupId}

    {/* 字体黑白灰渐变 */}
    {String(props.data.renderOpt.length).padStart(2, '0')}
    Monitoring
    {/* 用户列表网格 */}
      {props.data.renderOpt.map((user, index) => ( ))}
    ) } export default DouyinUserList