Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
26fa1726
Commit
26fa1726
authored
Jul 31, 2024
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore(frontend): add order by time asc
parent
6184375c
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
44 additions
and
5 deletions
+44
-5
MemoFilters.tsx
web/src/components/MemoFilters.tsx
+9
-0
Archived.tsx
web/src/pages/Archived.tsx
+8
-1
Explore.tsx
web/src/pages/Explore.tsx
+8
-1
Home.tsx
web/src/pages/Home.tsx
+8
-1
UserProfile.tsx
web/src/pages/UserProfile.tsx
+8
-1
memoFilter.ts
web/src/store/v1/memoFilter.ts
+3
-1
No files found.
web/src/components/MemoFilters.tsx
View file @
26fa1726
...
@@ -40,6 +40,15 @@ const MemoFilters = () => {
...
@@ -40,6 +40,15 @@ const MemoFilters = () => {
</
button
>
</
button
>
</
div
>
</
div
>
))
}
))
}
<
div
className=
"flex flex-row items-center gap-1 pl-1.5 pr-1 hover:opacity-80 cursor-pointer"
onClick=
{
()
=>
memoFilterStore
.
setOrderByTimeAsc
(
!
memoFilterStore
.
orderByTimeAsc
)
}
>
<
Icon
.
Clock
className=
"w-4 h-auto text-gray-500 dark:text-gray-400 opacity-60"
/>
<
span
className=
"text-gray-500 dark:text-gray-400 text-sm max-w-32 truncate"
>
{
memoFilterStore
.
orderByTimeAsc
?
"Asc"
:
"Desc"
}
</
span
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
);
);
...
...
web/src/pages/Archived.tsx
View file @
26fa1726
...
@@ -26,7 +26,11 @@ const Archived = () => {
...
@@ -26,7 +26,11 @@ const Archived = () => {
const
[
nextPageToken
,
setNextPageToken
]
=
useState
<
string
>
(
""
);
const
[
nextPageToken
,
setNextPageToken
]
=
useState
<
string
>
(
""
);
const
sortedMemos
=
memoList
.
value
const
sortedMemos
=
memoList
.
value
.
filter
((
memo
)
=>
memo
.
rowStatus
===
RowStatus
.
ARCHIVED
)
.
filter
((
memo
)
=>
memo
.
rowStatus
===
RowStatus
.
ARCHIVED
)
.
sort
((
a
,
b
)
=>
dayjs
(
b
.
displayTime
).
unix
()
-
dayjs
(
a
.
displayTime
).
unix
());
.
sort
((
a
,
b
)
=>
memoFilterStore
.
orderByTimeAsc
&&
memoFilterStore
.
filters
.
length
>
0
?
dayjs
(
a
.
displayTime
).
unix
()
-
dayjs
(
b
.
displayTime
).
unix
()
:
dayjs
(
b
.
displayTime
).
unix
()
-
dayjs
(
a
.
displayTime
).
unix
(),
);
useEffect
(()
=>
{
useEffect
(()
=>
{
memoList
.
reset
();
memoList
.
reset
();
...
@@ -45,6 +49,9 @@ const Archived = () => {
...
@@ -45,6 +49,9 @@ const Archived = () => {
tagSearch
.
push
(
`"
${
filter
.
value
}
"`
);
tagSearch
.
push
(
`"
${
filter
.
value
}
"`
);
}
}
}
}
if
(
memoFilterStore
.
orderByTimeAsc
&&
memoFilterStore
.
filters
.
length
>
0
)
{
filters
.
push
(
`order_by_time_asc == true`
);
}
if
(
contentSearch
.
length
>
0
)
{
if
(
contentSearch
.
length
>
0
)
{
filters
.
push
(
`content_search == [
${
contentSearch
.
join
(
", "
)}
]`
);
filters
.
push
(
`content_search == [
${
contentSearch
.
join
(
", "
)}
]`
);
}
}
...
...
web/src/pages/Explore.tsx
View file @
26fa1726
...
@@ -23,7 +23,11 @@ const Explore = () => {
...
@@ -23,7 +23,11 @@ const Explore = () => {
const
memoFilterStore
=
useMemoFilterStore
();
const
memoFilterStore
=
useMemoFilterStore
();
const
[
isRequesting
,
setIsRequesting
]
=
useState
(
true
);
const
[
isRequesting
,
setIsRequesting
]
=
useState
(
true
);
const
[
nextPageToken
,
setNextPageToken
]
=
useState
<
string
>
(
""
);
const
[
nextPageToken
,
setNextPageToken
]
=
useState
<
string
>
(
""
);
const
sortedMemos
=
memoList
.
value
.
sort
((
a
,
b
)
=>
dayjs
(
b
.
displayTime
).
unix
()
-
dayjs
(
a
.
displayTime
).
unix
());
const
sortedMemos
=
memoList
.
value
.
sort
((
a
,
b
)
=>
memoFilterStore
.
orderByTimeAsc
&&
memoFilterStore
.
filters
.
length
>
0
?
dayjs
(
a
.
displayTime
).
unix
()
-
dayjs
(
b
.
displayTime
).
unix
()
:
dayjs
(
b
.
displayTime
).
unix
()
-
dayjs
(
a
.
displayTime
).
unix
(),
);
useEffect
(()
=>
{
useEffect
(()
=>
{
memoList
.
reset
();
memoList
.
reset
();
...
@@ -42,6 +46,9 @@ const Explore = () => {
...
@@ -42,6 +46,9 @@ const Explore = () => {
tagSearch
.
push
(
`"
${
filter
.
value
}
"`
);
tagSearch
.
push
(
`"
${
filter
.
value
}
"`
);
}
}
}
}
if
(
memoFilterStore
.
orderByTimeAsc
&&
memoFilterStore
.
filters
.
length
>
0
)
{
filters
.
push
(
`order_by_time_asc == true`
);
}
if
(
contentSearch
.
length
>
0
)
{
if
(
contentSearch
.
length
>
0
)
{
filters
.
push
(
`content_search == [
${
contentSearch
.
join
(
", "
)}
]`
);
filters
.
push
(
`content_search == [
${
contentSearch
.
join
(
", "
)}
]`
);
}
}
...
...
web/src/pages/Home.tsx
View file @
26fa1726
...
@@ -27,7 +27,11 @@ const Home = () => {
...
@@ -27,7 +27,11 @@ const Home = () => {
const
[
nextPageToken
,
setNextPageToken
]
=
useState
<
string
>
(
""
);
const
[
nextPageToken
,
setNextPageToken
]
=
useState
<
string
>
(
""
);
const
sortedMemos
=
memoList
.
value
const
sortedMemos
=
memoList
.
value
.
filter
((
memo
)
=>
memo
.
rowStatus
===
RowStatus
.
ACTIVE
)
.
filter
((
memo
)
=>
memo
.
rowStatus
===
RowStatus
.
ACTIVE
)
.
sort
((
a
,
b
)
=>
dayjs
(
b
.
displayTime
).
unix
()
-
dayjs
(
a
.
displayTime
).
unix
())
.
sort
((
a
,
b
)
=>
memoFilterStore
.
orderByTimeAsc
&&
memoFilterStore
.
filters
.
length
>
0
?
dayjs
(
a
.
displayTime
).
unix
()
-
dayjs
(
b
.
displayTime
).
unix
()
:
dayjs
(
b
.
displayTime
).
unix
()
-
dayjs
(
a
.
displayTime
).
unix
(),
)
.
sort
((
a
,
b
)
=>
Number
(
b
.
pinned
)
-
Number
(
a
.
pinned
));
.
sort
((
a
,
b
)
=>
Number
(
b
.
pinned
)
-
Number
(
a
.
pinned
));
useEffect
(()
=>
{
useEffect
(()
=>
{
...
@@ -57,6 +61,9 @@ const Home = () => {
...
@@ -57,6 +61,9 @@ const Home = () => {
filters
.
push
(
`display_time_before ==
${
timestampAfter
+
60
*
60
*
24
}
`
);
filters
.
push
(
`display_time_before ==
${
timestampAfter
+
60
*
60
*
24
}
`
);
}
}
}
}
if
(
memoFilterStore
.
orderByTimeAsc
&&
memoFilterStore
.
filters
.
length
>
0
)
{
filters
.
push
(
`order_by_time_asc == true`
);
}
if
(
contentSearch
.
length
>
0
)
{
if
(
contentSearch
.
length
>
0
)
{
filters
.
push
(
`content_search == [
${
contentSearch
.
join
(
", "
)}
]`
);
filters
.
push
(
`content_search == [
${
contentSearch
.
join
(
", "
)}
]`
);
}
}
...
...
web/src/pages/UserProfile.tsx
View file @
26fa1726
...
@@ -28,7 +28,11 @@ const UserProfile = () => {
...
@@ -28,7 +28,11 @@ const UserProfile = () => {
const
[
isRequesting
,
setIsRequesting
]
=
useState
(
true
);
const
[
isRequesting
,
setIsRequesting
]
=
useState
(
true
);
const
[
nextPageToken
,
setNextPageToken
]
=
useState
<
string
>
(
""
);
const
[
nextPageToken
,
setNextPageToken
]
=
useState
<
string
>
(
""
);
const
sortedMemos
=
memoList
.
value
const
sortedMemos
=
memoList
.
value
.
sort
((
a
,
b
)
=>
dayjs
(
b
.
displayTime
).
unix
()
-
dayjs
(
a
.
displayTime
).
unix
())
.
sort
((
a
,
b
)
=>
memoFilterStore
.
orderByTimeAsc
&&
memoFilterStore
.
filters
.
length
>
0
?
dayjs
(
a
.
displayTime
).
unix
()
-
dayjs
(
b
.
displayTime
).
unix
()
:
dayjs
(
b
.
displayTime
).
unix
()
-
dayjs
(
a
.
displayTime
).
unix
(),
)
.
sort
((
a
,
b
)
=>
Number
(
b
.
pinned
)
-
Number
(
a
.
pinned
));
.
sort
((
a
,
b
)
=>
Number
(
b
.
pinned
)
-
Number
(
a
.
pinned
));
useEffect
(()
=>
{
useEffect
(()
=>
{
...
@@ -78,6 +82,9 @@ const UserProfile = () => {
...
@@ -78,6 +82,9 @@ const UserProfile = () => {
tagSearch
.
push
(
`"
${
filter
.
value
}
"`
);
tagSearch
.
push
(
`"
${
filter
.
value
}
"`
);
}
}
}
}
if
(
memoFilterStore
.
orderByTimeAsc
&&
memoFilterStore
.
filters
.
length
>
0
)
{
filters
.
push
(
`order_by_time_asc == true`
);
}
if
(
contentSearch
.
length
>
0
)
{
if
(
contentSearch
.
length
>
0
)
{
filters
.
push
(
`content_search == [
${
contentSearch
.
join
(
", "
)}
]`
);
filters
.
push
(
`content_search == [
${
contentSearch
.
join
(
", "
)}
]`
);
}
}
...
...
web/src/store/v1/memoFilter.ts
View file @
26fa1726
...
@@ -20,14 +20,16 @@ export const getMemoFilterKey = (filter: MemoFilter) => `${filter.factor}:${filt
...
@@ -20,14 +20,16 @@ export const getMemoFilterKey = (filter: MemoFilter) => `${filter.factor}:${filt
interface
State
{
interface
State
{
filters
:
MemoFilter
[];
filters
:
MemoFilter
[];
orderByTimeAsc
:
boolean
;
}
}
export
const
useMemoFilterStore
=
create
(
export
const
useMemoFilterStore
=
create
(
combine
((():
State
=>
({
filters
:
[]
}))(),
(
set
,
get
)
=>
({
combine
((():
State
=>
({
filters
:
[]
,
orderByTimeAsc
:
false
}))(),
(
set
,
get
)
=>
({
setState
:
(
state
:
State
)
=>
set
(
state
),
setState
:
(
state
:
State
)
=>
set
(
state
),
getState
:
()
=>
get
(),
getState
:
()
=>
get
(),
getFiltersByFactor
:
(
factor
:
FilterFactor
)
=>
get
().
filters
.
filter
((
f
)
=>
f
.
factor
===
factor
),
getFiltersByFactor
:
(
factor
:
FilterFactor
)
=>
get
().
filters
.
filter
((
f
)
=>
f
.
factor
===
factor
),
addFilter
:
(
filter
:
MemoFilter
)
=>
set
((
state
)
=>
({
filters
:
uniqBy
([...
state
.
filters
,
filter
],
getMemoFilterKey
)
})),
addFilter
:
(
filter
:
MemoFilter
)
=>
set
((
state
)
=>
({
filters
:
uniqBy
([...
state
.
filters
,
filter
],
getMemoFilterKey
)
})),
removeFilter
:
(
filterFn
:
(
f
:
MemoFilter
)
=>
boolean
)
=>
set
((
state
)
=>
({
filters
:
state
.
filters
.
filter
((
f
)
=>
!
filterFn
(
f
))
})),
removeFilter
:
(
filterFn
:
(
f
:
MemoFilter
)
=>
boolean
)
=>
set
((
state
)
=>
({
filters
:
state
.
filters
.
filter
((
f
)
=>
!
filterFn
(
f
))
})),
setOrderByTimeAsc
:
(
orderByTimeAsc
:
boolean
)
=>
set
({
orderByTimeAsc
}),
})),
})),
);
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment