payfrit-app/lib/app/app_router.dart
John Mizerek 65b5b82546 Add customer-to-staff chat feature and group order invites
- Add real-time chat between customers and staff via WebSocket
- Add HTTP polling fallback when WebSocket unavailable
- Chat auto-closes when worker ends conversation with dialog notification
- Add user search API for group order invites (phone/email/name)
- Store group order invites in app state
- Add login check before starting chat with sign-in prompt
- Remove table change button (not allowed currently)
- Fix About screen to show dynamic version from pubspec
- Update snackbar styling to green with black text

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 12:08:09 -08:00

59 lines
2.6 KiB
Dart

import "package:flutter/material.dart";
import "../screens/account_screen.dart";
import "../screens/about_screen.dart";
import "../screens/chat_screen.dart";
import "../screens/address_edit_screen.dart";
import "../screens/address_list_screen.dart";
import "../screens/beacon_scan_screen.dart";
import "../screens/signup_screen.dart";
import "../screens/cart_view_screen.dart";
import "../screens/group_order_invite_screen.dart";
import "../screens/login_screen.dart";
import "../screens/menu_browse_screen.dart";
import "../screens/order_history_screen.dart";
import "../screens/order_type_select_screen.dart";
import "../screens/profile_settings_screen.dart";
import "../screens/restaurant_select_screen.dart";
import "../screens/service_point_select_screen.dart";
import "../screens/splash_screen.dart";
class AppRoutes {
static const String splash = "/";
static const String login = "/login";
static const String beaconScan = "/beacon-scan";
static const String orderTypeSelect = "/order-type";
static const String groupOrderInvite = "/group-invite";
static const String restaurantSelect = "/restaurants";
static const String servicePointSelect = "/service-points";
static const String menuBrowse = "/menu";
static const String cartView = "/cart";
static const String account = "/account";
static const String orderHistory = "/order-history";
static const String profileSettings = "/profile-settings";
static const String addressList = "/addresses";
static const String addressEdit = "/address-edit";
static const String about = "/about";
static const String signup = "/signup";
static const String chat = "/chat";
static Map<String, WidgetBuilder> get routes => {
splash: (_) => const SplashScreen(),
login: (_) => const LoginScreen(),
beaconScan: (_) => const BeaconScanScreen(),
orderTypeSelect: (_) => const OrderTypeSelectScreen(),
groupOrderInvite: (_) => const GroupOrderInviteScreen(),
restaurantSelect: (_) => const RestaurantSelectScreen(),
servicePointSelect: (_) => const ServicePointSelectScreen(),
menuBrowse: (_) => const MenuBrowseScreen(),
"/menu_browse": (_) => const MenuBrowseScreen(), // Alias for menuBrowse
cartView: (_) => const CartViewScreen(),
account: (_) => const AccountScreen(),
orderHistory: (_) => const OrderHistoryScreen(),
profileSettings: (_) => const ProfileSettingsScreen(),
addressList: (_) => const AddressListScreen(),
addressEdit: (_) => const AddressEditScreen(),
about: (_) => const AboutScreen(),
signup: (_) => const SignupScreen(),
};
}