remix-demo
react router (remix) demo
git clone https://9o.is/git/remix-demo.git
Timeline.tsx
(652B)
1 import type { ReactNode } from "react";
2
3 interface Value {
4 id: string;
5 date: string;
6 node: ReactNode;
7 }
8
9 interface TimelineProps {
10 values: Value[];
11 }
12
13 export default function Timeline({ values }: TimelineProps) {
14 return (
15 <ol className="relative my-4 border-l border-gray-200">
16 {values.map(({ id, date, node }) => (
17 <li tabIndex={0} key={id} className="mb-8 ml-4 rounded border p-2">
18 <div className="absolute -left-1.5 mt-1.5 h-3 w-3 rounded-full border border-white bg-gray-200"></div>
19 <time className="mb-1 text-sm text-gray-400">{date}</time>
20 {node}
21 </li>
22 ))}
23 </ol>
24 );
25 }