From 62eb15b27f43c8c159673241628163b692f716cc Mon Sep 17 00:00:00 2001 From: efrilm Date: Mon, 18 Aug 2025 13:33:45 +0700 Subject: [PATCH] feat: change name transaction to order --- lib/presentation/pages/main/main_page.dart | 2 +- .../pages/main/widgets/bottom_navbar.dart | 4 +- .../order_page.dart} | 17 ++-- .../widgets/order_tile.dart} | 4 +- .../widgets/status_tile.dart | 4 +- .../pages/transaction/widgets/appbar.dart | 97 ------------------- lib/presentation/router/app_router.dart | 2 +- lib/presentation/router/app_router.gr.dart | 76 +++++++-------- 8 files changed, 54 insertions(+), 152 deletions(-) rename lib/presentation/pages/{transaction/transaction_page.dart => order/order_page.dart} (94%) rename lib/presentation/pages/{transaction/widgets/transaction_tile.dart => order/widgets/order_tile.dart} (99%) rename lib/presentation/pages/{transaction => order}/widgets/status_tile.dart (92%) delete mode 100644 lib/presentation/pages/transaction/widgets/appbar.dart diff --git a/lib/presentation/pages/main/main_page.dart b/lib/presentation/pages/main/main_page.dart index 6232fc7..f180061 100644 --- a/lib/presentation/pages/main/main_page.dart +++ b/lib/presentation/pages/main/main_page.dart @@ -11,7 +11,7 @@ class MainPage extends StatelessWidget { @override Widget build(BuildContext context) { return AutoTabsRouter.pageView( - routes: [HomeRoute(), TransactionRoute(), ReportRoute(), ProfileRoute()], + routes: [HomeRoute(), OrderRoute(), ReportRoute(), ProfileRoute()], physics: const NeverScrollableScrollPhysics(), builder: (context, child, pageController) { final tabsRouter = AutoTabsRouter.of(context); diff --git a/lib/presentation/pages/main/widgets/bottom_navbar.dart b/lib/presentation/pages/main/widgets/bottom_navbar.dart index 03c216c..8ea33ff 100644 --- a/lib/presentation/pages/main/widgets/bottom_navbar.dart +++ b/lib/presentation/pages/main/widgets/bottom_navbar.dart @@ -33,8 +33,8 @@ class _MainBottomNavbarState extends State { ), BottomNavigationBarItem( icon: LineIcon(LineIcons.moneyBill), - label: context.lang.transaction, - tooltip: context.lang.transaction, + label: 'Order', + tooltip: 'Order', ), BottomNavigationBarItem( icon: LineIcon(LineIcons.barChart), diff --git a/lib/presentation/pages/transaction/transaction_page.dart b/lib/presentation/pages/order/order_page.dart similarity index 94% rename from lib/presentation/pages/transaction/transaction_page.dart rename to lib/presentation/pages/order/order_page.dart index f9ce760..5d65e02 100644 --- a/lib/presentation/pages/transaction/transaction_page.dart +++ b/lib/presentation/pages/order/order_page.dart @@ -7,18 +7,17 @@ import '../../components/appbar/appbar.dart'; import '../../components/button/button.dart'; import '../../components/spacer/spacer.dart'; import 'widgets/status_tile.dart'; -import 'widgets/transaction_tile.dart'; +import 'widgets/order_tile.dart'; @RoutePage() -class TransactionPage extends StatefulWidget { - const TransactionPage({super.key}); +class OrderPage extends StatefulWidget { + const OrderPage({super.key}); @override - State createState() => _TransactionPageState(); + State createState() => _OrderPageState(); } -class _TransactionPageState extends State - with TickerProviderStateMixin { +class _OrderPageState extends State with TickerProviderStateMixin { late AnimationController _fadeController; late AnimationController _slideController; late Animation _fadeAnimation; @@ -139,7 +138,7 @@ class _TransactionPageState extends State pinned: true, backgroundColor: AppColor.primary, centerTitle: false, - flexibleSpace: CustomAppBar(title: 'Transaction', isBack: false), + flexibleSpace: CustomAppBar(title: 'Order', isBack: false), actions: [ ActionIconButton(onTap: () {}, icon: LineIcons.filter), SpaceWidth(8), @@ -170,7 +169,7 @@ class _TransactionPageState extends State padding: EdgeInsets.only( right: index < filterOptions.length - 1 ? 8 : 0, ), - child: TransactionStatusTile( + child: OrderStatusTile( label: option, isSelected: option == selectedFilter, onSelected: (isSelected) { @@ -249,7 +248,7 @@ class _TransactionPageState extends State children: filteredTransactions.map(( transaction, ) { - return TransactionTile( + return OrderTile( transaction: transaction, onTap: () {}, ); diff --git a/lib/presentation/pages/transaction/widgets/transaction_tile.dart b/lib/presentation/pages/order/widgets/order_tile.dart similarity index 99% rename from lib/presentation/pages/transaction/widgets/transaction_tile.dart rename to lib/presentation/pages/order/widgets/order_tile.dart index 2e8923e..f4e9a6a 100644 --- a/lib/presentation/pages/transaction/widgets/transaction_tile.dart +++ b/lib/presentation/pages/order/widgets/order_tile.dart @@ -28,13 +28,13 @@ class Transaction { enum TransactionStatus { completed, pending, cancelled, refunded } -class TransactionTile extends StatelessWidget { +class OrderTile extends StatelessWidget { final Transaction transaction; final VoidCallback? onTap; final VoidCallback? onPrint; final VoidCallback? onRefund; - const TransactionTile({ + const OrderTile({ super.key, required this.transaction, this.onTap, diff --git a/lib/presentation/pages/transaction/widgets/status_tile.dart b/lib/presentation/pages/order/widgets/status_tile.dart similarity index 92% rename from lib/presentation/pages/transaction/widgets/status_tile.dart rename to lib/presentation/pages/order/widgets/status_tile.dart index 11757fe..e373de7 100644 --- a/lib/presentation/pages/transaction/widgets/status_tile.dart +++ b/lib/presentation/pages/order/widgets/status_tile.dart @@ -2,11 +2,11 @@ import 'package:flutter/material.dart'; import '../../../../common/theme/theme.dart'; -class TransactionStatusTile extends StatelessWidget { +class OrderStatusTile extends StatelessWidget { final String label; final bool isSelected; final void Function(bool)? onSelected; - const TransactionStatusTile({ + const OrderStatusTile({ super.key, required this.label, this.isSelected = false, diff --git a/lib/presentation/pages/transaction/widgets/appbar.dart b/lib/presentation/pages/transaction/widgets/appbar.dart deleted file mode 100644 index d868958..0000000 --- a/lib/presentation/pages/transaction/widgets/appbar.dart +++ /dev/null @@ -1,97 +0,0 @@ -import 'package:flutter/material.dart'; - -import '../../../../common/theme/theme.dart'; - -class TransactionAppBar extends StatelessWidget { - final Animation rotationAnimation; - const TransactionAppBar({super.key, required this.rotationAnimation}); - - @override - Widget build(BuildContext context) { - return FlexibleSpaceBar( - titlePadding: const EdgeInsets.only(left: 20, bottom: 16), - title: Text( - 'Transaksi', - style: AppStyle.xl.copyWith( - color: AppColor.textWhite, - fontSize: 18, - fontWeight: FontWeight.w600, - ), - ), - - background: Container( - decoration: const BoxDecoration( - gradient: LinearGradient( - colors: AppColor.primaryGradient, - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - ), - ), - child: Stack( - children: [ - Positioned( - right: -20, - top: -20, - child: AnimatedBuilder( - animation: rotationAnimation, - builder: (context, child) { - return Transform.rotate( - angle: rotationAnimation.value, - child: Container( - width: 100, - height: 100, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: AppColor.white.withOpacity(0.1), - ), - ), - ); - }, - ), - ), - Positioned( - left: -30, - bottom: -30, - child: AnimatedBuilder( - animation: rotationAnimation, - builder: (context, child) { - return Transform.rotate( - angle: -rotationAnimation.value * 0.5, - child: Container( - width: 80, - height: 80, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: AppColor.white.withOpacity(0.05), - ), - ), - ); - }, - ), - ), - Positioned( - right: 80, - bottom: 30, - child: AnimatedBuilder( - animation: rotationAnimation, - builder: (context, child) { - return Transform.rotate( - angle: -rotationAnimation.value * 0.2, - child: Container( - width: 40, - height: 40, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(8), - color: AppColor.white.withOpacity(0.08), - ), - ), - ); - }, - ), - ), - ], - ), - ), - ); - } -} diff --git a/lib/presentation/router/app_router.dart b/lib/presentation/router/app_router.dart index 4cdcb3c..8a0c267 100644 --- a/lib/presentation/router/app_router.dart +++ b/lib/presentation/router/app_router.dart @@ -16,7 +16,7 @@ class AppRouter extends RootStackRouter { page: MainRoute.page, children: [ AutoRoute(page: HomeRoute.page), - AutoRoute(page: TransactionRoute.page), + AutoRoute(page: OrderRoute.page), AutoRoute(page: ReportRoute.page), AutoRoute(page: ProfileRoute.page), ], diff --git a/lib/presentation/router/app_router.gr.dart b/lib/presentation/router/app_router.gr.dart index 24eb8f6..8c9e144 100644 --- a/lib/presentation/router/app_router.gr.dart +++ b/lib/presentation/router/app_router.gr.dart @@ -27,21 +27,21 @@ import 'package:apskel_owner_flutter/presentation/pages/language/language_page.d as _i7; import 'package:apskel_owner_flutter/presentation/pages/main/main_page.dart' as _i9; -import 'package:apskel_owner_flutter/presentation/pages/product/product_list/product_page.dart' +import 'package:apskel_owner_flutter/presentation/pages/order/order_page.dart' as _i10; -import 'package:apskel_owner_flutter/presentation/pages/profile/profile_page.dart' +import 'package:apskel_owner_flutter/presentation/pages/product/product_list/product_page.dart' as _i11; -import 'package:apskel_owner_flutter/presentation/pages/purchase/purchase_page.dart' +import 'package:apskel_owner_flutter/presentation/pages/profile/profile_page.dart' as _i12; -import 'package:apskel_owner_flutter/presentation/pages/report/report_page.dart' +import 'package:apskel_owner_flutter/presentation/pages/purchase/purchase_page.dart' as _i13; -import 'package:apskel_owner_flutter/presentation/pages/sales/sales_page.dart' +import 'package:apskel_owner_flutter/presentation/pages/report/report_page.dart' as _i14; -import 'package:apskel_owner_flutter/presentation/pages/schedule/schedule_page.dart' +import 'package:apskel_owner_flutter/presentation/pages/sales/sales_page.dart' as _i15; -import 'package:apskel_owner_flutter/presentation/pages/splash/splash_page.dart' +import 'package:apskel_owner_flutter/presentation/pages/schedule/schedule_page.dart' as _i16; -import 'package:apskel_owner_flutter/presentation/pages/transaction/transaction_page.dart' +import 'package:apskel_owner_flutter/presentation/pages/splash/splash_page.dart' as _i17; import 'package:auto_route/auto_route.dart' as _i18; import 'package:flutter/material.dart' as _i19; @@ -253,7 +253,23 @@ class MainRoute extends _i18.PageRouteInfo { } /// generated route for -/// [_i10.ProductPage] +/// [_i10.OrderPage] +class OrderRoute extends _i18.PageRouteInfo { + const OrderRoute({List<_i18.PageRouteInfo>? children}) + : super(OrderRoute.name, initialChildren: children); + + static const String name = 'OrderRoute'; + + static _i18.PageInfo page = _i18.PageInfo( + name, + builder: (data) { + return const _i10.OrderPage(); + }, + ); +} + +/// generated route for +/// [_i11.ProductPage] class ProductRoute extends _i18.PageRouteInfo { const ProductRoute({List<_i18.PageRouteInfo>? children}) : super(ProductRoute.name, initialChildren: children); @@ -263,13 +279,13 @@ class ProductRoute extends _i18.PageRouteInfo { static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i18.WrappedRoute(child: const _i10.ProductPage()); + return _i18.WrappedRoute(child: const _i11.ProductPage()); }, ); } /// generated route for -/// [_i11.ProfilePage] +/// [_i12.ProfilePage] class ProfileRoute extends _i18.PageRouteInfo { const ProfileRoute({List<_i18.PageRouteInfo>? children}) : super(ProfileRoute.name, initialChildren: children); @@ -279,13 +295,13 @@ class ProfileRoute extends _i18.PageRouteInfo { static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i18.WrappedRoute(child: const _i11.ProfilePage()); + return _i18.WrappedRoute(child: const _i12.ProfilePage()); }, ); } /// generated route for -/// [_i12.PurchasePage] +/// [_i13.PurchasePage] class PurchaseRoute extends _i18.PageRouteInfo { const PurchaseRoute({List<_i18.PageRouteInfo>? children}) : super(PurchaseRoute.name, initialChildren: children); @@ -295,13 +311,13 @@ class PurchaseRoute extends _i18.PageRouteInfo { static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return const _i12.PurchasePage(); + return const _i13.PurchasePage(); }, ); } /// generated route for -/// [_i13.ReportPage] +/// [_i14.ReportPage] class ReportRoute extends _i18.PageRouteInfo { const ReportRoute({List<_i18.PageRouteInfo>? children}) : super(ReportRoute.name, initialChildren: children); @@ -311,13 +327,13 @@ class ReportRoute extends _i18.PageRouteInfo { static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i18.WrappedRoute(child: const _i13.ReportPage()); + return _i18.WrappedRoute(child: const _i14.ReportPage()); }, ); } /// generated route for -/// [_i14.SalesPage] +/// [_i15.SalesPage] class SalesRoute extends _i18.PageRouteInfo { const SalesRoute({List<_i18.PageRouteInfo>? children}) : super(SalesRoute.name, initialChildren: children); @@ -327,13 +343,13 @@ class SalesRoute extends _i18.PageRouteInfo { static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i18.WrappedRoute(child: const _i14.SalesPage()); + return _i18.WrappedRoute(child: const _i15.SalesPage()); }, ); } /// generated route for -/// [_i15.SchedulePage] +/// [_i16.SchedulePage] class ScheduleRoute extends _i18.PageRouteInfo { const ScheduleRoute({List<_i18.PageRouteInfo>? children}) : super(ScheduleRoute.name, initialChildren: children); @@ -343,13 +359,13 @@ class ScheduleRoute extends _i18.PageRouteInfo { static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return const _i15.SchedulePage(); + return const _i16.SchedulePage(); }, ); } /// generated route for -/// [_i16.SplashPage] +/// [_i17.SplashPage] class SplashRoute extends _i18.PageRouteInfo { const SplashRoute({List<_i18.PageRouteInfo>? children}) : super(SplashRoute.name, initialChildren: children); @@ -359,23 +375,7 @@ class SplashRoute extends _i18.PageRouteInfo { static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return const _i16.SplashPage(); - }, - ); -} - -/// generated route for -/// [_i17.TransactionPage] -class TransactionRoute extends _i18.PageRouteInfo { - const TransactionRoute({List<_i18.PageRouteInfo>? children}) - : super(TransactionRoute.name, initialChildren: children); - - static const String name = 'TransactionRoute'; - - static _i18.PageInfo page = _i18.PageInfo( - name, - builder: (data) { - return const _i17.TransactionPage(); + return const _i17.SplashPage(); }, ); }