feat: Refactor imports and enhance navigation for shift details in staff home feature
This commit is contained in:
@@ -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';
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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.
|
||||
///
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -28,6 +28,8 @@ dependencies:
|
||||
path: ../../../core
|
||||
krow_domain:
|
||||
path: ../../../domain
|
||||
staff_shifts:
|
||||
path: ../shifts
|
||||
krow_data_connect:
|
||||
path: ../../../data_connect
|
||||
firebase_data_connect:
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user