1.6 KiB
1.6 KiB
| id | title | status | assignee | created_date | labels | milestone | dependencies | parent_task_id | priority | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-118.1 | Build shared folk-applet-catalog.ts component | To Do | 2026-03-16 00:05 |
|
Multiplayer Everything | TASK-118 | high |
Description
Create a reusable web component that renders the "Pull rApplet to rSpace" catalog modal.
Component: lib/folk-applet-catalog.ts
- Fetches module list from
GET /:space/modulesAPI - Renders cards grid: icon, name, description, enabled toggle, scope badge
- Toggle calls
PATCH /:space/moduleswith updatedenabledModulesarray - Accessible from space settings and a "+" button in the app switcher
- Shows sync status indicator (multiplayer/local-only/external)
- Requires space owner authentication to toggle; read-only for members
Shell integration: server/shell.ts
- Add "+" button to app switcher nav that opens the catalog modal
- Only visible to space owners (check
ownerDIDfrom space meta)
Files to create/modify:
lib/folk-applet-catalog.ts(new)server/shell.ts(add catalog trigger button)server/index.ts(register the new component JS)
Acceptance Criteria
- #1 Catalog modal shows all registered modules with icon, name, description
- #2 Space owners can toggle modules on/off with immediate effect
- #3 Non-owners see read-only view of enabled modules
- #4 App switcher updates when modules are toggled
- #5 Works in demo mode with local-only toggle (no API call)