chore: refactor UI consistency using design system tokens and remove LucideIcons
This commit is contained in:
@@ -33,7 +33,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
showModalBottomSheet<void>(
|
||||
context: context,
|
||||
isScrollControlled: true,
|
||||
backgroundColor: Colors.transparent,
|
||||
backgroundColor: UiColors.transparent,
|
||||
builder: (BuildContext context) => _OrderEditSheet(
|
||||
order: order,
|
||||
onUpdated: () => this.context.read<ViewOrdersCubit>().updateWeekOffset(0),
|
||||
@@ -161,7 +161,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
color: statusColor.withValues(alpha: 0.1),
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
borderRadius: UiConstants.radiusSm,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
@@ -174,7 +174,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
const SizedBox(width: UiConstants.space1 + 2),
|
||||
Text(
|
||||
statusLabel.toUpperCase(),
|
||||
style: UiTypography.footnote2b.copyWith(
|
||||
@@ -215,7 +215,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
color: UiColors.iconSecondary,
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 4),
|
||||
const SizedBox(width: UiConstants.space1),
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
@@ -338,7 +338,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
size: 16,
|
||||
color: UiColors.textSuccess,
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
const SizedBox(width: UiConstants.space2),
|
||||
Text(
|
||||
coveragePercent == 100
|
||||
? 'All Workers Confirmed'
|
||||
@@ -355,9 +355,9 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
const SizedBox(height: UiConstants.space2 + 2),
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(100),
|
||||
borderRadius: UiConstants.radiusFull,
|
||||
child: LinearProgressIndicator(
|
||||
value: coveragePercent / 100,
|
||||
backgroundColor: UiColors.bgSecondary,
|
||||
@@ -397,7 +397,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
color: UiColors.bgSecondary,
|
||||
border: Border(top: BorderSide(color: UiColors.border)),
|
||||
borderRadius: BorderRadius.vertical(
|
||||
bottom: Radius.circular(12),
|
||||
bottom: Radius.circular(UiConstants.radiusBase),
|
||||
),
|
||||
),
|
||||
padding: const EdgeInsets.all(UiConstants.space5),
|
||||
@@ -468,7 +468,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
label.toUpperCase(),
|
||||
style: UiTypography.titleUppercase4m.textSecondary,
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
const SizedBox(height: UiConstants.space1),
|
||||
Text(time, style: UiTypography.body1b.textPrimary),
|
||||
],
|
||||
),
|
||||
@@ -516,8 +516,8 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
Widget _buildWorkerRow(Map<String, dynamic> app) {
|
||||
final String? phone = app['phone'] as String?;
|
||||
return Container(
|
||||
margin: const EdgeInsets.only(bottom: 12),
|
||||
padding: const EdgeInsets.all(12),
|
||||
margin: const EdgeInsets.only(bottom: UiConstants.space3),
|
||||
padding: const EdgeInsets.all(UiConstants.space3),
|
||||
decoration: BoxDecoration(
|
||||
color: UiColors.white,
|
||||
borderRadius: UiConstants.radiusMd,
|
||||
@@ -526,14 +526,13 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
CircleAvatar(
|
||||
radius: 20,
|
||||
backgroundColor: UiColors.primary.withValues(alpha: 0.1),
|
||||
child: Text(
|
||||
(app['worker_name'] as String)[0],
|
||||
style: UiTypography.body1b.copyWith(color: UiColors.primary),
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 12),
|
||||
const SizedBox(width: UiConstants.space3),
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
@@ -542,7 +541,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
app['worker_name'] as String,
|
||||
style: UiTypography.body2m.textPrimary,
|
||||
),
|
||||
const SizedBox(height: 2),
|
||||
const SizedBox(height: UiConstants.space1 / 2),
|
||||
Row(
|
||||
children: <Widget>[
|
||||
if ((app['rating'] as num?) != null &&
|
||||
@@ -559,7 +558,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
),
|
||||
],
|
||||
if (app['check_in_time'] != null) ...<Widget>[
|
||||
const SizedBox(width: 8),
|
||||
const SizedBox(width: UiConstants.space2),
|
||||
Container(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4,
|
||||
@@ -567,7 +566,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
color: UiColors.textSuccess.withValues(alpha: 0.1),
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
borderRadius: UiConstants.radiusSm,
|
||||
),
|
||||
child: Text(
|
||||
'Checked In',
|
||||
@@ -577,7 +576,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
),
|
||||
),
|
||||
] else if ((app['status'] as String?)?.isNotEmpty ?? false) ...<Widget>[
|
||||
const SizedBox(width: 8),
|
||||
const SizedBox(width: UiConstants.space2),
|
||||
Container(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4,
|
||||
@@ -585,7 +584,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
color: UiColors.bgSecondary,
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
borderRadius: UiConstants.radiusSm,
|
||||
),
|
||||
child: Text(
|
||||
(app['status'] as String).toUpperCase(),
|
||||
@@ -652,7 +651,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
|
||||
height: 36,
|
||||
decoration: BoxDecoration(
|
||||
color: UiColors.bgSecondary,
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
borderRadius: BorderRadius.circular(UiConstants.space2),
|
||||
),
|
||||
child: Icon(icon, size: 16, color: UiColors.primary),
|
||||
),
|
||||
@@ -1447,11 +1446,7 @@ class _OrderEditSheetState extends State<_OrderEditSheet> {
|
||||
SizedBox(width: UiConstants.space2),
|
||||
Text(
|
||||
'Add Position',
|
||||
style: TextStyle(
|
||||
color: UiColors.primary,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
style: UiTypography.body2m.primary,
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -1484,7 +1479,7 @@ class _OrderEditSheetState extends State<_OrderEditSheet> {
|
||||
padding: const EdgeInsets.fromLTRB(20, 24, 20, 20),
|
||||
decoration: const BoxDecoration(
|
||||
color: UiColors.primary,
|
||||
borderRadius: BorderRadius.vertical(top: Radius.circular(24)),
|
||||
borderRadius: BorderRadius.vertical(top: Radius.circular(UiConstants.space6)),
|
||||
),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
@@ -1887,7 +1882,7 @@ class _OrderEditSheetState extends State<_OrderEditSheet> {
|
||||
height: MediaQuery.of(context).size.height * 0.95,
|
||||
decoration: const BoxDecoration(
|
||||
color: UiColors.bgSecondary,
|
||||
borderRadius: BorderRadius.vertical(top: Radius.circular(24)),
|
||||
borderRadius: BorderRadius.vertical(top: Radius.circular(UiConstants.space6)),
|
||||
),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
@@ -2123,7 +2118,7 @@ class _OrderEditSheetState extends State<_OrderEditSheet> {
|
||||
height: MediaQuery.of(context).size.height * 0.95,
|
||||
decoration: const BoxDecoration(
|
||||
color: UiColors.primary,
|
||||
borderRadius: BorderRadius.vertical(top: Radius.circular(24)),
|
||||
borderRadius: BorderRadius.vertical(top: Radius.circular(UiConstants.space6)),
|
||||
),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
|
||||
@@ -57,7 +57,7 @@ class ViewOrdersFilterTab extends StatelessWidget {
|
||||
width: isSelected ? 40 : 0,
|
||||
decoration: BoxDecoration(
|
||||
color: UiColors.primary,
|
||||
borderRadius: BorderRadius.circular(2),
|
||||
borderRadius: UiConstants.radiusXs,
|
||||
),
|
||||
),
|
||||
if (!isSelected) const SizedBox(height: 2),
|
||||
|
||||
@@ -38,9 +38,9 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
child: BackdropFilter(
|
||||
filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
color: Color(0xCCFFFFFF), // White with 0.8 alpha
|
||||
border: Border(
|
||||
decoration: BoxDecoration(
|
||||
color: UiColors.white.withValues(alpha: 0.8), // White with 0.8 alpha
|
||||
border: const Border(
|
||||
bottom: BorderSide(color: UiColors.separatorSecondary),
|
||||
),
|
||||
),
|
||||
@@ -122,7 +122,7 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
IconButton(
|
||||
icon: const Icon(
|
||||
UiIcons.chevronLeft,
|
||||
size: 20,
|
||||
size: UiConstants.iconMd,
|
||||
color: UiColors.iconSecondary,
|
||||
),
|
||||
onPressed: () => BlocProvider.of<ViewOrdersCubit>(
|
||||
@@ -130,7 +130,7 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
).updateWeekOffset(-1),
|
||||
padding: EdgeInsets.zero,
|
||||
constraints: const BoxConstraints(),
|
||||
splashRadius: 20,
|
||||
splashRadius: UiConstants.iconMd,
|
||||
),
|
||||
Text(
|
||||
DateFormat('MMMM yyyy').format(calendarDays.first),
|
||||
@@ -141,7 +141,7 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
IconButton(
|
||||
icon: const Icon(
|
||||
UiIcons.chevronRight,
|
||||
size: 20,
|
||||
size: UiConstants.iconMd,
|
||||
color: UiColors.iconSecondary,
|
||||
),
|
||||
onPressed: () => BlocProvider.of<ViewOrdersCubit>(
|
||||
@@ -149,7 +149,7 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
).updateWeekOffset(1),
|
||||
padding: EdgeInsets.zero,
|
||||
constraints: const BoxConstraints(),
|
||||
splashRadius: 20,
|
||||
splashRadius: UiConstants.iconMd,
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -157,7 +157,7 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
|
||||
// Calendar Grid
|
||||
SizedBox(
|
||||
height: 72,
|
||||
height: UiConstants.space14 + UiConstants.space4,
|
||||
child: ListView.separated(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: UiConstants.space5,
|
||||
@@ -196,10 +196,10 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
).selectDate(date),
|
||||
child: AnimatedContainer(
|
||||
duration: const Duration(milliseconds: 200),
|
||||
width: 48,
|
||||
width: UiConstants.space12,
|
||||
decoration: BoxDecoration(
|
||||
color: isSelected ? UiColors.primary : UiColors.white,
|
||||
borderRadius: BorderRadius.circular(16),
|
||||
borderRadius: UiConstants.radiusLg,
|
||||
border: Border.all(
|
||||
color: isSelected
|
||||
? UiColors.primary
|
||||
@@ -212,7 +212,7 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
alpha: 0.25,
|
||||
),
|
||||
blurRadius: 12,
|
||||
offset: const Offset(0, 4),
|
||||
offset: const Offset(0, UiConstants.space1),
|
||||
),
|
||||
]
|
||||
: null,
|
||||
@@ -222,8 +222,8 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
children: <Widget>[
|
||||
Text(
|
||||
DateFormat('dd').format(date),
|
||||
style: UiTypography.title2b.copyWith(
|
||||
fontSize: 18,
|
||||
style: UiTypography.title1m.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
color: isSelected
|
||||
? UiColors.white
|
||||
: UiColors.textPrimary,
|
||||
@@ -240,8 +240,8 @@ class ViewOrdersHeader extends StatelessWidget {
|
||||
if (hasShifts) ...<Widget>[
|
||||
const SizedBox(height: UiConstants.space1),
|
||||
Container(
|
||||
width: 6,
|
||||
height: 6,
|
||||
width: UiConstants.space1 + 2,
|
||||
height: UiConstants.space1 + 2,
|
||||
decoration: BoxDecoration(
|
||||
color: isSelected
|
||||
? UiColors.white
|
||||
|
||||
@@ -28,7 +28,6 @@ dependencies:
|
||||
krow_data_connect:
|
||||
path: ../../../data_connect
|
||||
# UI
|
||||
lucide_icons: ^0.257.0
|
||||
intl: ^0.20.1
|
||||
url_launcher: ^6.3.1
|
||||
firebase_data_connect: ^0.2.2+2
|
||||
|
||||
Reference in New Issue
Block a user