From 02846d9459dcee4d7d1fa6dedd39b7cfedd68df9 Mon Sep 17 00:00:00 2001 From: Jared He <66887902+jaredjhe@users.noreply.github.com> Date: Wed, 27 Jul 2022 20:43:23 -0400 Subject: [PATCH 01/12] Initial component --- components/Timeline.tsx | 11 +++++++++++ components/TimelineSection.tsx | 5 +++++ 2 files changed, 16 insertions(+) create mode 100644 components/Timeline.tsx create mode 100644 components/TimelineSection.tsx diff --git a/components/Timeline.tsx b/components/Timeline.tsx new file mode 100644 index 0000000..709d0e3 --- /dev/null +++ b/components/Timeline.tsx @@ -0,0 +1,11 @@ +import React from "react"; + +import TimelineSection from "./TimelineSection"; + +interface TimelineProps { + children: typeof TimelineSection; +} + +export default function Timeline(props: TimelineProps) { + return
; +} diff --git a/components/TimelineSection.tsx b/components/TimelineSection.tsx new file mode 100644 index 0000000..5fa1384 --- /dev/null +++ b/components/TimelineSection.tsx @@ -0,0 +1,5 @@ +import React from "react"; + +export default function TimelineSection() { + return ; +} -- 2.39.2 From 3f5439cb7d53088f0c3b4a4b07b82dfbe2f16a6c Mon Sep 17 00:00:00 2001 From: Jared He <66887902+jaredjhe@users.noreply.github.com> Date: Tue, 9 Aug 2022 18:38:28 -0400 Subject: [PATCH 02/12] Add mock data --- components/Timeline.tsx | 22 +++++++++++++++++++--- components/TimelineSection.tsx | 5 ----- data/mocks.ts | 27 +++++++++++++++++++++++++++ pages/playground.tsx | 2 ++ 4 files changed, 48 insertions(+), 8 deletions(-) delete mode 100644 components/TimelineSection.tsx diff --git a/components/Timeline.tsx b/components/Timeline.tsx index 709d0e3..1b37c64 100644 --- a/components/Timeline.tsx +++ b/components/Timeline.tsx @@ -1,11 +1,27 @@ import React from "react"; -import TimelineSection from "./TimelineSection"; +interface TimelineData { + time: string; + text: string; +} interface TimelineProps { - children: typeof TimelineSection; + data: TimelineData[]; + /** Distance between consecutive nodes on timeline, in pixels */ + nodeGap?: number; + /** Whether the time is transformed to uppercase */ + isTimeUppercase?: boolean; + className?: string; } -export default function Timeline(props: TimelineProps) { +export default function Timeline({ + data, + nodeGap = 40, + isTimeUppercase = true, +}: TimelineProps) { + return ; +} + +function TimelineSection() { return ; } diff --git a/components/TimelineSection.tsx b/components/TimelineSection.tsx deleted file mode 100644 index 5fa1384..0000000 --- a/components/TimelineSection.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import React from "react"; - -export default function TimelineSection() { - return ; -} diff --git a/data/mocks.ts b/data/mocks.ts index 162f5aa..971363a 100644 --- a/data/mocks.ts +++ b/data/mocks.ts @@ -64,3 +64,30 @@ export const moreMockCategoricalData = [ { key: "Ada", value: 2.21 }, { key: "Dart", value: 2.21 }, ]; + +export const mockTimelineData = [ + { + time: "Fall 2018", + text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum", + }, + { + time: "Winter 2019", + text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim venia", + }, + { + time: "Spring 2019", + text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in volupta", + }, + { + time: "Fall 2020", + text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum", + }, + { + time: "Winter 2020", + text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit,", + }, + { + time: "Spring 2020", + text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in repre", + }, +]; diff --git a/pages/playground.tsx b/pages/playground.tsx index 5707edb..58197f9 100644 --- a/pages/playground.tsx +++ b/pages/playground.tsx @@ -1,3 +1,4 @@ +import Timeline from "@/components/Timeline"; import { BarGraphHorizontal, BarGraphVertical } from "components/BarGraph"; import { mockCategoricalData, moreMockCategoricalData } from "data/mocks"; import React from "react"; @@ -59,6 +60,7 @@ export default function Home() { value: word.value, }))} /> ++ {positionData.text} +
+{" "}
+ - {positionData.text} -
-{" "}
{" "}
{" "}
{" "}