update sidebar

This commit is contained in:
2026-09-20 09:02:57 +07:00
parent 8401628412
commit 9c735febc1
6 changed files with 104 additions and 73 deletions
+9 -5
View File
@@ -205,7 +205,7 @@ Empty list shows the existing "No communities yet" hint.
Each phase is independently reviewable and leaves the app runnable.
### Phase 1 — tab shell
### Phase 1 — tab shell — DONE
Files: `crates/workspace/src/sidebar/mod.rs`,
`crates/workspace/src/sidebar/tab.rs` (new), `sidebar/tree.rs`,
@@ -228,7 +228,7 @@ Files: `crates/workspace/src/sidebar/mod.rs`,
Validation: app runs signed in and signed out; chats and communities list and
open as before; tab switching works; requests dot still clears.
### Phase 2 — Recents tab
### Phase 2 — Recents tab — DONE
Files: `crates/settings/src/lib.rs`, `crates/workspace/src/sidebar/mod.rs`,
`sidebar/tree.rs`.
@@ -242,7 +242,7 @@ Files: `crates/settings/src/lib.rs`, `crates/workspace/src/sidebar/mod.rs`,
Validation: `cargo test -p settings`; manually open communities, restart, and
confirm the Recents order; confirm ≤3 / ≤5 rendering and both "Show all" rows.
### Phase 3 — tab actions
### Phase 3 — tab actions — DONE
Files: `crates/workspace/src/dialogs/new_chat.rs` (new),
`dialogs/new_community.rs` (new), `crates/workspace/src/dialogs/mod.rs`,
@@ -264,7 +264,7 @@ Validation: create a chat from an npub and confirm the room opens; create a
community and confirm it appears in the Communities tab and in Recents;
requests/contacts/browse still dispatch.
### Phase 4 — onboarding sidebar
### Phase 4 — onboarding sidebar — DONE, except `Join now`
Files: `crates/state/src/lib.rs`, `crates/workspace/src/sidebar/mod.rs`,
`sidebar/onboarding.rs` (new), `crates/workspace/src/dialogs/create_identity.rs`
@@ -291,7 +291,11 @@ Validation: with no stored credentials the sidebar shows onboarding and no
modal; `Import identity` still signs in; `Join now` signs in with a fresh key;
with bunker credentials the tabs appear without an onboarding flash.
### Phase 5 — polish and cleanup
**Deferred.** `dialogs/create_identity.rs` is not implemented, so `Join now`
renders without a click handler, and the §2.1 banner assets were skipped in
favor of a plain theme-colored background with the brand mark.
### Phase 5 — polish and cleanup — DONE
- Reposition the "Getting messages…" pill above the tab bar.
- Empty states and counts for all three tabs; truncation rules (§3).