diff --git a/src/components/Feed.tsx b/src/components/Feed.tsx index 1d7908e..21158d4 100644 --- a/src/components/Feed.tsx +++ b/src/components/Feed.tsx @@ -31,7 +31,7 @@ export function Feed({initial,section='',tagPath=''}:{initial:FeedData;section?: useEffect(()=>{generation.current++;setPosts(initial.posts);setCursor(initial.nextCursor);setError('');setBusy(false);},[initial,router.query.q]); const current=sections.find(s=>s.path===section);const target=initial.tags.find(t=>t.path===tagPath);const children=initial.tags.filter(t=>target?t.parent_id===target.id:!t.parent_id); async function load(){const gen=generation.current;setBusy(true);setError('');try{const q=new URLSearchParams({section,path:tagPath,cursor:cursor||'',q:String(router.query.q||'')});const res=await fetch('/api/feed?'+q);const d=await res.json();if(!res.ok)throw new Error(d.error);if(gen===generation.current){setPosts(old=>[...old,...d.posts.filter((p:Post)=>!old.some(a=>a.id===p.id))]);setCursor(d.nextCursor);}}catch{if(gen===generation.current)setError('加载没有完成,点击重试。');}finally{if(gen===generation.current)setBusy(false);}} - return {target?.name||current?.name||'灵感首页'} · PROMPT + return {target?.name||current?.name||'灵感首页'} · PROMPT {current&&

{target?.name||current.name}

{current.hint}

} {!section&&} {tagPath&&
全部{current?.name}{tagPath.split('/').map((_,i)=>{const path=tagPath.split('/').slice(0,i+1).join('/');return / {initial.tags.find(t=>t.path===path)?.name};})}
}