import Link from 'next/link'; import type { Post } from 'contentlayer/generated'; interface Props { current: Post; newer?: Post; older?: Post; } interface StationConfig { key: 'older' | 'current' | 'newer'; label: string; post?: Post; rel?: 'prev' | 'next'; subtitle: string; } export function PostStorylineNav({ current, newer, older }: Props) { const stations: StationConfig[] = [ { key: 'older', label: '上一站', post: older, subtitle: older ? '回顧這篇' : '到達起點', rel: 'prev' }, { key: 'current', label: '你在這裡', post: current, subtitle: '正在閱讀' }, { key: 'newer', label: '下一站', post: newer, subtitle: newer ? '繼續前往' : '尚無新章', rel: 'next' } ]; return ( ); } function Station({ station }: { station: StationConfig }) { const { post, label, subtitle, rel, key } = station; const isCurrent = key === 'current'; if (!post) { return (

{label}

{subtitle}

); } return (

{label}

{post.title}

{subtitle} ); }