rstack-online/backlog/tasks/task-8 - Reorganize-categor...

3.3 KiB

id: task-8 title: Reorganize app categories, standardize headers, enable cross-app spaces status: Done assignee: [@claude] priority: high created: 2026-02-25 completed: 2026-02-25

Description

Major cross-repo standardization effort covering three areas:

  1. Category reorganization — Moved rTube and rSwag from "Share" to "Create", added rSocials to "Share", created canonical rstack-apps.json as single source of truth for all 26 r*Apps across 9 categories.

  2. Header standardization — Ensured all rApps use the same bg-slate-900/85 sticky top-0 z-50 backdrop-blur-sm border-b border-slate-800 header pattern. Fixed rfunds-online bg color. Replaced rSwag's custom HeaderBar with standard Header + actions pattern. Added 🔑 Sign In / 🔐 Logged In emojis to UserMenu.

  3. Cross-app spaces — Enabled SpaceSwitcher dropdown in all rApps to show the same spaces as rSpace. Created /api/spaces proxy route (forwards to rspace.online), /api/me auth route (verifies EncryptID token), and updated SpaceSwitcher to read EncryptID JWT from localStorage.

Changes

New files

  • rstack-online/rstack-apps.json — Canonical app registry (26 apps, 9 categories)
  • */api/spaces/route.ts — Spaces proxy endpoint (17 repos)
  • */api/me/route.ts — Auth verification endpoint (17 repos)
  • rswag-online/rswag/frontend/components/SwagNavActions.tsx — rSwag-specific nav actions

Updated files (all 26 repos)

  • AppSwitcher.tsx — New category groupings (Creating, Sharing, Observing)
  • EcosystemFooter.tsx — Reordered footer links to match categories
  • UserMenu.tsx — Added 🔑/🔐 emojis
  • SpaceSwitcher.tsx — Reads EncryptID token from localStorage, passes as Bearer header
  • Header.tsx — Standardized bg/border/blur classes
  • Static HTML repos (9) — Updated inline AppSwitcher dropdowns

Category structure (9 categories)

  1. Creating — rSpace, rPubs, rTube, rSwag
  2. Planning — rCal, rTrips, rMaps
  3. Communicating — rChats, rInbox, rMail, rForum
  4. Deciding — rVote, rChoices
  5. Funding & Commerce — rFunds, rCart, rAuctions, rWork
  6. Sharing — rPhotos, rNetwork, rSocials, rFiles
  7. Observing — rData
  8. Work & Productivity — rNotes
  9. Identity & Infrastructure — rIdentity, rWallet, rStack

Acceptance Criteria

  • rTube and rSwag moved to "Creating" category
  • rSocials added to "Sharing" category
  • Canonical rstack-apps.json created
  • All AppSwitcher/EcosystemFooter components updated (26 repos)
  • Header bar standardized across all rApps
  • rSwag using standard Header + actions pattern
  • UserMenu shows 🔑 Sign In / 🔐 when logged in
  • SpaceSwitcher reads EncryptID token from localStorage
  • /api/spaces proxy created in all React rApps
  • /api/me auth route created in all React rApps
  • All repos committed, pushed to dev, merged to main

Notes

  • rswag-online had diverged dev branch — rebased successfully
  • rcart-online, rfunds-online, rNetwork-online use gitea remote (not origin)
  • rvote-online GitHub remote was not found — pushed to gitea instead
  • rsocials-online has 5 pre-existing dirty files (unrelated to this task)
  • rphotos-online was already on main branch (no dev branch)
  • rnotes-online has app-specific header extensions (SearchBar, feature shortcuts) — kept as-is with standard base