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_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';

View File

@@ -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 {

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.
///

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';
/// Use case for fetching all shifts displayed on the home screen.

View File

@@ -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';

View File

@@ -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);
}
}

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: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,

View File

@@ -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;

View File

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

View File

@@ -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
}