feat: update client routing paths for order creation; streamline navigation and remove deprecated routes

This commit is contained in:
Achintha Isuru
2026-02-04 17:04:03 -05:00
parent c05261ddd7
commit bb09925668
5 changed files with 14 additions and 51 deletions

View File

@@ -153,28 +153,4 @@ extension ClientNavigator on IModularNavigator {
void toCreateOrderPermanent() {
pushNamed(ClientPaths.createOrderPermanent);
}
// ==========================================================================
// ORDER VIEWING
// ==========================================================================
/// Navigates to the view orders page.
///
/// Browse all orders with filtering, sorting, and status indicators.
void toViewOrders() {
navigate(ClientPaths.viewOrders);
}
/// Navigates to the details page for a specific order.
///
/// Parameters:
/// * [orderId] - The unique identifier for the order to view
///
/// Example:
/// ```dart
/// Modular.to.toOrderDetails('abc123');
/// ```
void toOrderDetails(String orderId) {
navigate(ClientPaths.orderDetails(orderId));
}
}

View File

@@ -89,42 +89,25 @@ class ClientPaths {
/// Base path for order creation flows.
///
/// Entry point for all order creation types.
static const String createOrder = '/client/create-order';
static const String createOrder = '/create-order';
/// Rapid order creation - quick shift creation flow.
///
/// Simplified flow for creating single shifts quickly.
static const String createOrderRapid = '/client/create-order/rapid';
static const String createOrderRapid = '/create-order/rapid';
/// One-time order creation - single occurrence shift.
///
/// Create a shift that occurs once at a specific date/time.
static const String createOrderOneTime = '/client/create-order/one-time';
static const String createOrderOneTime = '/create-order/one-time';
/// Recurring order creation - repeated shifts.
///
/// Create shifts that repeat on a schedule (daily, weekly, etc.).
static const String createOrderRecurring = '/client/create-order/recurring';
static const String createOrderRecurring = '/create-order/recurring';
/// Permanent order creation - ongoing position.
///
/// Create a long-term or permanent staffing position.
static const String createOrderPermanent = '/client/create-order/permanent';
// ==========================================================================
// ORDER VIEWING & DETAILS
// ==========================================================================
/// View orders list and details.
///
/// Browse all orders with filtering, sorting, and status indicators.
static const String viewOrders = '/client/view-orders';
/// Order details page (dynamic).
///
/// View detailed information for a specific order.
/// Path format: `/client/view-orders/{orderId}`
///
/// Example: `/client/view-orders/abc123`
static String orderDetails(String orderId) => '$viewOrders/$orderId';
static const String createOrderPermanent = '/create-order/permanent';
}

View File

@@ -1,5 +1,6 @@
import 'package:flutter/widgets.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:krow_core/core.dart';
import 'package:krow_data_connect/krow_data_connect.dart';
import 'package:firebase_auth/firebase_auth.dart' as firebase;
import 'data/repositories_impl/client_create_order_repository_impl.dart';
@@ -57,17 +58,20 @@ class ClientCreateOrderModule extends Module {
'/',
child: (BuildContext context) => const ClientCreateOrderPage(),
);
r.child('/rapid', child: (BuildContext context) => const RapidOrderPage());
r.child(
'/one-time',
ClientPaths.createOrderRapid.replaceFirst(ClientPaths.createOrder, ''),
child: (BuildContext context) => const RapidOrderPage(),
);
r.child(
ClientPaths.createOrderOneTime.replaceFirst(ClientPaths.createOrder, ''),
child: (BuildContext context) => const OneTimeOrderPage(),
);
r.child(
'/recurring',
ClientPaths.createOrderRecurring.replaceFirst(ClientPaths.createOrder, ''),
child: (BuildContext context) => const RecurringOrderPage(),
);
r.child(
'/permanent',
ClientPaths.createOrderPermanent.replaceFirst(ClientPaths.createOrder, ''),
child: (BuildContext context) => const PermanentOrderPage(),
);
}