From 913f89595218e3a1f057a1414eccfaa65f654193 Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Mon, 16 Feb 2026 14:35:36 -0500 Subject: [PATCH] feat(shift-details): Enhance ShiftDetailsHeader with client name and location address display --- .../shift_details/shift_details_header.dart | 112 ++++++++++++------ 1 file changed, 74 insertions(+), 38 deletions(-) diff --git a/apps/mobile/packages/features/staff/shifts/lib/src/presentation/widgets/shift_details/shift_details_header.dart b/apps/mobile/packages/features/staff/shifts/lib/src/presentation/widgets/shift_details/shift_details_header.dart index ea8d70db..4d6458f7 100644 --- a/apps/mobile/packages/features/staff/shifts/lib/src/presentation/widgets/shift_details/shift_details_header.dart +++ b/apps/mobile/packages/features/staff/shifts/lib/src/presentation/widgets/shift_details/shift_details_header.dart @@ -17,48 +17,84 @@ class ShiftDetailsHeader extends StatelessWidget { Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(UiConstants.space5), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - spacing: UiConstants.space4, - children: [ - Container( - width: 48, - height: 48, - decoration: BoxDecoration( - color: UiColors.background, - borderRadius: BorderRadius.circular( - UiConstants.radiusBase, + child: IntrinsicHeight( + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + spacing: UiConstants.space4, + children: [ + Container( + width: 114, + decoration: BoxDecoration( + color: UiColors.primary.withAlpha(20), + borderRadius: BorderRadius.circular( + UiConstants.radiusBase, + ), + border: Border.all(color: UiColors.primary), ), - border: Border.all(color: UiColors.border), - ), - child: const Center( - child: Icon( - UiIcons.briefcase, - color: UiColors.primary, - size: 24, + child: const Center( + child: Icon( + UiIcons.briefcase, + color: UiColors.primary, + size: 24, + ), ), ), - ), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - shift.title, - style: UiTypography.headline1b.textPrimary, - ), - Text( - shift.clientName, - style: UiTypography.body1m.textSecondary, - ), - Text( - shift.locationAddress, - style: UiTypography.body2r.textSecondary, - ), - ], + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + spacing: UiConstants.space3, + children: [ + Text( + shift.title, + style: UiTypography.headline1b.textPrimary, + ), + Column( + spacing: UiConstants.space1, + children: [ + // Client name + Row( + spacing: UiConstants.space1, + children: [ + const Icon( + UiIcons.building, + size: 16, + color: UiColors.textSecondary, + ), + Expanded( + child: Text( + shift.clientName, + style: UiTypography.body1m.textSecondary, + ), + ), + ], + ), + + // Location address (if available) + Row( + spacing: UiConstants.space1, + children: [ + const Icon( + UiIcons.mapPin, + size: 16, + color: UiColors.textSecondary, + ), + Expanded( + child: Text( + shift.locationAddress, + style: UiTypography.body2r.textSecondary, + ), + ), + ], + ), + ], + ), + + ], + ), ), - ), - ], + ], + ), ), ); }