'use client'; import { Calendar, RefreshCw, Database } from 'lucide-react'; export type RangeKey = 'day' | 'week' | 'month' | 'quarter' | 'year' | 'custom'; export type RefreshMode = 'auto' | 'hour' | 'day' | 'week'; const RANGES: { key: RangeKey; label: string }[] = [ { key: 'day', label: '日' }, { key: 'week', label: '周' }, { key: 'month', label: '月' }, { key: 'quarter', label: '季' }, { key: 'year', label: '年' }, { key: 'custom', label: '自定义' }, ]; const MODES: { key: RefreshMode; label: string }[] = [ { key: 'auto', label: '自动' }, { key: 'hour', label: '时' }, { key: 'day', label: '日' }, { key: 'week', label: '周' }, ]; export default function TopBar({ range, date, onRangeChange, onDateChange, mode, onModeChange, rescanning, onRescan, onFullSync, rescanInfo, }: { range: RangeKey; date: string; onRangeChange: (r: RangeKey) => void; onDateChange: (date: string) => void; mode: RefreshMode; onModeChange: (m: RefreshMode) => void; rescanning: boolean; onRescan: () => void; onFullSync?: () => void; rescanInfo?: string; }) { return (
Daily Intelligence
微信雷达 · 情报看板
{rescanInfo ?? '尚未扫描,点击「重扫」加载数据'}
onDateChange(e.target.value)} className="bg-transparent text-[12px] outline-none [color-scheme:dark]" title="按日期查看微信雷达" />
{RANGES.map((r) => ( onRangeChange(r.key)}> {r.label} ))} {MODES.map((m) => ( onModeChange(m.key)}> {m.label} ))} {onFullSync && ( )}
); } function SegGroup({ children }: { children: React.ReactNode }) { return (
{children}
); } function SegBtn({ children, active, onClick, }: { children: React.ReactNode; active?: boolean; onClick?: () => void; }) { return ( ); }