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_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';
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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.
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user