feat: Refactor imports and enhance navigation for shift details in staff home feature

This commit is contained in:
Achintha Isuru
2026-02-01 02:06:28 -05:00
parent 0794c5b4a4
commit 4b5a3d1304
10 changed files with 21 additions and 20 deletions

View File

@@ -3,7 +3,6 @@ import 'dart:developer' as developer;
import 'package:firebase_auth/firebase_auth.dart' as firebase; import 'package:firebase_auth/firebase_auth.dart' as firebase;
import 'package:firebase_data_connect/firebase_data_connect.dart'; import 'package:firebase_data_connect/firebase_data_connect.dart';
import 'package:krow_data_connect/krow_data_connect.dart' as dc; import 'package:krow_data_connect/krow_data_connect.dart' as dc;
import 'package:krow_domain/krow_domain.dart' as domain;
import 'package:krow_domain/krow_domain.dart' import 'package:krow_domain/krow_domain.dart'
show show
InvalidCredentialsException, InvalidCredentialsException,
@@ -15,6 +14,7 @@ import 'package:krow_domain/krow_domain.dart'
UnauthorizedAppException, UnauthorizedAppException,
PasswordMismatchException, PasswordMismatchException,
GoogleOnlyAccountException; GoogleOnlyAccountException;
import 'package:krow_domain/krow_domain.dart' as domain;
import '../../domain/repositories/auth_repository_interface.dart'; import '../../domain/repositories/auth_repository_interface.dart';

View File

@@ -1,7 +1,7 @@
import 'package:firebase_data_connect/firebase_data_connect.dart'; import 'package:firebase_data_connect/firebase_data_connect.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:krow_data_connect/krow_data_connect.dart'; import 'package:krow_data_connect/krow_data_connect.dart';
import 'package:staff_home/src/domain/entities/shift.dart'; import 'package:krow_domain/krow_domain.dart';
import 'package:staff_home/src/domain/repositories/home_repository.dart'; import 'package:staff_home/src/domain/repositories/home_repository.dart';
extension TimestampExt on Timestamp { extension TimestampExt on Timestamp {

View File

@@ -1,4 +1,4 @@
import 'package:staff_home/src/domain/entities/shift.dart'; import 'package:krow_domain/krow_domain.dart';
/// Repository interface for home screen data operations. /// Repository interface for home screen data operations.
/// ///

View File

@@ -1,4 +1,4 @@
import 'package:staff_home/src/domain/entities/shift.dart'; import 'package:krow_domain/krow_domain.dart';
import 'package:staff_home/src/domain/repositories/home_repository.dart'; import 'package:staff_home/src/domain/repositories/home_repository.dart';
/// Use case for fetching all shifts displayed on the home screen. /// Use case for fetching all shifts displayed on the home screen.

View File

@@ -1,7 +1,7 @@
import 'package:bloc/bloc.dart'; import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:krow_domain/krow_domain.dart';
import 'package:staff_home/src/domain/entities/shift.dart';
import 'package:staff_home/src/domain/usecases/get_home_shifts.dart'; import 'package:staff_home/src/domain/usecases/get_home_shifts.dart';
import 'package:staff_home/src/domain/repositories/home_repository.dart'; import 'package:staff_home/src/domain/repositories/home_repository.dart';

View File

@@ -1,4 +1,5 @@
import 'package:flutter_modular/flutter_modular.dart'; import 'package:flutter_modular/flutter_modular.dart';
import 'package:krow_domain/krow_domain.dart';
/// Extension on [IModularNavigator] providing typed navigation helpers /// Extension on [IModularNavigator] providing typed navigation helpers
/// for the Staff Home feature (worker home screen). /// for the Staff Home feature (worker home screen).
@@ -40,4 +41,9 @@ extension HomeNavigator on IModularNavigator {
void pushSettings() { void pushSettings() {
pushNamed('/settings'); 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);
}
} }

View File

@@ -1,9 +1,10 @@
import 'package:flutter/material.dart';
import 'package:lucide_icons/lucide_icons.dart';
import 'package:design_system/design_system.dart';
import 'package:staff_home/src/domain/entities/shift.dart';
import 'package:core_localization/core_localization.dart'; import 'package:core_localization/core_localization.dart';
import 'package:design_system/design_system.dart';
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';
class RecommendedShiftCard extends StatelessWidget { class RecommendedShiftCard extends StatelessWidget {
final Shift shift; final Shift shift;
@@ -18,13 +19,7 @@ class RecommendedShiftCard extends StatelessWidget {
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
ScaffoldMessenger.of(context).showSnackBar( Modular.to.pushShiftDetails(shift);
SnackBar(
content: Text(recI18n.applied_for(title: shift.title)),
backgroundColor: Colors.green,
duration: const Duration(seconds: 2),
),
);
}, },
child: Container( child: Container(
width: 300, width: 300,

View File

@@ -4,7 +4,7 @@ import 'package:lucide_icons/lucide_icons.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:design_system/design_system.dart'; import 'package:design_system/design_system.dart';
import 'package:staff_home/src/domain/entities/shift.dart'; import 'package:krow_domain/krow_domain.dart';
class ShiftCard extends StatefulWidget { class ShiftCard extends StatefulWidget {
final Shift shift; final Shift shift;

View File

@@ -28,6 +28,8 @@ dependencies:
path: ../../../core path: ../../../core
krow_domain: krow_domain:
path: ../../../domain path: ../../../domain
staff_shifts:
path: ../shifts
krow_data_connect: krow_data_connect:
path: ../../../data_connect path: ../../../data_connect
firebase_data_connect: firebase_data_connect:

View File

@@ -5,6 +5,4 @@ extension ShiftsNavigator on IModularNavigator {
void pushShiftDetails(Shift shift) { void pushShiftDetails(Shift shift) {
pushNamed('/worker-main/shift-details/${shift.id}', arguments: shift); pushNamed('/worker-main/shift-details/${shift.id}', arguments: shift);
} }
// Example for going back or internal navigation if needed
} }