Repository navigation
feat(agents): issue-33-fix-web-hide-app-tab-bar-during-create-o - #41
Conversation
|
Claude finished @mashkovd's task in 1m 35s —— View job PR Review: web/src/App.tsxSummary: The PR hides the tab bar when Findings:
Issue Details: P2 — Navigation trap after order completion (lines 83-99)
Recommendation: Reset the tab to a default (e.g., Review verdict: ❌ Requesting changes — P2 finding must be addressed before merge. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6829b8688c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <span className="pd-tab-label">Profile</span> | ||
| </button> | ||
| </nav> | ||
| {tab !== 'create' && ( |
There was a problem hiding this comment.
Preserve an exit path from create step 1
When the user opens the Create tab, this condition removes the only app-level navigation, but CreateOrder does not register the Telegram BackButton until step !== 1 and the step-1 fallback UI only renders Continue. In both Telegram and AUTH_DEV_BYPASS/browser contexts I inspected, a user who lands on the first create step can no longer return to Book/Profile without publishing an order or reloading/exiting the app, so hiding the tab bar needs to be paired with a step-1 back/cancel path.
Useful? React with 👍 / 👎.
| {tab !== 'create' && ( | ||
| <nav className="pd-tabbar"> | ||
| <button className={`pd-tab${tab === 'book' ? ' is-active' : ''}`} onClick={() => nav('book')} aria-label="Book" aria-current={tab === 'book' ? 'page' : undefined}> | ||
| <Icon name="book" size={20} stroke={1.6} /> | ||
| <span className="pd-tab-label">Book</span> | ||
| </button> | ||
| <button className={`pd-tab pd-tab-fab${tab === 'create' ? ' is-active' : ''}`} onClick={() => nav('create')} aria-label="Create" aria-current={tab === 'create' ? 'page' : undefined}> | ||
| <span className="pd-fab-circle"> | ||
| <Icon name="create" size={22} stroke={1.8} /> | ||
| </span> | ||
| </button> | ||
| <button className={`pd-tab${tab === 'profile' ? ' is-active' : ''}`} onClick={() => nav('profile')} aria-label="Profile" aria-current={tab === 'profile' ? 'page' : undefined}> | ||
| <Icon name="user" size={20} stroke={1.6} /> | ||
| <span className="pd-tab-label">Profile</span> | ||
| </button> | ||
| </nav> | ||
| )} |
There was a problem hiding this comment.
P2 — User can get stuck on create tab after order completion
The tab bar is hidden when tab === 'create', but there's a UX issue: when a user completes the order and returns from the detail view (via the back button in OrderDetail), the tab is still set to 'create', making the tab bar remain hidden. At this point:
- The CreateOrder screen is re-rendered at step 1 (initial state)
- Step 1 has no back button in the Telegram UI (the effect at line 180 only shows it for step > 1)
- The user cannot navigate away via the tab bar (it's hidden) or the back button (not shown)
Recommended fix:
Reset the tab to 'book' (or another default) when returning to the main app after order creation. For example:
if (detailOrderId == null && tab === 'create') {
setTab('book');
}Or consider clearing the tab in the onBack callback when navigating away from a detail view after order completion.
There was a problem hiding this comment.
Has P2 finding: user can get stuck on create tab after completing order and returning from detail view. The tab bar is hidden when tab='create', but when the user comes back after order completion, they're left on the create tab with no navigation available (tab bar hidden, back button not shown at step 1).
Address claude-review P2 on PR #41: with the tab bar hidden while tab==='create', completing an order (which opens OrderDetail) and then tapping back left tab stuck on 'create' — CreateOrder re-rendered at step 1 with no back button and no tab bar, trapping the user. Reset tab to 'book' in onCreated so backing out of OrderDetail lands on the book with the tab bar restored.
|
Claude finished @mashkovd's task in 48s —— View job PR Review: web/src/App.tsxStatus: ✅ APPROVED — P2 issue resolved Summary: Changes Verified:
Flow Verification:
Findings: No P1/P2/P3 issues. Code is correct and solves the identified problem. |
|
Claude finished @mashkovd's task in 1m 37s —— View job PR Review: web/src/App.tsxStatus: ✅ APPROVED — No P1/P2 findings SummaryThis PR implements the feature to hide the app tab bar during order creation, with fixes for identified navigation issues. The 3-commit series correctly:
Code Flow AnalysisOrder creation flow (lines 70–99):
Tab bar rendering (line 83):
Verified integrations:
No Issues Found
|
Wrap the <nav className="pd-tabbar"> in a {tab !== 'create' && (...)}
conditional so the element is absent from the DOM while the Create-Order
wizard is active. The tab bar reappears as soon as the user leaves the
create flow (publish, cancel, or any other navigation that sets tab to
'book' or 'profile'). No CSS changes, no new state, no new abstractions.
Proposal: platform-gitops/agents-state/mctl-pairdesk/proposals/issue-33-fix-web-hide-app-tab-bar-during-create-o/
Address claude-review P2 on PR #41: with the tab bar hidden while tab==='create', completing an order (which opens OrderDetail) and then tapping back left tab stuck on 'create' — CreateOrder re-rendered at step 1 with no back button and no tab bar, trapping the user. Reset tab to 'book' in onCreated so backing out of OrderDetail lands on the book with the tab bar restored.
The tabbar is rendered inside {tab !== 'create' && ...}, so TypeScript
narrows tab to 'book' | 'profile' there and the Create FAB's
tab === 'create' comparisons are always false — tsc --noEmit failed with
TS2367 (no overlap). The FAB is never shown in an active state anyway
(the whole tabbar is hidden while creating), so remove the dead is-active
and aria-current conditionals.
Address Codex P2 on PR #41: hiding the app tab bar while tab==='create' removed the only navigation, but CreateOrder registered the Telegram BackButton only for step > 1 and step 1 rendered just Continue — a user landing on step 1 (Telegram or browser/AUTH_DEV_BYPASS) could not return to Book/Profile without publishing or reloading. Pair the hidden tab bar with a step-1 exit: - Telegram: register the BackButton at step 1 too, wired to onExit (held in a ref so the effect still depends only on [step]). - Browser (no MainButton): add a Cancel button beside Continue at step 1. Both call the new onExit prop, which App wires to setTab('book').
0b02129 to
4703ee4
Compare
|
Claude finished @mashkovd's task in 1m 19s —— View job PR Review: web/src/App.tsx & web/src/screens/CreateOrder.tsxStatus: ✅ APPROVED — No P1/P2 findings SummaryThis PR implements the feature to hide the app tab bar during the Create Order flow while providing proper exit paths and preventing navigation traps. The 4-commit series correctly addresses the core issue and edge cases:
Code Flow AnalysisOrder Creation Flow (App.tsx lines 70–99):
Back Button Lifecycle (CreateOrder.tsx lines 134–140):
UI Exit Paths:
Findings✅ State Management: ✅ Ref Pattern: ✅ Dead Code Cleanup: FAB button no longer has ✅ TypeScript:
✅ Edge Cases Verified:
No P1/P2/P3 Issues FoundImplementation is correct, solves the navigation trap cleanly, and handles all UI entry/exit paths. Code quality is high with proper patterns and comments explaining the reasoning. Review verdict: ✅ APPROVED — No P1/P2 findings (0 P3). Good to merge. |
Addressed the Codex P2 — step-1 exit path (commit 4703ee4)
Fixed. The branch was rebased onto current main (post-#34 nav rework) and a step-1 exit was added so a user landing on the first create step can always return to Book/Profile:
Plus the earlier fixes on this PR: reset |
Implements accepted proposal
mctl-pairdesk/issue-33-fix-web-hide-app-tab-bar-during-create-o.Spec: https://github.com/mctlhq/mctl-gitops/tree/main/platform-gitops/agents-state/mctl-pairdesk/proposals/issue-33-fix-web-hide-app-tab-bar-during-create-o/
Generated by mctl-agents Tier 2 implementer. Review carefully — this PR was opened automatically and the spec may have gaps.
Closes #33