feat: Implement Staff Clock In feature with attendance tracking and commute management

- Added AppColors for consistent theming across the feature.
- Created AttendanceCard widget to display attendance information.
- Developed CommuteTracker widget to manage and display commute status.
- Implemented DateSelector for selecting shift dates.
- Added LunchBreakDialog for logging lunch breaks with multiple steps.
- Created SwipeToCheckIn widget for checking in and out via swipe or NFC.
- Established StaffClockInModule for dependency injection and routing.
- Updated pubspec.yaml with necessary dependencies for the feature.
This commit is contained in:
Achintha Isuru
2026-01-26 01:25:08 -05:00
parent 2a820b3e4f
commit 7bd276269b
27 changed files with 2752 additions and 5 deletions

View File

@@ -14,6 +14,7 @@ import 'package:staff_shifts/staff_shifts.dart';
import 'package:staff_payments/staff_payements.dart';
import 'package:staff_time_card/staff_time_card.dart';
import 'package:staff_availability/staff_availability.dart';
import 'package:staff_clock_in/staff_clock_in.dart';
import 'package:staff_main/src/presentation/blocs/staff_main_cubit.dart';
import 'package:staff_main/src/presentation/constants/staff_main_routes.dart';
@@ -44,10 +45,9 @@ class StaffMainModule extends Module {
StaffMainRoutes.home,
module: StaffHomeModule(),
),
ChildRoute<dynamic>(
ModuleRoute<dynamic>(
StaffMainRoutes.clockIn,
child: (BuildContext context) =>
const PlaceholderPage(title: 'Clock In'),
module: StaffClockInModule(),
),
ModuleRoute<dynamic>(
StaffMainRoutes.profile,
@@ -74,5 +74,9 @@ class StaffMainModule extends Module {
module: StaffTimeCardModule(),
);
r.module('/availability', module: StaffAvailabilityModule());
r.module(
'/clock-in',
module: StaffClockInModule(),
);
}
}