diff --git a/apps/mobile/packages/features/client/authentication/lib/src/data/repositories_impl/auth_repository_impl.dart b/apps/mobile/packages/features/client/authentication/lib/src/data/repositories_impl/auth_repository_impl.dart index 43674a96..87146306 100644 --- a/apps/mobile/packages/features/client/authentication/lib/src/data/repositories_impl/auth_repository_impl.dart +++ b/apps/mobile/packages/features/client/authentication/lib/src/data/repositories_impl/auth_repository_impl.dart @@ -3,7 +3,6 @@ import 'dart:developer' as developer; import 'package:firebase_auth/firebase_auth.dart' as firebase; import 'package:firebase_data_connect/firebase_data_connect.dart'; 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' show InvalidCredentialsException, @@ -15,6 +14,7 @@ import 'package:krow_domain/krow_domain.dart' UnauthorizedAppException, PasswordMismatchException, GoogleOnlyAccountException; +import 'package:krow_domain/krow_domain.dart' as domain; import '../../domain/repositories/auth_repository_interface.dart'; diff --git a/apps/mobile/packages/features/staff/home/lib/src/data/repositories/home_repository_impl.dart b/apps/mobile/packages/features/staff/home/lib/src/data/repositories/home_repository_impl.dart index 51247a7d..6a4ecc62 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/data/repositories/home_repository_impl.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/data/repositories/home_repository_impl.dart @@ -1,7 +1,7 @@ import 'package:firebase_data_connect/firebase_data_connect.dart'; import 'package:intl/intl.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'; extension TimestampExt on Timestamp { diff --git a/apps/mobile/packages/features/staff/home/lib/src/domain/repositories/home_repository.dart b/apps/mobile/packages/features/staff/home/lib/src/domain/repositories/home_repository.dart index a280f4cf..320061d6 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/domain/repositories/home_repository.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/domain/repositories/home_repository.dart @@ -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. /// diff --git a/apps/mobile/packages/features/staff/home/lib/src/domain/usecases/get_home_shifts.dart b/apps/mobile/packages/features/staff/home/lib/src/domain/usecases/get_home_shifts.dart index 2e9ed17c..dd8d7958 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/domain/usecases/get_home_shifts.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/domain/usecases/get_home_shifts.dart @@ -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'; /// Use case for fetching all shifts displayed on the home screen. diff --git a/apps/mobile/packages/features/staff/home/lib/src/presentation/blocs/home_cubit.dart b/apps/mobile/packages/features/staff/home/lib/src/presentation/blocs/home_cubit.dart index 27ffb317..85a16eca 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/presentation/blocs/home_cubit.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/presentation/blocs/home_cubit.dart @@ -1,7 +1,7 @@ import 'package:bloc/bloc.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/repositories/home_repository.dart'; diff --git a/apps/mobile/packages/features/staff/home/lib/src/presentation/navigation/home_navigator.dart b/apps/mobile/packages/features/staff/home/lib/src/presentation/navigation/home_navigator.dart index 056a5636..4e8dfc0e 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/presentation/navigation/home_navigator.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/presentation/navigation/home_navigator.dart @@ -1,4 +1,5 @@ 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). @@ -40,4 +41,9 @@ extension HomeNavigator on IModularNavigator { 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); + } } diff --git a/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/home_page/recommended_shift_card.dart b/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/home_page/recommended_shift_card.dart index 7940ff30..3a4ef59d 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/home_page/recommended_shift_card.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/home_page/recommended_shift_card.dart @@ -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: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 { final Shift shift; @@ -18,13 +19,7 @@ class RecommendedShiftCard extends StatelessWidget { return GestureDetector( onTap: () { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text(recI18n.applied_for(title: shift.title)), - backgroundColor: Colors.green, - duration: const Duration(seconds: 2), - ), - ); + Modular.to.pushShiftDetails(shift); }, child: Container( width: 300, diff --git a/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/shift_card.dart b/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/shift_card.dart index 3990fe9c..f2a95f0d 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/shift_card.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/presentation/widgets/shift_card.dart @@ -4,7 +4,7 @@ import 'package:lucide_icons/lucide_icons.dart'; import 'package:intl/intl.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 { final Shift shift; diff --git a/apps/mobile/packages/features/staff/home/pubspec.yaml b/apps/mobile/packages/features/staff/home/pubspec.yaml index e35bd26d..8d6afcfd 100644 --- a/apps/mobile/packages/features/staff/home/pubspec.yaml +++ b/apps/mobile/packages/features/staff/home/pubspec.yaml @@ -28,6 +28,8 @@ dependencies: path: ../../../core krow_domain: path: ../../../domain + staff_shifts: + path: ../shifts krow_data_connect: path: ../../../data_connect firebase_data_connect: diff --git a/apps/mobile/packages/features/staff/shifts/lib/src/presentation/navigation/shifts_navigator.dart b/apps/mobile/packages/features/staff/shifts/lib/src/presentation/navigation/shifts_navigator.dart index 306caa5a..007b4e00 100644 --- a/apps/mobile/packages/features/staff/shifts/lib/src/presentation/navigation/shifts_navigator.dart +++ b/apps/mobile/packages/features/staff/shifts/lib/src/presentation/navigation/shifts_navigator.dart @@ -5,6 +5,4 @@ extension ShiftsNavigator on IModularNavigator { void pushShiftDetails(Shift shift) { pushNamed('/worker-main/shift-details/${shift.id}', arguments: shift); } - - // Example for going back or internal navigation if needed }