feat(client): port projects, applications, chat as placeholders (#184) #206
No reviewers
Labels
No labels
area:auth
area:ci
area:db
area:infra
area:native
area:pwa
area:service
epic
feature
foundation
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
james/carol!206
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "184-projects-applications-chat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Scope
Slice 3 of #184 — the last of the "(app) routes that have no backend yet" surface. Projects, Applications, and Chat all point at unbuilt epics (#4, #2, #47 respectively); same situation slice 2 hit with Network. The honest port is a placeholder that mirrors the PWA's existing
Placeholdershape (title + blurb + a "tracked in" line). When each backend epic lands the corresponding screen swaps to the real implementation; the route file is the only thing that changes.What changed
apps/client/lib/Placeholder.tsx— new shared component. Takes title / blurb / coming-soon copy / ticket as props and renders the same DS-tokenised card the slice 2 Network port used inline. The sharedplaceholder.trackedIni18n key stays the source of the "Tracked in {ticket}." line.apps/client/app/(app)/projects.tsx,applications.tsx,chat.tsx— three placeholder ports using the shared component, one per epic.apps/client/app/(app)/network.tsx— refactored to use the samePlaceholderso all four placeholder surfaces share one implementation. No behaviour change.apps/client/lib/stub-screen.tsx— deleted. The temporary stub from #183 was only used by the three new ports, all of which now have real placeholder content.packages/i18n/messages/en.json— addsprojects.comingSoon.{title,body},applications.comingSoon.{title,body},chat.comingSoon.{title,body}keys mirroring the existingnetwork.comingSoon.*entries.DS tokens via
useTheme(); strings viareact-i18next; no hardcoded colours or copy.Out of scope
Test plan
pnpm -F @carol/client typecheckpnpm -F @carol/client lintpnpm -F @carol/client testpnpm -F @carol/client export:webpnpm -F @carol/api typecheckpnpm -F @carol/api lintCloses part of #184.
📊 Test coverage
Patch coverage: no testable lines changed.
Overall (
app/,lib/,db/, excluding UI per ADR-0019):Soft thresholds per ADR-0019. Coverage is informational and does not block merge.
Trivy (container image)
Threshold:
high· Total findings: 121 · At/above threshold: 16.27.0, 7.28.0, 8.5.0