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:
Achintha Isuru
2026-03-14 01:23:27 -04:00
parent 08a4326da4
commit 3478436227
15 changed files with 37 additions and 37 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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