100 lines
3.4 KiB
Dart
Raw Normal View History

2025-08-13 12:55:27 +07:00
import 'package:auto_route/auto_route.dart';
2025-08-12 20:44:27 +07:00
import 'package:flutter/material.dart';
import 'package:line_icons/line_icons.dart';
2025-08-20 13:52:49 +07:00
import '../../../../common/extension/extension.dart';
2025-08-12 20:44:27 +07:00
import '../../../../common/theme/theme.dart';
2025-08-13 12:55:27 +07:00
import '../../../router/app_router.gr.dart';
2025-08-12 20:44:27 +07:00
import 'feature_tile.dart';
class HomeFeature extends StatelessWidget {
const HomeFeature({super.key});
@override
Widget build(BuildContext context) {
return Container(
margin: const EdgeInsets.symmetric(
vertical: 24,
horizontal: AppValue.padding,
).copyWith(bottom: 0),
padding: const EdgeInsets.symmetric(vertical: 16, horizontal: 10),
decoration: BoxDecoration(
color: AppColor.white,
borderRadius: BorderRadius.circular(AppValue.radius),
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.04),
blurRadius: 10,
offset: const Offset(0, 5),
spreadRadius: 0,
),
],
),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
HomeFeatureTile(
2025-08-20 13:52:49 +07:00
title: context.lang.sales,
2025-08-12 20:44:27 +07:00
color: const Color(0xFF4CAF50),
icon: LineIcons.receipt,
2025-08-15 18:28:13 +07:00
onTap: () => context.router.push(SalesRoute()),
2025-08-12 20:44:27 +07:00
),
HomeFeatureTile(
2025-08-20 13:52:49 +07:00
title: context.lang.purchase,
2025-08-12 20:44:27 +07:00
color: const Color(0xFF2196F3),
icon: LineIcons.shoppingCart,
2025-08-15 23:06:47 +07:00
onTap: () => context.router.push(PurchaseRoute()),
2025-08-12 20:44:27 +07:00
),
HomeFeatureTile(
2025-08-20 13:52:49 +07:00
title: context.lang.finance,
2025-08-12 20:44:27 +07:00
color: const Color(0xFF8BC34A),
icon: LineIcons.moneyCheck,
2025-08-15 23:53:05 +07:00
onTap: () => context.router.push(FinanceRoute()),
2025-08-12 20:44:27 +07:00
),
HomeFeatureTile(
2025-08-20 13:52:49 +07:00
title: context.lang.product,
2025-08-12 20:44:27 +07:00
color: const Color(0xFFFF9800),
icon: LineIcons.box,
2025-08-18 16:05:59 +07:00
onTap: () => context.router.push(ProductAnalyticRoute()),
2025-08-12 20:44:27 +07:00
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
HomeFeatureTile(
2025-08-20 13:52:49 +07:00
title: context.lang.form,
2025-08-12 20:44:27 +07:00
color: const Color(0xFFE91E63),
2025-08-13 12:55:27 +07:00
icon: LineIcons.fileAlt,
onTap: () => context.router.push(DailyTasksFormRoute()),
2025-08-12 20:44:27 +07:00
),
HomeFeatureTile(
2025-08-20 13:52:49 +07:00
title: context.lang.schedule,
2025-08-12 20:44:27 +07:00
color: const Color(0xFF9C27B0),
2025-08-13 12:55:27 +07:00
icon: LineIcons.calendar,
2025-08-13 13:55:34 +07:00
onTap: () => context.router.push(ScheduleRoute()),
2025-08-12 20:44:27 +07:00
),
HomeFeatureTile(
2025-08-20 13:52:49 +07:00
title: context.lang.inventory,
2025-08-12 20:44:27 +07:00
color: const Color(0xFF00BCD4),
2025-08-15 16:31:29 +07:00
icon: LineIcons.archive,
2025-08-15 18:02:09 +07:00
onTap: () => context.router.push(InventoryRoute()),
2025-08-12 20:44:27 +07:00
),
HomeFeatureTile(
2025-08-20 13:52:49 +07:00
title: context.lang.customer,
2025-08-12 20:44:27 +07:00
color: const Color(0xFFFF5722),
icon: LineIcons.userPlus,
2025-08-15 16:31:29 +07:00
onTap: () => context.router.push(CustomerRoute()),
2025-08-12 20:44:27 +07:00
),
],
),
],
),
);
}
}