chore(backlog): add tasks 106-108 (ViewHistory, Wallets, CRM graph)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-03-11 14:38:34 -07:00
parent 8af5f3d0b6
commit d668ca287c
3 changed files with 104 additions and 0 deletions

View File

@ -0,0 +1,28 @@
---
id: TASK-106
title: Add ViewHistory for in-app back navigation + rename rWork → rTasks
status: Done
assignee: []
created_date: '2026-03-11 21:32'
labels:
- frontend
- navigation
- refactor
dependencies: []
references:
- shared/view-history.ts
- modules/rtasks/
priority: high
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Created shared ViewHistory<V> utility class providing stack-based back navigation for rApps with hierarchical views. Integrated into 10 rApps replacing hardcoded data-back targets. Also renamed rWork module to rTasks across entire codebase (70 files), deleted rwork.online Cloudflare zone, cleaned cloudflared config.
<!-- SECTION:DESCRIPTION:END -->
## Final Summary
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Commit 31b0885 on dev+main. New shared/view-history.ts with ViewHistory<V> class (push/back/canGoBack/peekBack/reset, max depth 20). Integrated into rtrips, rmaps, rtasks, rforum, rphotos, rvote, rnotes, rinbox, rschedule, rcart. Full rWork→rTasks rename: directory modules/rwork→modules/rtasks, component folk-work-board→folk-tasks-board, class FolkWorkBoard→FolkTasksBoard, all cross-module refs, docker-compose, vite config, encryptid CORS, landing pages. Removed rwork.online from cloudflared config and deleted its Cloudflare zone.
<!-- SECTION:FINAL_SUMMARY:END -->

View File

@ -0,0 +1,38 @@
---
id: TASK-107
title: My Wallets panel in identity dropdown
status: Done
assignee: []
created_date: '2026-03-11 21:33'
updated_date: '2026-03-11 21:37'
labels:
- identity
- wallet
- UI
dependencies: []
references:
- shared/components/rstack-identity.ts
priority: medium
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Added a "My Wallets" option to the avatar dropdown menu that opens a modal showing the user's rIdentity wallet and any connected browser wallets (MetaMask, Rainbow, etc. via EIP-6963 discovery). Provides quick wallet access without navigating to the full rWallet module.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 'My Wallets' item appears in avatar dropdown between 'My Spaces' and theme toggle
- [x] #2 Modal shows rIdentity wallet card with username, truncated DID, and Passkey badge
- [x] #3 EIP-6963 browser wallets detected and listed with icons and Connect buttons
- [x] #4 Connect flow calls eth_requestAccounts and displays resulting address
- [x] #5 'Open rWallet' button navigates to /{space}/rwallet
- [x] #6 Modal closes on X button or click-outside
<!-- AC:END -->
## Final Summary
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Implemented in commit e47cd35. Single-file change to `shared/components/rstack-identity.ts` (+215 lines):\n\n- Added `_WalletDiscovery` class for EIP-6963 browser wallet detection\n- Added dropdown item, click handler, `#showWalletsModal()` method\n- Added `WALLETS_STYLES` CSS matching existing dark theme\n- Connected wallets are ephemeral (no persistent linking)\n- No token balance fetching (that's rWallet's job)
<!-- SECTION:FINAL_SUMMARY:END -->

View File

@ -0,0 +1,38 @@
---
id: TASK-108
title: rNetwork CRM — inline force-directed graph in Graph tab
status: Done
assignee: []
created_date: '2026-03-11 21:38'
updated_date: '2026-03-11 21:38'
labels:
- rnetwork
- frontend
- graph
dependencies:
- TASK-98
references:
- modules/rnetwork/components/folk-crm-view.ts
priority: medium
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Replace the Graph tab's external link with an interactive SVG graph rendered directly inside folk-crm-view.ts using the CRM data already loaded (people, companies, opportunities). Companies appear as colored clusters with people orbiting around them. Cross-org opportunity links shown as dashed purple edges. Includes pan/zoom/drag interactions and auto fit-to-view.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Graph tab renders inline SVG with company clusters and person nodes
- [x] #2 Force-directed layout with pan/zoom/drag interactions
- [x] #3 Cross-org edges from opportunities shown as dashed purple lines
- [x] #4 Auto fit-to-view on tab switch, empty state for no data
- [x] #5 Vite build passes with no TS errors
<!-- AC:END -->
## Final Summary
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Implemented in commit c36b0ab on dev, merged to main.\n\nAdded ~460 lines to folk-crm-view.ts:\n- buildGraphData() derives nodes/edges from CRM people, companies, opportunities\n- computeGraphLayout() runs 70-iteration force simulation\n- renderGraphTab() outputs SVG with cluster/edge/node layers + zoom controls + legend\n- Full pointer interactions: drag nodes, pan canvas, wheel zoom, click-to-select\n- updateGraphNodePosition() for incremental drag without re-render
<!-- SECTION:FINAL_SUMMARY:END -->