mirror of https://github.com/usememos/memos.git
fix:update sort to include pinned
This commit is contained in:
parent
ebff15149b
commit
c8ad87f66d
|
|
@ -97,7 +97,10 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo
|
||||||
if find.OrderByTimeAsc {
|
if find.OrderByTimeAsc {
|
||||||
order = "ASC"
|
order = "ASC"
|
||||||
}
|
}
|
||||||
orderBy := []string{}
|
|
||||||
|
// Prioritize pinned memos first
|
||||||
|
orderBy := []string{"`pinned` DESC"}
|
||||||
|
|
||||||
if find.OrderByUpdatedTs {
|
if find.OrderByUpdatedTs {
|
||||||
orderBy = append(orderBy, "`updated_ts` "+order)
|
orderBy = append(orderBy, "`updated_ts` "+order)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,10 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo
|
||||||
if find.OrderByTimeAsc {
|
if find.OrderByTimeAsc {
|
||||||
order = "ASC"
|
order = "ASC"
|
||||||
}
|
}
|
||||||
orderBy := []string{}
|
|
||||||
|
// Prioritize pinned memos first
|
||||||
|
orderBy := []string{"pinned DESC"}
|
||||||
|
|
||||||
if find.OrderByUpdatedTs {
|
if find.OrderByUpdatedTs {
|
||||||
orderBy = append(orderBy, "updated_ts "+order)
|
orderBy = append(orderBy, "updated_ts "+order)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,10 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo
|
||||||
if find.OrderByTimeAsc {
|
if find.OrderByTimeAsc {
|
||||||
order = "ASC"
|
order = "ASC"
|
||||||
}
|
}
|
||||||
orderBy := []string{}
|
|
||||||
|
// Prioritize pinned memos first
|
||||||
|
orderBy := []string{"`pinned` DESC"}
|
||||||
|
|
||||||
if find.OrderByUpdatedTs {
|
if find.OrderByUpdatedTs {
|
||||||
orderBy = append(orderBy, "`updated_ts` "+order)
|
orderBy = append(orderBy, "`updated_ts` "+order)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -31,11 +31,14 @@ const Archived = observer(() => {
|
||||||
listSort={(memos: Memo[]) =>
|
listSort={(memos: Memo[]) =>
|
||||||
memos
|
memos
|
||||||
.filter((memo) => memo.state === State.ARCHIVED)
|
.filter((memo) => memo.state === State.ARCHIVED)
|
||||||
.sort((a, b) =>
|
.sort((a, b) => {
|
||||||
viewStore.state.orderByTimeAsc
|
if (a.pinned && !b.pinned) return -1;
|
||||||
|
if (b.pinned && !a.pinned) return 1;
|
||||||
|
|
||||||
|
return viewStore.state.orderByTimeAsc
|
||||||
? dayjs(a.displayTime).unix() - dayjs(b.displayTime).unix()
|
? dayjs(a.displayTime).unix() - dayjs(b.displayTime).unix()
|
||||||
: dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix(),
|
: dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix();
|
||||||
)
|
})
|
||||||
}
|
}
|
||||||
state={State.ARCHIVED}
|
state={State.ARCHIVED}
|
||||||
orderBy={viewStore.state.orderByTimeAsc ? "display_time asc" : "display_time desc"}
|
orderBy={viewStore.state.orderByTimeAsc ? "display_time asc" : "display_time desc"}
|
||||||
|
|
|
||||||
|
|
@ -20,11 +20,14 @@ const Explore = observer(() => {
|
||||||
listSort={(memos: Memo[]) =>
|
listSort={(memos: Memo[]) =>
|
||||||
memos
|
memos
|
||||||
.filter((memo) => memo.state === State.NORMAL)
|
.filter((memo) => memo.state === State.NORMAL)
|
||||||
.sort((a, b) =>
|
.sort((a, b) => {
|
||||||
viewStore.state.orderByTimeAsc
|
if (a.pinned && !b.pinned) return -1;
|
||||||
|
if (b.pinned && !a.pinned) return 1;
|
||||||
|
|
||||||
|
return viewStore.state.orderByTimeAsc
|
||||||
? dayjs(a.displayTime).unix() - dayjs(b.displayTime).unix()
|
? dayjs(a.displayTime).unix() - dayjs(b.displayTime).unix()
|
||||||
: dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix(),
|
: dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix();
|
||||||
)
|
})
|
||||||
}
|
}
|
||||||
orderBy={viewStore.state.orderByTimeAsc ? "display_time asc" : "display_time desc"}
|
orderBy={viewStore.state.orderByTimeAsc ? "display_time asc" : "display_time desc"}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -60,11 +60,14 @@ const Home = observer(() => {
|
||||||
listSort={(memos: Memo[]) =>
|
listSort={(memos: Memo[]) =>
|
||||||
memos
|
memos
|
||||||
.filter((memo) => memo.state === State.NORMAL)
|
.filter((memo) => memo.state === State.NORMAL)
|
||||||
.sort((a, b) =>
|
.sort((a, b) => {
|
||||||
viewStore.state.orderByTimeAsc
|
if (a.pinned && !b.pinned) return -1;
|
||||||
|
if (b.pinned && !a.pinned) return 1;
|
||||||
|
|
||||||
|
return viewStore.state.orderByTimeAsc
|
||||||
? dayjs(a.displayTime).unix() - dayjs(b.displayTime).unix()
|
? dayjs(a.displayTime).unix() - dayjs(b.displayTime).unix()
|
||||||
: dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix(),
|
: dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix();
|
||||||
)
|
})
|
||||||
}
|
}
|
||||||
orderBy={viewStore.state.orderByTimeAsc ? "display_time asc" : "display_time desc"}
|
orderBy={viewStore.state.orderByTimeAsc ? "display_time asc" : "display_time desc"}
|
||||||
filter={memoFilter}
|
filter={memoFilter}
|
||||||
|
|
|
||||||
|
|
@ -95,11 +95,14 @@ const UserProfile = observer(() => {
|
||||||
listSort={(memos: Memo[]) =>
|
listSort={(memos: Memo[]) =>
|
||||||
memos
|
memos
|
||||||
.filter((memo) => memo.state === State.NORMAL)
|
.filter((memo) => memo.state === State.NORMAL)
|
||||||
.sort((a, b) =>
|
.sort((a, b) => {
|
||||||
viewStore.state.orderByTimeAsc
|
if (a.pinned && !b.pinned) return -1;
|
||||||
|
if (b.pinned && !a.pinned) return 1;
|
||||||
|
|
||||||
|
return viewStore.state.orderByTimeAsc
|
||||||
? dayjs(a.displayTime).unix() - dayjs(b.displayTime).unix()
|
? dayjs(a.displayTime).unix() - dayjs(b.displayTime).unix()
|
||||||
: dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix(),
|
: dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix();
|
||||||
)
|
})
|
||||||
}
|
}
|
||||||
orderBy={viewStore.state.orderByTimeAsc ? "display_time asc" : "display_time desc"}
|
orderBy={viewStore.state.orderByTimeAsc ? "display_time asc" : "display_time desc"}
|
||||||
filter={memoFilter}
|
filter={memoFilter}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue