Merge remote-tracking branch 'origin/312-feature-integrate-google-maps-places-autocomplete-for-hub-address-validation' into 298-bug-enhance-order-creation-flow-implement-robust-timezone-handling-in-mobile-client-app

This commit is contained in:
José Salazar
2026-01-29 14:36:43 -05:00
35 changed files with 213 additions and 252 deletions

View File

@@ -24,7 +24,6 @@ class CoveragePage extends StatelessWidget {
create: (BuildContext context) => Modular.get<CoverageBloc>()
..add(CoverageLoadRequested(date: DateTime.now())),
child: Scaffold(
backgroundColor: UiColors.background,
body: BlocBuilder<CoverageBloc, CoverageState>(
builder: (BuildContext context, CoverageState state) {
return Column(
@@ -121,6 +120,7 @@ class CoveragePage extends StatelessWidget {
),
const SizedBox(height: UiConstants.space3),
CoverageShiftList(shifts: state.shifts),
const SizedBox(height: 100),
],
),
);

View File

@@ -35,24 +35,23 @@ class CoverageShiftList extends StatelessWidget {
if (shifts.isEmpty) {
return Container(
padding: const EdgeInsets.all(UiConstants.space8),
width: double.infinity,
decoration: BoxDecoration(
color: UiColors.bgPopup,
borderRadius: UiConstants.radiusLg,
border: Border.all(color: UiColors.border),
),
child: Column(
spacing: UiConstants.space4,
children: <Widget>[
const Icon(
UiIcons.users,
size: UiConstants.space12,
color: UiColors.mutedForeground,
color: UiColors.textSecondary,
),
const SizedBox(height: UiConstants.space3),
Text(
'No shifts scheduled for this day',
style: UiTypography.body2r.copyWith(
color: UiColors.mutedForeground,
),
style: UiTypography.body2r.textSecondary,
),
],
),
@@ -160,12 +159,15 @@ class _ShiftHeader extends StatelessWidget {
),
),
child: Row(
spacing: UiConstants.space4,
children: <Widget>[
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
spacing: UiConstants.space2,
children: <Widget>[
Row(
spacing: UiConstants.space2,
children: <Widget>[
Container(
width: UiConstants.space2,
@@ -175,42 +177,43 @@ class _ShiftHeader extends StatelessWidget {
shape: BoxShape.circle,
),
),
const SizedBox(width: UiConstants.space2),
Text(
title,
style: UiTypography.body1b.copyWith(
color: UiColors.textPrimary,
),
style: UiTypography.body1b.textPrimary,
),
],
),
const SizedBox(height: UiConstants.space2),
Row(
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
const Icon(
UiIcons.mapPin,
size: UiConstants.space3,
color: UiColors.mutedForeground,
Row(
spacing: UiConstants.space1,
children: <Widget>[
const Icon(
UiIcons.mapPin,
size: UiConstants.space3,
color: UiColors.iconSecondary,
),
Expanded(child: Text(
location,
style: UiTypography.body3r.textSecondary,
overflow: TextOverflow.ellipsis,
)),
],
),
const SizedBox(width: UiConstants.space1),
Text(
location,
style: UiTypography.body3r.copyWith(
color: UiColors.mutedForeground,
),
),
const SizedBox(width: UiConstants.space3),
const Icon(
UiIcons.clock,
size: UiConstants.space3,
color: UiColors.mutedForeground,
),
const SizedBox(width: UiConstants.space1),
Text(
startTime,
style: UiTypography.body3r.copyWith(
color: UiColors.mutedForeground,
),
Row(
spacing: UiConstants.space1,
children: <Widget>[
const Icon(
UiIcons.clock,
size: UiConstants.space3,
color: UiColors.iconSecondary,
),
Text(
startTime,
style: UiTypography.body3r.textSecondary,
),
],
),
],
),

View File

@@ -1,6 +1,6 @@
name: client_coverage
description: Client coverage feature for tracking daily shift coverage and worker status
version: 1.0.0
version: 0.0.1
publish_to: none
resolution: workspace
@@ -33,4 +33,4 @@ dependencies:
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^5.0.0
flutter_lints: ^6.0.0