How housseint/talabkum works
TALABKUM is a multi-branch restaurant storefront: customers choose or enter a branch-specific menu, customize items, build a cart, and submit delivery details through WhatsApp checkout. Branch configuration drives localized pricing, availability, routing, and store hours; language context supplies Arabic/English UI state. README capabilities are included where source excerpts were unavailable, with those connections limited to documented behavior.
Main entry points: App.tsx Application shell · Index.tsx Menu storefront · BranchContext.tsx Branch state · MenuGrid.tsx Menu browser
Components 20
App and routing
- Application shell
src/App.tsx - Branch gate
src/components/ProtectedRoute.tsx
Branch operations
- Branch selector
src/pages/BranchSelector.tsx - Branch state
src/context/BranchContext.tsx - Branch settings
src/config/branch.ts - Store hours
src/context/StoreContext.tsx - Store status check
src/components/StoreStatusChecker.tsx
Menu and ordering
- Menu storefront
src/pages/Index.tsx - Storefront hero
src/components/HeroSection.tsx - Menu browser
src/components/MenuGrid.tsx - Branch menu catalog
src/data/menu.ts - Menu item card
src/components/ItemCard.tsx - Item customization
src/components/ItemCustomizationDialog.tsx - Item notes
src/components/AddItemNoteDialog.tsx - Add-ons
src/components/AddOnsSection.tsx - Cart and checkout
src/components/CartSheet.tsx
Localization
- Language state
src/i18n/LanguageContext.tsx - UI translations
src/i18n/translations.ts
Other components
- Customer
Connections 22
- Customer → Application shell: opens storefront
- Application shell → Branch gate: routes through
- Branch gate → Menu storefront: allows branch
- Application shell → Branch selector: routes to
- Application shell → Branch state: provides branch state
- Application shell → Store hours: provides store state
- Application shell → Language state: provides language state
- Branch state → Branch settings: reads settings
- Store hours → Branch settings: reads hours and timezone
- Application shell → Store status check: wraps routes
- Menu storefront → Storefront hero: renders
- Menu storefront → Menu browser: renders
- Menu storefront → Cart and checkout: renders checkout
- Menu browser → Branch menu catalog: reads menu
- Menu browser → Menu item card: renders items
- Menu item card → Item customization: opens customization
- Item customization → Add-ons: offers add-ons
- Item customization → Item notes: collects notes
- Cart and checkout → WhatsApp: sends order
- Language state → UI translations: reads strings
- Branch state → Branch menu catalog: selects branch pricing and availability
- Customer → Branch selector: selects branch