'use client'; import { useEffect, useState } from 'react'; import { Clock, BookOpen, Scale, FileText } from 'lucide-react'; import { useNavigation } from '@/lib/navigation'; import { getRecentlyViewed, clearRecentlyViewed, type RecentlyViewedItem } from '@/lib/recently-viewed'; export function RecentlyViewed() { const { navigate } = useNavigation(); const [items, setItems] = useState([]); useEffect(() => { const update = () => setItems(getRecentlyViewed()); update(); window.addEventListener('panya-recently-viewed-changed', update); return () => window.removeEventListener('panya-recently-viewed-changed', update); }, []); if (items.length === 0) return null; const getIcon = (type: string) => { if (type === 'law') return BookOpen; if (type === 'judgment') return Scale; return FileText; }; const handleClick = (item: RecentlyViewedItem) => { if (item.type === 'law') navigate({ name: 'law', lawId: item.id }); else if (item.type === 'section') navigate({ name: 'section', sectionId: item.id }); else if (item.type === 'judgment') navigate({ name: 'judgment', judgmentId: item.id }); }; return (
ดูล่าสุด
{items.slice(0, 8).map((item, i) => { const Icon = getIcon(item.type); return ( ); })}
); }