1import 'package:easy_localization/easy_localization.dart';
2import 'package:fluentui_system_icons/fluentui_system_icons.dart';
3import 'package:flutter_screenutil/flutter_screenutil.dart';
4import 'package:flutter_bloc/flutter_bloc.dart';
5import 'package:flutter/material.dart';
6import 'package:posthog_flutter/posthog_flutter.dart';
7import '../../../../core/services/location_service.dart';
8import '../../../../core/services/user_info_service.dart';
9import '../../../auth/presentation/bloc/authentication_bloc/authentication_bloc.dart';
10import '../../../../core/ui/theme/color_palette.dart';
11import '../../../../core/router/routes.dart';
12import 'widgets/dashboard_card.dart';
13import 'widgets/banner_slider.dart';
14import 'widgets/home_header.dart';
15import 'widgets/dashboard_grid.dart';
24class _HomeScreenState
extends State<HomeScreen> {
29 title:
'home.today_schedule'.tr(),
30 icon: FluentIcons.calendar_12_regular,
35 title:
'home.transactions'.tr(),
36 icon: FluentIcons.arrow_swap_16_regular,
41 title:
'home.unloading'.tr(),
42 icon: FluentIcons.vehicle_truck_profile_16_regular,
47 title:
'home.wallet'.tr(),
48 icon: FluentIcons.wallet_16_regular,
58 final authBloc = context.read<AuthenticationBloc>();
59 final authState = authBloc.state;
60 if (authState is AuthenticatedState) {
62 WidgetsBinding.instance.addPostFrameCallback((
_) async {
63 await Posthog().identify(
64 userId: authState.session.uid?.toString() ??
'N/A',
66 "name": authState.session.name.toString(),
67 "email": authState.session.username.toString(),
82 Widget
build(BuildContext context) {
override void initState()
class App extends StatefulWidget build(BuildContext context)
sealed class CheckInOutEvent extends Equatable userId
static const antiFlashWhite
static final UserInfoService instance
Future< UserInfo?> fetchAndSaveUserInfo(int userId) async
String get(String locale)
List< DashboardItem > get items
class HomeScreen extends StatefulWidget _locationService
List< DashboardItem > get DashboardItem(title:'home.transactions'.tr(), icon:FluentIcons.arrow_swap_16_regular, color:ColorPalette.lightGreen, path:Routes.transactionsHistoryScreen.route,)
style SizedBox(height:2.h)
style Column(crossAxisAlignment:CrossAxisAlignment.end, children:[Container(padding:EdgeInsets.symmetric(horizontal:8.w, vertical:4.h), decoration:BoxDecoration(color:ColorPalette.tiffanyBlue.withValues(alpha:0.1), borderRadius:BorderRadius.circular(12),), child:Text(collection.type ?? '', style:Theme.of(context).textTheme.bodySmall?.copyWith(color:ColorPalette.tiffanyBlue, fontWeight:FontWeight.bold,),),),],)