import React from 'react'; import { RefreshCw, AlertCircle, Sparkles, Loader2, ShoppingBag, } from 'lucide-react'; import { OutfitRecommendationListProps } from '../../types/outfitRecommendation'; import OutfitRecommendationCard from './OutfitRecommendationCard'; import { EmptyState } from '../EmptyState'; /** * 穿搭方案推荐列表组件 * 遵循设计系统规范,提供统一的列表展示界面 */ export const OutfitRecommendationList: React.FC = ({ recommendations, isLoading = false, error, onRecommendationSelect, onSceneSearch, onRegenerate, className = '', }) => { // 加载状态 if (isLoading) { return (
{/* 加载标题 */}

AI正在生成穿搭方案...

请稍候,我们正在为您精心设计个性化的穿搭推荐

{/* 加载骨架屏 */}
{[1, 2, 3].map((index) => (
{/* 标题骨架 */}
{/* 描述骨架 */}
{/* 标签骨架 */}
{/* 色彩骨架 */}
{[1, 2, 3, 4].map((colorIndex) => (
))}
{/* 按钮骨架 */}
))}
); } // 错误状态 if (error) { return (
} title="生成失败" description={error} actionText="重新生成" onAction={onRegenerate} illustration="error" size="md" className="py-12" />
); } // 空状态 if (!recommendations || recommendations.length === 0) { return (
} title="暂无穿搭方案" description="点击上方的 ✨ 图标开始生成个性化穿搭推荐" actionText="开始生成" onAction={onRegenerate} illustration="folder" size="md" className="py-12" showTips={true} tips={[ '输入关键词如"休闲"、"正式"、"约会"等', '描述场合如"工作"、"聚会"、"旅行"等', '指定风格如"简约"、"复古"、"街头"等', ]} />
); } // 正常状态 - 显示推荐列表 return (
{/* 列表标题和操作 */}

AI穿搭推荐

共为您生成 {recommendations.length} 个个性化穿搭方案

{onRegenerate && ( )}
{/* 推荐卡片网格 */}
{recommendations.map((recommendation, index) => ( ))}
{/* 底部提示 */}

💡 使用提示

  • 点击方案卡片查看详细信息和搭配建议
  • 点击"场景检索"按钮查找适合的拍摄场景
  • 每个方案都包含TikTok优化建议,助力内容创作
  • 可以重新生成获得更多不同风格的穿搭方案
); }; export default OutfitRecommendationList;