feat(shift-details): Enhance ShiftDetailsHeader with client name and location address display

This commit is contained in:
Achintha Isuru
2026-02-16 14:35:36 -05:00
parent 86294d920a
commit 913f895952

View File

@@ -17,48 +17,84 @@ class ShiftDetailsHeader extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Padding( return Padding(
padding: const EdgeInsets.all(UiConstants.space5), padding: const EdgeInsets.all(UiConstants.space5),
child: Row( child: IntrinsicHeight(
crossAxisAlignment: CrossAxisAlignment.start, child: Row(
spacing: UiConstants.space4, crossAxisAlignment: CrossAxisAlignment.stretch,
children: [ spacing: UiConstants.space4,
Container( children: [
width: 48, Container(
height: 48, width: 114,
decoration: BoxDecoration( decoration: BoxDecoration(
color: UiColors.background, color: UiColors.primary.withAlpha(20),
borderRadius: BorderRadius.circular( borderRadius: BorderRadius.circular(
UiConstants.radiusBase, UiConstants.radiusBase,
),
border: Border.all(color: UiColors.primary),
), ),
border: Border.all(color: UiColors.border), child: const Center(
), child: Icon(
child: const Center( UiIcons.briefcase,
child: Icon( color: UiColors.primary,
UiIcons.briefcase, size: 24,
color: UiColors.primary, ),
size: 24,
), ),
), ),
), Expanded(
Expanded( child: Column(
child: Column( crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.center,
children: [ spacing: UiConstants.space3,
Text( children: [
shift.title, Text(
style: UiTypography.headline1b.textPrimary, shift.title,
), style: UiTypography.headline1b.textPrimary,
Text( ),
shift.clientName, Column(
style: UiTypography.body1m.textSecondary, spacing: UiConstants.space1,
), children: [
Text( // Client name
shift.locationAddress, Row(
style: UiTypography.body2r.textSecondary, 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,
),
),
],
),
],
),
],
),
), ),
), ],
], ),
), ),
); );
} }