Refactor navigation and remove unused navigator extensions across staff features
- Removed background color from CreateOrderView, OneTimeOrderView, and RapidOrderView. - Updated navigation paths in OneTimeOrderView and other staff authentication pages to use new constants. - Deleted unused navigator extensions for staff authentication, home, profile, and shifts. - Refactored navigation in StaffMainModule to use new path constants. - Cleaned up imports and adjusted navigation calls in various staff-related pages and widgets.
This commit is contained in:
@@ -1,51 +0,0 @@
|
||||
import 'package:flutter_modular/flutter_modular.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
|
||||
/// Extension on [IModularNavigator] providing typed navigation helpers
|
||||
/// for the Staff Home feature (worker home screen).
|
||||
///
|
||||
/// Keep routes as small wrappers around `pushNamed` / `navigate` so callers
|
||||
/// don't need to rely on literal paths throughout the codebase.
|
||||
extension HomeNavigator on IModularNavigator {
|
||||
/// Navigates to the worker profile page.
|
||||
void pushWorkerProfile() {
|
||||
pushNamed('/worker-main/profile');
|
||||
}
|
||||
|
||||
/// Navigates to the availability page.
|
||||
void pushAvailability() {
|
||||
pushNamed('/worker-main/availability');
|
||||
}
|
||||
|
||||
/// Navigates to the messages page.
|
||||
void pushMessages() {
|
||||
pushNamed('/messages');
|
||||
}
|
||||
|
||||
/// Navigates to the payments page.
|
||||
void navigateToPayments() {
|
||||
navigate('/worker-main/payments');
|
||||
}
|
||||
|
||||
/// Navigates to the shifts listing.
|
||||
/// Optionally provide a [tab] query param (e.g. `find`).
|
||||
void pushShifts({String? tab}) {
|
||||
if (tab == null) {
|
||||
navigate('/worker-main/shifts');
|
||||
} else {
|
||||
navigate('/worker-main/shifts', arguments: <String, dynamic>{
|
||||
'initialTab': tab,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// Navigates to the settings page.
|
||||
void pushSettings() {
|
||||
pushNamed('/settings');
|
||||
}
|
||||
|
||||
/// Navigates to the shift details page for the given [shift].
|
||||
void pushShiftDetails(Shift shift) {
|
||||
pushNamed('/worker-main/shift-details/${shift.id}', arguments: shift);
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_modular/flutter_modular.dart';
|
||||
import 'package:lucide_icons/lucide_icons.dart';
|
||||
import 'package:staff_home/src/presentation/blocs/home_cubit.dart';
|
||||
import 'package:staff_home/src/presentation/navigation/home_navigator.dart';
|
||||
import 'package:krow_core/core.dart';
|
||||
import 'package:staff_home/src/presentation/widgets/home_page/empty_state_widget.dart';
|
||||
import 'package:staff_home/src/presentation/widgets/home_page/home_header.dart';
|
||||
import 'package:staff_home/src/presentation/widgets/home_page/placeholder_banner.dart';
|
||||
@@ -69,7 +69,7 @@ class WorkerHomePage extends StatelessWidget {
|
||||
bg: UiColors.bgHighlight,
|
||||
accent: UiColors.primary,
|
||||
onTap: () {
|
||||
Modular.to.pushWorkerProfile();
|
||||
Modular.to.toProfile();
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -85,21 +85,21 @@ class WorkerHomePage extends StatelessWidget {
|
||||
child: QuickActionItem(
|
||||
icon: LucideIcons.search,
|
||||
label: quickI18n.find_shifts,
|
||||
onTap: () => Modular.to.pushShifts(),
|
||||
onTap: () => Modular.to.toShifts(),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: QuickActionItem(
|
||||
icon: LucideIcons.calendar,
|
||||
label: quickI18n.availability,
|
||||
onTap: () => Modular.to.pushAvailability(),
|
||||
onTap: () => Modular.to.toAvailability(),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: QuickActionItem(
|
||||
icon: LucideIcons.dollarSign,
|
||||
label: quickI18n.earnings,
|
||||
onTap: () => Modular.to.navigateToPayments(),
|
||||
onTap: () => Modular.to.toPayments(),
|
||||
),
|
||||
),
|
||||
],
|
||||
@@ -132,7 +132,7 @@ class WorkerHomePage extends StatelessWidget {
|
||||
EmptyStateWidget(
|
||||
message: emptyI18n.no_shifts_today,
|
||||
actionLink: emptyI18n.find_shifts_cta,
|
||||
onAction: () => Modular.to.pushShifts(tab: 'find'),
|
||||
onAction: () => Modular.to.toShifts(initialTab: 'find'),
|
||||
)
|
||||
else
|
||||
Column(
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:lucide_icons/lucide_icons.dart';
|
||||
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:core_localization/core_localization.dart';
|
||||
import 'package:staff_home/src/presentation/navigation/home_navigator.dart';
|
||||
import 'package:krow_core/core.dart';
|
||||
|
||||
|
||||
/// Card widget for displaying pending payment information, using design system tokens.
|
||||
@@ -16,7 +16,7 @@ class PendingPaymentCard extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
final pendingI18n = t.staff.home.pending_payment;
|
||||
return GestureDetector(
|
||||
onTap: () => Modular.to.navigateToPayments(),
|
||||
onTap: () => Modular.to.toPayments(),
|
||||
child: Container(
|
||||
padding: const EdgeInsets.all(UiConstants.space4),
|
||||
decoration: BoxDecoration(
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_modular/flutter_modular.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
import 'package:lucide_icons/lucide_icons.dart';
|
||||
import 'package:staff_home/src/presentation/navigation/home_navigator.dart';
|
||||
import 'package:krow_core/core.dart';
|
||||
|
||||
class RecommendedShiftCard extends StatelessWidget {
|
||||
final Shift shift;
|
||||
|
||||
@@ -5,7 +5,7 @@ import 'package:intl/intl.dart';
|
||||
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
import '../navigation/home_navigator.dart';
|
||||
import 'package:krow_core/core.dart';
|
||||
|
||||
class ShiftCard extends StatefulWidget {
|
||||
final Shift shift;
|
||||
|
||||
Reference in New Issue
Block a user