Skip to content

feat(app): calm shell mobile reflow (0250 Phase 4) - #347

Merged
crs48 merged 2 commits into
mainfrom
claude/0250-phase4-calm-mobile
Jun 29, 2026
Merged

feat(app): calm shell mobile reflow (0250 Phase 4)#347
crs48 merged 2 commits into
mainfrom
claude/0250-phase4-calm-mobile

Conversation

@crs48

@crs48 crs48 commented Jun 29, 2026

Copy link
Copy Markdown
Owner

Calm shell — mobile reflow (0250 Phase 4)

Follow-up to #344. Gives the calm everyperson shell a phone layout that shares the desktop's three-mode grammar, so xNet feels like one product across widths.

What landed

  • CalmMobile (apps/web/src/workbench/calm/CalmMobile.tsx) — the three modes (Companion · Workspace · Network) become a thumb-reach bottom tab bar (+ Search, Settings); the per-mode List is a left Sheet (menu button); the contextual Canvas is a bottom Sheet. The main Surface is the same router-outlet CalmSurface, so every route + the editor render unchanged and there's a single <main> landmark.
  • Calm + compact now renders CalmMobile instead of MobileShell (which stays for the workbench layout). Borrows MobileShell's armed pattern to avoid the Base-UI backdrop tap bug.
  • Canvas now fills its container; the desktop CalmShell wraps it in the fixed-width bordered column (so it works as both a side panel and a full-width sheet).

Verified

  • pnpm --filter xnet-web typecheck ✓ · ESLint + prettier ✓ · 161 workbench tests ✓
  • Manual preview at 375px: single <main>, 5-item bottom nav (Companion active), Companion surface renders, menu → List sheet shows the Explorer; dark mode correct. The required editor-ux check's editor-ux-mobile.spec drives this surface (All Documents heading → New → Page → editor), all shell-agnostic.

Still a follow-up

  • Aligning the expo native app (AppNavigator) to the three modes — a separate native (React Navigation) track; per [0238] the actual mobile app is apps/web in a Capacitor webview, which this PR covers.
  • Phase 5 (agent-triggered plan→approve→apply into the Canvas).

🤖 Generated with Claude Code

xNet Test added 2 commits June 29, 2026 09:26
Reflow the calm shell to a phone layout that shares the desktop's three-mode
grammar: the modes drop to a bottom tab bar, the per-mode List becomes a left
Sheet (menu button), and the contextual Canvas becomes a bottom Sheet. The main
Surface is the same router-outlet CalmSurface (single <main>), so all routes and
the editor render unchanged. Calm + compact now renders CalmMobile instead of
MobileShell (which stays for the workbench layout). Canvas fills its container;
the desktop CalmShell wraps it in the fixed-width bordered column.

Signed-off-by: xNet Test <test@xnet.dev>
Signed-off-by: xNet Test <test@xnet.dev>
@crs48
crs48 temporarily deployed to pr-347 June 29, 2026 16:28 — with GitHub Actions Inactive
@github-actions

Copy link
Copy Markdown
Contributor

🖼️ UI changes in this PR

No visual differences detected in the changed UI.

CI run

github-actions Bot added a commit that referenced this pull request Jun 29, 2026
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Preview removed for PR #347.

github-actions Bot added a commit that referenced this pull request Jun 29, 2026
@crs48
crs48 merged commit 7402aca into main Jun 29, 2026
15 of 16 checks passed
@crs48
crs48 deleted the claude/0250-phase4-calm-mobile branch June 29, 2026 16:34
github-actions Bot added a commit that referenced this pull request Jun 29, 2026
)
}

export function CalmMobile({ children }: { children: ReactNode }) {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants