feat(channels): status filter + header full-history link + stable priority
- header: per-user "N without full history" count (channels_deep_pending), clickable with a hint -> opens the channel manager filtered to those. - channel manager: status filter chips (All / Needs full history / Fully synced / Hidden); the header link deep-links to "Needs full history". - fix: priority up/down is now an optimistic in-place cache update (no refetch / re-sort), so the list no longer jumps to the top and loses your scroll position; the new order applies on the next page load.
This commit is contained in:
parent
00d167506d
commit
3f7298cca0
4 changed files with 92 additions and 10 deletions
|
|
@ -13,6 +13,7 @@ export default function Header({
|
|||
page,
|
||||
setPage,
|
||||
onOpenSettings,
|
||||
onGoToFullHistory,
|
||||
}: {
|
||||
me: Me;
|
||||
filters: FeedFilters;
|
||||
|
|
@ -20,6 +21,7 @@ export default function Header({
|
|||
page: Page;
|
||||
setPage: (p: Page) => void;
|
||||
onOpenSettings: () => void;
|
||||
onGoToFullHistory: () => void;
|
||||
}) {
|
||||
async function logout() {
|
||||
await fetch("/auth/logout", { method: "POST", credentials: "include" });
|
||||
|
|
@ -36,7 +38,7 @@ export default function Header({
|
|||
Sift<span className="text-accent">lode</span>
|
||||
</button>
|
||||
|
||||
<SyncStatus isAdmin={me.role === "admin"} />
|
||||
<SyncStatus isAdmin={me.role === "admin"} onGoToFullHistory={onGoToFullHistory} />
|
||||
|
||||
{page === "feed" ? (
|
||||
<div className="flex-1 max-w-xl mx-auto relative">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue