import React from 'react'; import { X } from 'lucide-react'; import { MoodItem, MoodType } from '../types'; interface MoodDetailDialogProps { mood: MoodItem | null; onClose: () => void; } export const MoodDetailDialog: React.FC = ({ mood, onClose }) => { if (!mood) return null; const getMoodEmoji = (type: MoodType) => { switch (type) { case MoodType.HAPPY: return '😊'; case MoodType.CALM: return '😌'; case MoodType.TIRED: return '😴'; case MoodType.ANXIOUS: return '😰'; case MoodType.HOPEFUL: return '🌟'; default: return '😐'; } }; const getMoodColor = (type: MoodType) => { switch (type) { case MoodType.HAPPY: return 'from-rose-200 to-orange-100'; case MoodType.CALM: return 'from-violet-200 to-purple-100'; case MoodType.TIRED: return 'from-blue-200 to-slate-200'; case MoodType.ANXIOUS: return 'from-stone-200 to-orange-50'; case MoodType.HOPEFUL: return 'from-yellow-100 to-amber-50'; default: return 'from-slate-200 to-slate-100'; } }; const formatDate = (timestamp: number) => { const date = new Date(timestamp); const now = new Date(); const diff = now.getTime() - date.getTime(); const days = Math.floor(diff / (1000 * 60 * 60 * 24)); if (days === 0) { return `今天 ${date.toLocaleTimeString('zh-CN', { hour: '2-digit', minute: '2-digit' })}`; } else if (days === 1) { return `昨天 ${date.toLocaleTimeString('zh-CN', { hour: '2-digit', minute: '2-digit' })}`; } else if (days < 7) { return `${days}天前`; } else { return date.toLocaleDateString('zh-CN', { month: 'long', day: 'numeric' }); } }; return (
{/* 关闭按钮 */} {/* 内容 */}
{/* Emoji */}
{getMoodEmoji(mood.type)}
{/* 心情类型 */}

{mood.type}

{/* 强度指示器 */}
情绪强度 {Math.round(mood.intensity * 10)}/10
{/* 时间 */}
{formatDate(mood.date)}
{/* 提示 */}

"每一种情绪都值得被记录和珍惜"

); };