Files
meezi/mobile/meezi_app/lib/app/router.dart
T
soroush.asadi a85890f30a chore: Flutter mobile app, CI, and dev tooling
- mobile/: Flutter/Dart merchant mobile app skeleton
- .github/: GitHub Actions CI workflows
- .dockerignore: exclude host node_modules from build context
- .cursorrules: Cursor IDE project rules
- .claude/: Claude Code project settings and launch config

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-27 21:35:27 +03:30

46 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import '../features/cart/cart_screen.dart';
import '../features/discover/cafe_detail_screen.dart';
import '../features/discover/discover_screen.dart';
import '../features/hr/attendance_screen.dart';
import '../features/menu/menu_screen.dart';
import '../features/qr/qr_scan_screen.dart';
import '../features/reserve/reserve_screen.dart';
import '../features/track/track_screen.dart';
final appRouter = GoRouter(
initialLocation: '/discover',
routes: [
GoRoute(path: '/discover', builder: (_, __) => const DiscoverScreen()),
GoRoute(
path: '/cafe/:slug',
builder: (_, state) => CafeDetailScreen(slug: state.pathParameters['slug']!),
),
GoRoute(path: '/qr', builder: (_, __) => const QrScanScreen()),
GoRoute(path: '/hr/attendance', builder: (_, __) => const AttendanceScreen()),
GoRoute(
path: '/cafe/:slug/menu',
builder: (context, state) {
final slug = state.pathParameters['slug']!;
final tableId = state.uri.queryParameters['tableId'];
final tableNumber = state.uri.queryParameters['tableNumber'];
return MenuScreen(slug: slug, tableId: tableId, tableNumber: tableNumber);
},
),
GoRoute(
path: '/cafe/:slug/cart',
builder: (_, state) => CartScreen(slug: state.pathParameters['slug']!),
),
GoRoute(
path: '/cafe/:slug/reserve',
builder: (_, state) => ReserveScreen(slug: state.pathParameters['slug']!),
),
GoRoute(
path: '/order/:orderId/track',
builder: (_, state) => TrackScreen(orderId: state.pathParameters['orderId']!),
),
],
);