@@ -73,6 +73,7 @@ import React, { ReactNode, useEffect, useState } from "react";
73
73
import icon from "../docs/icon-dark.png" ;
74
74
75
75
const DAY_MILLISECONDS = 1000 * 60 * 60 * 24 ;
76
+ const DIARY_DETAIL_KEY = "diary.detail" ;
76
77
77
78
const TOPICS = [
78
79
[ "HRT" , "hrt" ] ,
@@ -91,6 +92,7 @@ interface IEntry {
91
92
title : string ;
92
93
text : string ;
93
94
topics : string [ ] ;
95
+ detail : number ;
94
96
}
95
97
96
98
const ENTRIES : IEntry [ ] = [
@@ -100,55 +102,63 @@ const ENTRIES: IEntry[] = [
100
102
title : "Dolor" ,
101
103
text : "Lorem ipsum dolor sit amet consectetur adipisicing elit …" ,
102
104
topics : [ "substance-use" ] ,
105
+ detail : 50 ,
103
106
} ,
104
107
{
105
108
day : 17 ,
106
109
date : new Date ( "2023-01-20 11:30" ) ,
107
110
title : "Lorem" ,
108
111
text : "Lorem ipsum dolor sit amet consectetur adipisicing elit …" ,
109
112
topics : [ "coming-out" ] ,
113
+ detail : 25 ,
110
114
} ,
111
115
{
112
116
day : 20 ,
113
117
date : new Date ( "2023-01-23 09:30" ) ,
114
118
title : "Lorem" ,
115
119
text : "Lorem ipsum dolor sit amet consectetur adipisicing elit …" ,
116
120
topics : [ "hrt" ] ,
121
+ detail : 75 ,
117
122
} ,
118
123
{
119
124
day : 20 ,
120
125
date : new Date ( "2023-01-23 16:30" ) ,
121
126
title : "Ipsum" ,
122
127
text : "Dolor sit amet consectetur adipisicing elit lorem ipsum …" ,
123
128
topics : [ "ffs" , "hrt" ] ,
129
+ detail : 50 ,
124
130
} ,
125
131
{
126
132
day : 21 ,
127
133
date : new Date ( "2023-01-24" ) ,
128
134
title : "Amet" ,
129
135
text : "Dolor sit amet consectetur adipisicing elit lorem ipsum …" ,
130
136
topics : [ "ffs" , "domperidone" ] ,
137
+ detail : 25 ,
131
138
} ,
132
139
{
133
140
day : 22 ,
134
141
date : new Date ( "2023-01-25" ) ,
135
142
title : "Consectur" ,
136
143
text : "Dolor sit amet consectetur adipisicing elit lorem ipsum …" ,
137
144
topics : [ "coming-out" ] ,
145
+ detail : 100 ,
138
146
} ,
139
147
{
140
148
day : 23 ,
141
149
date : new Date ( "2023-01-26" ) ,
142
150
title : "Ducimus" ,
143
151
text : "Dolor sit amet consectetur adipisicing elit lorem ipsum …" ,
144
152
topics : [ "substance-use" , "ibutamoren" ] ,
153
+ detail : 75 ,
145
154
} ,
146
155
{
147
156
day : 30 ,
148
157
date : new Date ( "2023-02-02" ) ,
149
158
title : "Ducimusss" ,
150
159
text : "Dolor sit amet consectetur adipisicing elit lorem ipsum …" ,
151
160
topics : [ "substance-use" , "ibutamoren" ] ,
161
+ detail : 50 ,
152
162
} ,
153
163
] ;
154
164
@@ -249,7 +259,7 @@ export default function Home() {
249
259
const [ settingsOpen , setSettingsOpen ] = useState ( false ) ;
250
260
const [ helpOpen , setHelpOpen ] = useState ( false ) ;
251
261
const [ nsfw , setNSFW ] = useState ( false ) ;
252
- const [ detail , setDetail ] = useState ( 75 ) ;
262
+ const [ detail , setDetail ] = useState ( 100 ) ;
253
263
const [ activeTab , setActiveTab ] = useState ( 0 ) ;
254
264
const [ filters , setFilters ] = useState ( false ) ;
255
265
const [ selectedEntryID , setSelectedEntryID ] = useState ( - 1 ) ;
@@ -267,6 +277,16 @@ export default function Home() {
267
277
] ) ;
268
278
const [ scale , setScale ] = useState ( "week" ) ;
269
279
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
+
270
290
let { earliestEntryDate, earliestEntry, latestEntryDate } = ENTRIES . reduce (
271
291
( prev , curr ) => {
272
292
if ( ! prev . earliestEntryDate || curr . date < prev . earliestEntryDate ) {
@@ -378,7 +398,11 @@ export default function Home() {
378
398
379
399
const entriesToShow = ENTRIES . map ( ( v , id ) => ( { id, ...v } ) )
380
400
. 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
+ ) ;
382
406
383
407
useEffect ( ( ) => {
384
408
if (
0 commit comments