The (company) route group (company-home, company-more, company-chats, company-requests). IMPORTANT: this entire route group is currently gated behind ComingSoonGate — see mobile-company-office-gate in Mobile — Shared. None of the stories below are reachable by real users right now; they're a readiness checklist for when COMPANY_OFFICE_LOCKED flips off, grounded in what's actually built in the code today.
Company Home dashboard stats and trial banner are 100% hardcoded (not live data)
P1
As a company user, I want my dashboard to show real numbers for my requests, active services, views, and messages, so that I can actually gauge how my business is performing on the platform instead of looking at numbers that never change.
Flag that company-home.tsx's entire 2x2 stats grid (طلبات / خدمات نشطة / المشاهدات / الرسائل الجديدة, showing the literal strings '3 هذا الأسبوع', '3', '+700', '5 اليوم') and the trial-countdown banner ('يتبقى 14 يومًا') are hardcoded JSX text with no state, hook, or API call feeding them. Track this as a known readiness gap for whenever COMPANY_OFFICE_LOCKED flips off, rather than letting it be freshly discovered as 'the metrics are wrong' at that point.
AC-01Every number on the stats grid and the '14 يومًا' trial banner is confirmed static in the component source, not derived from any request, subscription record, or count.
AC-02Tapping both the 'طلبات' and 'خدمات نشطة' cards currently navigate to the same company-requests screen — confirm whether that's intentional or a routing bug once services management exists as its own feature.
AC-03This story's acceptance criteria must be rewritten once real data wiring lands — verify the numbers actually match backend state instead of just confirming they're currently fake.
Test Scenarios
TC-01Compare two different company test accounts with genuinely different amounts of activity and confirm the dashboard numbers are identical between them — if so, that reconfirms they're hardcoded.
TC-02Tap both 'طلبات' and 'خدمات نشطة' cards and confirm both currently navigate to company-requests.
TC-03Cross-check office-home.tsx for the identical hardcoded-stats pattern (see mobile-office-dashboard-mock-data) since both dashboards share the same component structure.
Company profile 'معاينة' (Preview) and 'مشاركة' (Share) buttons have no onPress handler at all
P2
As a company user, I want to preview how my company profile looks to the public and easily share it, so that I can check my presentation and promote my business without leaving the app.
Verify that on company-more.tsx's profile header card, the 'معاينة' (Preview) and 'مشاركة' (Share) buttons render with no onPress prop whatsoever — only 'تعديل' (Edit) actually navigates anywhere (to /edit-profile). Document this dead-button gap ahead of the gate lifting, rather than letting it be discovered fresh as 'nothing happens when I tap Preview.'
'فريق العمل' and 'التحليلات' menu items are explicit 'قريباً' stubs (expected, not a bug)
P2
As a company user, I want to eventually manage my team members and see analytics about my listings' performance, so that I can run my business operations from within the app.
Confirm that company-more.tsx's 'إدارة الشركة' section deliberately shows an Alert.alert('قريباً', ...) for 'فريق العمل' (Team) and 'التحليلات' (Analytics) rather than navigating anywhere. Track these as intentional not-yet-built placeholders, never mistaken for broken navigation.
AC-01Tapping 'فريق العمل' shows an alert reading 'ميزة فريق العمل ستكون متوفرة قريباً' and nothing else happens.
AC-02Tapping 'التحليلات' shows an alert reading 'ميزة التحليلات ستكون متوفرة قريباً' and nothing else happens.
AC-03Every other menu item in company-more (chat, favorites, notifications, reviews, plans, account-balance, invoices, settings, about, faq, contact, privacy, terms) navigates to a real shared screen — confirm none of those are silently broken alongside these two intentional stubs.
Test Scenarios
TC-01Tap every menu item in company-more.tsx once and record which ones show the 'قريباً' alert (expected: exactly 2) versus which navigate (expected: everything else).
TC-02Confirm the alert text is grammatically correct Arabic, not a placeholder/lorem string.
TC-03Cross-check against office-more.tsx's larger set of 4 'قريباً' items (see mobile-office-coming-soon-menu-items) to make sure the two lists don't diverge in unrelated, unintentional ways.
Company Requests tab is permanently empty regardless of filter (known gap)
P1
As a company user, I want to see and manage the service requests customers send me, filtered by their status, so that I can respond to leads and track my pipeline.
Verify that company-requests.tsx renders its all/pending/accepted/completed filter pills but the list stays empty no matter which is selected. Track this known frontend/backend wiring gap explicitly, and re-verify once real request data is wired in.
AC-01All 4 filter pills (all/pending/accepted/completed) render and are tappable.
AC-02The list beneath stays empty for every filter — expected today.
AC-03The screen settles into a clear empty state rather than an infinite spinner or crash.
Test Scenarios
TC-01Tap through all 4 filter pills and confirm each renders the same empty state.
TC-02Navigate to company-requests both from the Company Home stats card and from wherever it's reachable in navigation, and confirm behavior is identical from both entry points.
TC-03Re-run this check once backend wiring lands and flip the acceptance criteria to expect real data.
Company '+' tab renders a completely blank screen (not even a redirect)
P2
As a company user, I want a clear '+' action to create a new listing, service, or offer, so that I have an obvious way to add new content to my profile.
Flag that (company)/add.tsx is a literal `return <View />;` — a blank screen with no content, no redirect, and no action sheet — unlike the individual role's '+' button, which opens a real action sheet (Add Ad / Add Alert / Request Quote per docs/flows/guest-flow.md). If a company user ever taps '+' once the gate lifts, don't mistake this genuinely blank screen for a rendering bug — it is the current implementation as written.
AC-01Tapping the '+' tab as a Company identity renders a blank screen with no visible content or action.
AC-02Nothing crashes and no console error is thrown — it's empty, not unstable.
AC-03This must be revisited before the gate lifts — shipping a genuinely blank tab to real company users would be a real regression, not just a documentation footnote.
Test Scenarios
TC-01Tap the '+' tab as a Company identity and confirm literally nothing renders beyond a blank screen.
TC-02Compare directly against the Individual role's '+' action sheet to make the gap concrete for a ticket.
TC-03Repeat for Office (see mobile-office-add-tab-empty) since (office)/add.tsx has the identical empty stub.