deckhearth/components
Randall Stillwell 6b70cca58c chore(components): remove dead user prop from MobileNavigation
components/MobileNavigation.js has accepted a `user` prop ever since
the mobile bottom-bar was extracted from Layout, but it has never read
any field of `user`. The bottom-bar items (Cards, Decks, Dashboard,
Community, More) are statically configured — none of them branch on
auth state, role, user id, or any other per-user attribute. The prop
is dead.

This was originally surfaced as R8 in the fix-layout-default-user
convoy (commit ca302a8) and deliberately deferred there to keep that
convoy focused on the Layout default-user fix. The follow-up was
queued as cleanup-mobile-nav-dead-props in .convoys/ship-readiness.md
§ Queued convoys. Pre-edit audit confirms the queue entry's premise:
`rg '\\buser\\b' components/MobileNavigation.js` returns 1 hit (the
destructure on line 5) before the change and 0 hits after. The
only active call site is components/Layout.js line 598; the
components/Layout.js.backup snapshot also calls it but is a
no-go-zone (per .cursor/rules/no-go-zones.mdc § "Append-only /
historical") and stays untouched — when that backup is eventually
deleted in a separate convoy, its stale call disappears with it.

Verification: npm run lint exit 1 with 128 problems (baseline
preserved, no regression introduced); npm run test:run 21/21 pass
(test/components/Layout.test.js still asserts the logged-out branch
contract from PR #15 — the dead-prop removal is invisible to that
suite since it does not inspect MobileNavigation's prop shape).
Convoy file .convoys/cleanup-mobile-nav-dead-props.md captures the
audit, fix, risks (R1: a future per-user bottom-bar feature would
need to re-add the prop — accepted; carrying dead state to hedge
hypothetical features is worse than paying the one-line re-add cost
when the feature actually lands), and acceptance criteria.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 22:50:13 -05:00
..
AdminProtected.js Fixed SSR and null user issues for production deployment 2025-07-24 17:04:06 -05:00
AnimatedFireLogo.js 🎯 Replace Complex Logo with Clean Static SVG 2025-07-28 10:59:11 -05:00
AuthLayout.js 🔥 Add Fire Glow Login Background 2025-07-28 09:51:39 -05:00
BulkSelectionToolbar.js 🔥 Transform to Deck Hearth Fire-Inspired Design 2025-07-26 08:30:07 -05:00
CameraScanner.js Marker: Fixed card queue property mismatch - cards now properly separate in scanner queue 2025-08-01 17:41:42 -05:00
CardItem.js 🔥 Primary Red Add Button + Static Rarity Shadows 2025-07-26 09:17:22 -05:00
CollaboratorFacepile.js 🔧 Fixed Cards Page API Response Format 2025-07-25 23:16:35 -05:00
CollectionSelectionModal.js 🔧 Fix System Collections & Database Schema Issues 2025-07-27 19:17:55 -05:00
Layout.js chore(components): remove dead user prop from MobileNavigation 2026-05-26 22:50:13 -05:00
Layout.js.backup 🚀 Implement Mobile-First Navigation System 2025-08-01 18:18:21 -05:00
LoginCTA.js Major Scanner Improvements 2025-07-29 14:19:48 -05:00
ManaSymbols.js Major Scanner Improvements 2025-07-29 14:19:48 -05:00
ManaSymbolSettings.js Major Scanner Improvements 2025-07-29 14:19:48 -05:00
MobileNavigation.js chore(components): remove dead user prop from MobileNavigation 2026-05-26 22:50:13 -05:00
OCRSettings.js Major Scanner Improvements 2025-07-29 14:19:48 -05:00
PermissionIndicator.js 🔄 Simplified Permission Model & UX Improvements 2025-07-25 10:29:45 -05:00
ProtectedRoute.js Major Scanner Improvements 2025-07-29 14:19:48 -05:00
ShareModal.js 🔥 Transform to Deck Hearth Fire-Inspired Design 2025-07-26 08:30:07 -05:00
UploadImageModal.js 🚀 Implemented Complete Collection Functionality 2025-07-25 22:28:52 -05:00