fix:update sort to include pinned

pull/5099/head
varsnotwars 4 weeks ago
parent ebff15149b
commit c8ad87f66d
No known key found for this signature in database
GPG Key ID: 2E7E94B005D83C81

@ -97,7 +97,10 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo
if find.OrderByTimeAsc {
order = "ASC"
}
orderBy := []string{}
// Prioritize pinned memos first
orderBy := []string{"`pinned` DESC"}
if find.OrderByUpdatedTs {
orderBy = append(orderBy, "`updated_ts` "+order)
} else {

@ -89,7 +89,10 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo
if find.OrderByTimeAsc {
order = "ASC"
}
orderBy := []string{}
// Prioritize pinned memos first
orderBy := []string{"pinned DESC"}
if find.OrderByUpdatedTs {
orderBy = append(orderBy, "updated_ts "+order)
} else {

@ -89,7 +89,10 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo
if find.OrderByTimeAsc {
order = "ASC"
}
orderBy := []string{}
// Prioritize pinned memos first
orderBy := []string{"`pinned` DESC"}
if find.OrderByUpdatedTs {
orderBy = append(orderBy, "`updated_ts` "+order)
} else {

@ -31,11 +31,14 @@ const Archived = observer(() => {
listSort={(memos: Memo[]) =>
memos
.filter((memo) => memo.state === State.ARCHIVED)
.sort((a, b) =>
viewStore.state.orderByTimeAsc
.sort((a, b) => {
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(b.displayTime).unix() - dayjs(a.displayTime).unix(),
)
: dayjs(b.displayTime).unix() - dayjs(a.displayTime).unix();
})
}
state={State.ARCHIVED}
orderBy={viewStore.state.orderByTimeAsc ? "display_time asc" : "display_time desc"}

@ -20,11 +20,14 @@ const Explore = observer(() => {
listSort={(memos: Memo[]) =>
memos
.filter((memo) => memo.state === State.NORMAL)
.sort((a, b) =>
viewStore.state.orderByTimeAsc
.sort((a, b) => {
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(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"}
/>

@ -60,11 +60,14 @@ const Home = observer(() => {
listSort={(memos: Memo[]) =>
memos
.filter((memo) => memo.state === State.NORMAL)
.sort((a, b) =>
viewStore.state.orderByTimeAsc
.sort((a, b) => {
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(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"}
filter={memoFilter}

@ -95,11 +95,14 @@ const UserProfile = observer(() => {
listSort={(memos: Memo[]) =>
memos
.filter((memo) => memo.state === State.NORMAL)
.sort((a, b) =>
viewStore.state.orderByTimeAsc
.sort((a, b) => {
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(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"}
filter={memoFilter}

Loading…
Cancel
Save