57 lines
2.6 KiB
Markdown
57 lines
2.6 KiB
Markdown
---
|
|
id: TASK-5
|
|
title: 'Standardize AppSwitcher, EcosystemFooter, and Header across all rApps'
|
|
status: Done
|
|
assignee: []
|
|
created_date: '2026-02-25 07:15'
|
|
updated_date: '2026-02-25 07:15'
|
|
labels:
|
|
- ecosystem
|
|
- ui
|
|
- consistency
|
|
dependencies: []
|
|
priority: high
|
|
---
|
|
|
|
## Description
|
|
|
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
|
Ensure every r*App has the same header (AppSwitcher / SpaceSwitcher / actions / UserMenu), the same AppSwitcher dropdown with all 26 apps in 8 categories, and the same EcosystemFooter with full app links.
|
|
<!-- SECTION:DESCRIPTION:END -->
|
|
|
|
## Acceptance Criteria
|
|
<!-- AC:BEGIN -->
|
|
- [x] #1 All 26 r*Apps listed in AppSwitcher with 8 categories
|
|
- [x] #2 EcosystemFooter component created and deployed to all 16 Next.js repos + 4 static HTML sites
|
|
- [x] #3 Header component (Header.tsx + SpaceSwitcher.tsx + UserMenu.tsx) standardized across 15 Next.js repos
|
|
- [x] #4 EncryptID allowedOrigins updated with all 26 domains
|
|
- [x] #5 UserMenu nests Sign Out under username dropdown
|
|
- [x] #6 All repos committed and pushed to Gitea
|
|
<!-- AC:END -->
|
|
|
|
## Final Summary
|
|
|
|
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
|
## What was done
|
|
|
|
### AppSwitcher (26 apps, 8 categories)
|
|
Updated the canonical `AppSwitcher.tsx` with all r*Apps organized into: Creating, Planning, Communicating, Deciding, Funding & Commerce, Social & Media, Work & Productivity, Identity & Infrastructure. Rolled out to 15 Next.js repos + rswag + 4 static HTML sites.
|
|
|
|
### EcosystemFooter
|
|
Created `EcosystemFooter.tsx` component with all 26 app links and `current` prop for highlighting. Replaced inline footers in all 15 Next.js repos. Updated static HTML footers in rstack-online, rwallet-online, rphotos-online, ridentity-online.
|
|
|
|
### Header standardization
|
|
Created 3 portable, SDK-free shared components:
|
|
- **Header.tsx** — nav bar with `current` prop and `actions` slot
|
|
- **SpaceSwitcher.tsx** — community/space dropdown (uses `/api/spaces` fetch)
|
|
- **UserMenu.tsx** — Sign In link or avatar dropdown with nested Sign Out
|
|
|
|
Replaced all inline `<nav>`, `<Navbar>`, `<header>` blocks in 15 Next.js repos with `<Header current="appId" actions={...} />`.
|
|
|
|
### EncryptID
|
|
Added 9 missing domains to `allowedOrigins` in `rspace-online/src/encryptid/server.ts`: rcal, rinbox, rmail, rsocials, rwork, rforum, rchoices, rswag, rdata.
|
|
|
|
### Repos updated (21 total)
|
|
rspace-online, rnotes-online, rauctions-online, rcal-online, rcart-online, rchats-online, rinbox-online, rmail-online, rmaps-online, rsocials-online, rtrips-online, rvote-online, rwork-online, rPubs-online, rfunds-online, rtube-online, rswag, rphotos-online, ridentity-online, rwallet-online, rstack-online
|
|
<!-- SECTION:FINAL_SUMMARY:END -->
|