import { Clock } from 'lucide-react'; import PageHeader from '@/components/PageHeader'; import SwitchButtonGroup from '@/components/SwitchButtonGroup'; import { ZONES } from '@/config/pageTheme'; import LiveClock from './LiveClock'; import ResultView from './ResultView'; import { useTimestampConverter } from './useTimestampConverter'; import { useLazyTranslation } from '@/utils/useLazyTranslation'; import { cn } from '@/lib/utils'; // 1. 引入标准的 shadcn/ui 原子表单组件(代替原生的原生 Input 和 Select) import { Input } from '@/components/ui/input'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select'; export default function Index() { const { t } = useLazyTranslation('timestamp'); // 2. 完美对接全新重构后的统一单源响应式 Hook const { mode, input, unit, zone, result, error, setMode, setInput, setUnit, setZone, handleUseNow, } = useTimestampConverter(); return (
{/* Header */} } /> {/* 动态参考信息时钟条 */} {/* 核心工作台网格:桌面端 md+ 左右等宽分栏;移动端单栏堆叠 */}
{/* 左栏:转换工作台 */}
{/* 模式选择切换组 */} setMode(newMode as 'ts2dt' | 'dt2ts')} size="small" /> {/* 输入交互区 */}
{/* 3. 替换为标准的 shadcn 组件: 享受原生高水准的 focus-visible 环形动画响应。 */} setInput(e.target.value)} className={cn( 'font-mono font-semibold h-10 shadow-sm placeholder:text-muted-foreground/60 focus:bg-background transition-all', error && 'border-destructive focus-visible:ring-destructive', )} /> {/* 错误自愈提示 */} {error && (

{error}

)}
{/* 核心配置群:单位切换 + 时区选择紧凑横排 */}
{/* 时间精度单位选择 */} setUnit(v as 'ms' | 's')} size="small" className="sm:w-auto shrink-0" // 窄屏下全宽,宽屏下自适应收缩 /> {/* 4. 降维打击:将原生 : 全操作系统的样式绝对一致,完美融合暗黑模式,悬浮弹窗自带微距磨砂玻璃阻尼动效。 */}
{/* 5. 彻底移除了原先丑陋的手动 convert 按钮! 在响应式 Hook 的加持下,此处留白或由排版自然撑开,界面视觉极其干净。 */}
{/* 右栏:结果实时流展示卡片 */}
); }