Skip to content
This repository was archived by the owner on Jun 18, 2024. It is now read-only.

Commit f3aed7d

Browse files
committed
feat: Implement slider
1 parent fd972d2 commit f3aed7d

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

components/home.tsx

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ import React, { ReactNode, useEffect, useState } from "react";
7373
import icon from "../docs/icon-dark.png";
7474

7575
const DAY_MILLISECONDS = 1000 * 60 * 60 * 24;
76+
const DIARY_DETAIL_KEY = "diary.detail";
7677

7778
const TOPICS = [
7879
["HRT", "hrt"],
@@ -91,6 +92,7 @@ interface IEntry {
9192
title: string;
9293
text: string;
9394
topics: string[];
95+
detail: number;
9496
}
9597

9698
const ENTRIES: IEntry[] = [
@@ -100,55 +102,63 @@ const ENTRIES: IEntry[] = [
100102
title: "Dolor",
101103
text: "Lorem ipsum dolor sit amet consectetur adipisicing elit …",
102104
topics: ["substance-use"],
105+
detail: 50,
103106
},
104107
{
105108
day: 17,
106109
date: new Date("2023-01-20 11:30"),
107110
title: "Lorem",
108111
text: "Lorem ipsum dolor sit amet consectetur adipisicing elit …",
109112
topics: ["coming-out"],
113+
detail: 25,
110114
},
111115
{
112116
day: 20,
113117
date: new Date("2023-01-23 09:30"),
114118
title: "Lorem",
115119
text: "Lorem ipsum dolor sit amet consectetur adipisicing elit …",
116120
topics: ["hrt"],
121+
detail: 75,
117122
},
118123
{
119124
day: 20,
120125
date: new Date("2023-01-23 16:30"),
121126
title: "Ipsum",
122127
text: "Dolor sit amet consectetur adipisicing elit lorem ipsum …",
123128
topics: ["ffs", "hrt"],
129+
detail: 50,
124130
},
125131
{
126132
day: 21,
127133
date: new Date("2023-01-24"),
128134
title: "Amet",
129135
text: "Dolor sit amet consectetur adipisicing elit lorem ipsum …",
130136
topics: ["ffs", "domperidone"],
137+
detail: 25,
131138
},
132139
{
133140
day: 22,
134141
date: new Date("2023-01-25"),
135142
title: "Consectur",
136143
text: "Dolor sit amet consectetur adipisicing elit lorem ipsum …",
137144
topics: ["coming-out"],
145+
detail: 100,
138146
},
139147
{
140148
day: 23,
141149
date: new Date("2023-01-26"),
142150
title: "Ducimus",
143151
text: "Dolor sit amet consectetur adipisicing elit lorem ipsum …",
144152
topics: ["substance-use", "ibutamoren"],
153+
detail: 75,
145154
},
146155
{
147156
day: 30,
148157
date: new Date("2023-02-02"),
149158
title: "Ducimusss",
150159
text: "Dolor sit amet consectetur adipisicing elit lorem ipsum …",
151160
topics: ["substance-use", "ibutamoren"],
161+
detail: 50,
152162
},
153163
];
154164

@@ -249,7 +259,7 @@ export default function Home() {
249259
const [settingsOpen, setSettingsOpen] = useState(false);
250260
const [helpOpen, setHelpOpen] = useState(false);
251261
const [nsfw, setNSFW] = useState(false);
252-
const [detail, setDetail] = useState(75);
262+
const [detail, setDetail] = useState(100);
253263
const [activeTab, setActiveTab] = useState(0);
254264
const [filters, setFilters] = useState(false);
255265
const [selectedEntryID, setSelectedEntryID] = useState(-1);
@@ -267,6 +277,16 @@ export default function Home() {
267277
]);
268278
const [scale, setScale] = useState("week");
269279

280+
useEffect(() => {
281+
const v = localStorage.getItem("diary.detail") || "100";
282+
283+
setDetail(parseInt(v));
284+
}, []);
285+
286+
useEffect(() => {
287+
localStorage.setItem(DIARY_DETAIL_KEY, detail.toString());
288+
}, [detail]);
289+
270290
let { earliestEntryDate, earliestEntry, latestEntryDate } = ENTRIES.reduce(
271291
(prev, curr) => {
272292
if (!prev.earliestEntryDate || curr.date < prev.earliestEntryDate) {
@@ -378,7 +398,11 @@ export default function Home() {
378398

379399
const entriesToShow = ENTRIES.map((v, id) => ({ id, ...v }))
380400
.slice(pageStartIndex, pageEndIndex)
381-
.filter((e) => activeTopics.filter((v) => e.topics.includes(v)).length > 0);
401+
.filter(
402+
(e) =>
403+
activeTopics.filter((v) => e.topics.includes(v)).length > 0 &&
404+
e.detail <= detail
405+
);
382406

383407
useEffect(() => {
384408
if (

0 commit comments

Comments
 (0)