refactor(clock_in): reorganize geofence and clock-in BLoC structure
- Deleted old geofence_event.dart and geofence_state.dart files. - Created new geofence_event.dart and geofence_state.dart files under a dedicated geofence directory. - Moved clock_in_bloc.dart, clock_in_event.dart, and clock_in_state.dart to a new clock_in directory for better organization. - Updated import paths throughout the codebase to reflect the new structure. - Implemented new ClockInBloc and GeofenceBloc classes to handle clock-in and geofence functionalities respectively. - Enhanced event and state management for clock-in operations, including handling location verification and geofence checks.
This commit is contained in:
@@ -2,12 +2,12 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:krow_core/core.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
|
||||
import '../../domain/arguments/clock_in_arguments.dart';
|
||||
import '../../domain/arguments/clock_out_arguments.dart';
|
||||
import '../../domain/usecases/clock_in_usecase.dart';
|
||||
import '../../domain/usecases/clock_out_usecase.dart';
|
||||
import '../../domain/usecases/get_attendance_status_usecase.dart';
|
||||
import '../../domain/usecases/get_todays_shift_usecase.dart';
|
||||
import '../../../domain/arguments/clock_in_arguments.dart';
|
||||
import '../../../domain/arguments/clock_out_arguments.dart';
|
||||
import '../../../domain/usecases/clock_in_usecase.dart';
|
||||
import '../../../domain/usecases/clock_out_usecase.dart';
|
||||
import '../../../domain/usecases/get_attendance_status_usecase.dart';
|
||||
import '../../../domain/usecases/get_todays_shift_usecase.dart';
|
||||
import 'clock_in_event.dart';
|
||||
import 'clock_in_state.dart';
|
||||
|
||||
@@ -4,9 +4,9 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:krow_core/core.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
|
||||
import '../../data/services/background_geofence_service.dart';
|
||||
import '../../domain/models/geofence_result.dart';
|
||||
import '../../domain/services/geofence_service_interface.dart';
|
||||
import '../../../data/services/background_geofence_service.dart';
|
||||
import '../../../domain/models/geofence_result.dart';
|
||||
import '../../../domain/services/geofence_service_interface.dart';
|
||||
import 'geofence_event.dart';
|
||||
import 'geofence_state.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
import '../../domain/models/geofence_result.dart';
|
||||
import '../../../domain/models/geofence_result.dart';
|
||||
|
||||
/// Base event for the [GeofenceBloc].
|
||||
abstract class GeofenceEvent extends Equatable {
|
||||
@@ -4,9 +4,9 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_modular/flutter_modular.dart';
|
||||
|
||||
import '../bloc/clock_in_bloc.dart';
|
||||
import '../bloc/clock_in_state.dart';
|
||||
import '../bloc/geofence_bloc.dart';
|
||||
import '../bloc/clock_in/clock_in_bloc.dart';
|
||||
import '../bloc/clock_in/clock_in_state.dart';
|
||||
import '../bloc/geofence/geofence_bloc.dart';
|
||||
import '../widgets/clock_in_body.dart';
|
||||
import '../widgets/clock_in_page_skeleton/clock_in_page_skeleton.dart';
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
|
||||
import '../bloc/clock_in_bloc.dart';
|
||||
import '../bloc/clock_in_event.dart';
|
||||
import '../bloc/clock_in/clock_in_bloc.dart';
|
||||
import '../bloc/clock_in/clock_in_event.dart';
|
||||
|
||||
/// A single selectable tab within a check-in mode toggle strip.
|
||||
///
|
||||
|
||||
@@ -6,12 +6,12 @@ import 'package:flutter_modular/flutter_modular.dart';
|
||||
import 'package:krow_core/core.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
|
||||
import '../bloc/clock_in_bloc.dart';
|
||||
import '../bloc/clock_in_event.dart';
|
||||
import '../bloc/clock_in_state.dart';
|
||||
import '../bloc/geofence_bloc.dart';
|
||||
import '../bloc/geofence_event.dart';
|
||||
import '../bloc/geofence_state.dart';
|
||||
import '../bloc/clock_in/clock_in_bloc.dart';
|
||||
import '../bloc/clock_in/clock_in_event.dart';
|
||||
import '../bloc/clock_in/clock_in_state.dart';
|
||||
import '../bloc/geofence/geofence_bloc.dart';
|
||||
import '../bloc/geofence/geofence_event.dart';
|
||||
import '../bloc/geofence/geofence_state.dart';
|
||||
import 'clock_in_helpers.dart';
|
||||
import 'early_check_in_banner.dart';
|
||||
import 'geofence_status_banner/geofence_status_banner.dart';
|
||||
|
||||
@@ -5,11 +5,11 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
|
||||
import '../bloc/clock_in_bloc.dart';
|
||||
import '../bloc/clock_in_event.dart';
|
||||
import '../bloc/clock_in_state.dart';
|
||||
import '../bloc/geofence_bloc.dart';
|
||||
import '../bloc/geofence_event.dart';
|
||||
import '../bloc/clock_in/clock_in_bloc.dart';
|
||||
import '../bloc/clock_in/clock_in_event.dart';
|
||||
import '../bloc/clock_in/clock_in_state.dart';
|
||||
import '../bloc/geofence/geofence_bloc.dart';
|
||||
import '../bloc/geofence/geofence_event.dart';
|
||||
import 'checked_in_banner.dart';
|
||||
import 'clock_in_action_section.dart';
|
||||
import 'date_selector.dart';
|
||||
|
||||
@@ -5,8 +5,8 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_modular/flutter_modular.dart';
|
||||
import 'package:krow_core/core.dart';
|
||||
|
||||
import '../../bloc/geofence_bloc.dart';
|
||||
import '../../bloc/geofence_event.dart';
|
||||
import '../../bloc/geofence/geofence_bloc.dart';
|
||||
import '../../bloc/geofence/geofence_event.dart';
|
||||
|
||||
/// Modal bottom sheet that collects a justification note before allowing
|
||||
/// a geofence-overridden clock-in.
|
||||
|
||||
@@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
|
||||
import '../../bloc/geofence_bloc.dart';
|
||||
import '../../bloc/geofence_state.dart';
|
||||
import '../../bloc/geofence/geofence_bloc.dart';
|
||||
import '../../bloc/geofence/geofence_state.dart';
|
||||
import 'permission_denied_banner.dart';
|
||||
import 'permission_denied_forever_banner.dart';
|
||||
import 'service_disabled_banner.dart';
|
||||
|
||||
@@ -3,9 +3,9 @@ import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
|
||||
import '../../bloc/geofence_bloc.dart';
|
||||
import '../../bloc/geofence_event.dart';
|
||||
import '../../bloc/geofence_state.dart';
|
||||
import '../../bloc/geofence/geofence_bloc.dart';
|
||||
import '../../bloc/geofence/geofence_event.dart';
|
||||
import '../../bloc/geofence/geofence_state.dart';
|
||||
import 'banner_action_button.dart';
|
||||
import 'banner_actions_row.dart';
|
||||
import 'geofence_override_modal.dart';
|
||||
|
||||
@@ -3,8 +3,8 @@ import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
|
||||
import '../../bloc/geofence_bloc.dart';
|
||||
import '../../bloc/geofence_event.dart';
|
||||
import '../../bloc/geofence/geofence_bloc.dart';
|
||||
import '../../bloc/geofence/geofence_event.dart';
|
||||
import 'banner_action_button.dart';
|
||||
import 'banner_actions_row.dart';
|
||||
import 'geofence_override_modal.dart';
|
||||
|
||||
@@ -11,8 +11,8 @@ import 'domain/usecases/clock_in_usecase.dart';
|
||||
import 'domain/usecases/clock_out_usecase.dart';
|
||||
import 'domain/usecases/get_attendance_status_usecase.dart';
|
||||
import 'domain/usecases/get_todays_shift_usecase.dart';
|
||||
import 'presentation/bloc/clock_in_bloc.dart';
|
||||
import 'presentation/bloc/geofence_bloc.dart';
|
||||
import 'presentation/bloc/clock_in/clock_in_bloc.dart';
|
||||
import 'presentation/bloc/geofence/geofence_bloc.dart';
|
||||
import 'presentation/pages/clock_in_page.dart';
|
||||
|
||||
/// Module for the staff clock-in feature.
|
||||
|
||||
Reference in New Issue
Block a user