diff --git a/lib/presentation/pages/poin/pages/poin_history_page.dart b/lib/presentation/pages/poin/pages/poin_history_page.dart new file mode 100644 index 0000000..391d30c --- /dev/null +++ b/lib/presentation/pages/poin/pages/poin_history_page.dart @@ -0,0 +1,388 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; + +import '../../../../common/theme/theme.dart'; + +// Models +enum TransactionType { + all('Semua'), + redeemed('Poin Ditukar'), + earned('Poin Didapat'), + refunded('Poin Dikembalikan'), + bonus('Bonus Poin'); + + const TransactionType(this.label); + final String label; +} + +class PointTransaction { + final String id; + final String title; + final String category; + final String source; + final int points; + final TransactionType type; + final DateTime date; + final String? productImage; + + PointTransaction({ + required this.id, + required this.title, + required this.category, + required this.source, + required this.points, + required this.type, + required this.date, + this.productImage, + }); + + bool get isPositive => + type == TransactionType.earned || + type == TransactionType.refunded || + type == TransactionType.bonus; +} + +@RoutePage() +class PoinHistoryPage extends StatefulWidget { + const PoinHistoryPage({super.key}); + + @override + State createState() => _PoinHistoryPageState(); +} + +class _PoinHistoryPageState extends State { + TransactionType selectedFilter = TransactionType.all; + + // Sample transaction data + final List allTransactions = [ + PointTransaction( + id: "t1", + title: "Es Teh Manis", + category: "Minuman", + source: "Penukaran Voucher", + points: -1500, + type: TransactionType.redeemed, + date: DateTime.now().subtract(Duration(hours: 2)), + productImage: "🧊", + ), + PointTransaction( + id: "t2", + title: "Nasi Gudeg", + category: "Makanan", + source: "Transaksi Pembelian", + points: 400, + type: TransactionType.earned, + date: DateTime.now().subtract(Duration(days: 1)), + productImage: "🍛", + ), + PointTransaction( + id: "t3", + title: "Member Emas", + category: "Membership", + source: "Bonus Bulanan", + points: 2000, + type: TransactionType.bonus, + date: DateTime.now().subtract(Duration(days: 2)), + productImage: "🎁", + ), + PointTransaction( + id: "t4", + title: "Kopi Susu", + category: "Minuman", + source: "Pembatalan Pesanan", + points: 2000, + type: TransactionType.refunded, + date: DateTime.now().subtract(Duration(days: 3)), + productImage: "☕", + ), + PointTransaction( + id: "t5", + title: "Diskon 50%", + category: "Voucher", + source: "Penukaran Voucher", + points: -5000, + type: TransactionType.redeemed, + date: DateTime.now().subtract(Duration(days: 5)), + productImage: "🏷️", + ), + PointTransaction( + id: "t6", + title: "Gado-gado", + category: "Makanan", + source: "Transaksi Pembelian", + points: 350, + type: TransactionType.earned, + date: DateTime.now().subtract(Duration(days: 7)), + productImage: "🥗", + ), + PointTransaction( + id: "t7", + title: "Hari Kemerdekaan", + category: "Event", + source: "Bonus Special", + points: 1700, + type: TransactionType.bonus, + date: DateTime.now().subtract(Duration(days: 12)), + productImage: "🇮🇩", + ), + PointTransaction( + id: "t8", + title: "Keripik Singkong", + category: "Cemilan", + source: "Penukaran Voucher", + points: -1000, + type: TransactionType.redeemed, + date: DateTime.now().subtract(Duration(days: 14)), + productImage: "🥔", + ), + PointTransaction( + id: "t9", + title: "Review Produk", + category: "Aktivitas", + source: "Bonus Review", + points: 500, + type: TransactionType.bonus, + date: DateTime.now().subtract(Duration(days: 20)), + productImage: "⭐", + ), + PointTransaction( + id: "t10", + title: "Bakso", + category: "Makanan", + source: "Pembatalan Pesanan", + points: 3000, + type: TransactionType.refunded, + date: DateTime.now().subtract(Duration(days: 25)), + productImage: "🍲", + ), + ]; + + List get filteredTransactions { + if (selectedFilter == TransactionType.all) { + return allTransactions; + } + return allTransactions.where((t) => t.type == selectedFilter).toList(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColor.white, + appBar: AppBar( + title: Text("Riwayat Poin"), + centerTitle: true, + elevation: 0, + ), + body: Column( + children: [ + _buildFilterChips(), + Expanded(child: _buildTransactionList()), + ], + ), + ); + } + + Widget _buildFilterChips() { + return Container( + padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: TransactionType.values.map((type) { + final isSelected = selectedFilter == type; + return Container( + margin: EdgeInsets.only(right: 8), + child: FilterChip( + selected: isSelected, + label: Text(type.label), + onSelected: (selected) { + setState(() { + selectedFilter = type; + }); + }, + backgroundColor: AppColor.white, + selectedColor: AppColor.primary, + checkmarkColor: AppColor.white, + labelStyle: AppStyle.sm.copyWith( + color: isSelected ? AppColor.white : AppColor.textSecondary, + fontWeight: FontWeight.w500, + ), + side: BorderSide( + color: isSelected ? AppColor.primary : AppColor.border, + width: 1, + ), + elevation: 0, + pressElevation: 1, + ), + ); + }).toList(), + ), + ), + ); + } + + Widget _buildTransactionList() { + final transactions = filteredTransactions; + + if (transactions.isEmpty) { + return _buildEmptyState(); + } + + return ListView.builder( + padding: EdgeInsets.all(16), + itemCount: transactions.length, + itemBuilder: (context, index) { + final transaction = transactions[index]; + return _buildTransactionCard(transaction); + }, + ); + } + + Widget _buildEmptyState() { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + padding: EdgeInsets.all(24), + decoration: BoxDecoration( + color: AppColor.backgroundLight, + shape: BoxShape.circle, + ), + child: Icon( + Icons.history_outlined, + size: 48, + color: AppColor.textLight, + ), + ), + SizedBox(height: 16), + Text( + "Belum Ada Transaksi", + style: AppStyle.lg.copyWith( + fontWeight: FontWeight.w600, + color: AppColor.textSecondary, + ), + ), + SizedBox(height: 8), + Text( + "Transaksi ${selectedFilter.label.toLowerCase()}\nbelum tersedia", + style: AppStyle.sm.copyWith(color: AppColor.textLight), + textAlign: TextAlign.center, + ), + ], + ), + ); + } + + Widget _buildTransactionCard(PointTransaction transaction) { + final isPositive = transaction.isPositive; + final formattedDate = _formatDate(transaction.date); + + return Container( + margin: EdgeInsets.only(bottom: 16), + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColor.white, + border: Border(bottom: BorderSide(color: AppColor.border, width: 1)), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Category label + Text( + "Poin Didapat", + style: AppStyle.xs.copyWith( + color: AppColor.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + + SizedBox(height: 8), + + // Title and Points Row + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Text( + transaction.title, + style: AppStyle.lg.copyWith( + fontWeight: FontWeight.w700, + color: AppColor.textPrimary, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ), + SizedBox(width: 12), + Row( + children: [ + // Green circle icon + Container( + width: 20, + height: 20, + decoration: BoxDecoration( + color: isPositive ? Color(0xFF10B981) : AppColor.error, + shape: BoxShape.circle, + ), + child: Icon(Icons.add, color: Colors.white, size: 14), + ), + SizedBox(width: 6), + Text( + "${isPositive ? '+' : ''}${transaction.points} Poin", + style: AppStyle.md.copyWith( + fontWeight: FontWeight.w700, + color: isPositive ? Color(0xFF10B981) : AppColor.error, + ), + ), + ], + ), + ], + ), + + SizedBox(height: 12), + + // Date + Text( + formattedDate, + style: AppStyle.sm.copyWith(color: AppColor.textSecondary), + ), + ], + ), + ); + } + + String _formatDate(DateTime date) { + final now = DateTime.now(); + final difference = now.difference(date); + + if (difference.inDays == 0) { + if (difference.inHours == 0) { + return "${difference.inMinutes} menit lalu"; + } + return "${difference.inHours} jam lalu"; + } else if (difference.inDays == 1) { + return "Kemarin"; + } else if (difference.inDays < 7) { + return "${difference.inDays} hari lalu"; + } else { + final months = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'Mei', + 'Jun', + 'Jul', + 'Ags', + 'Sep', + 'Okt', + 'Nov', + 'Des', + ]; + + return "${date.day} ${months[date.month - 1]} ${date.year}"; + } + } +} diff --git a/lib/presentation/pages/poin/poin_page.dart b/lib/presentation/pages/poin/poin_page.dart index 5df1beb..035da8c 100644 --- a/lib/presentation/pages/poin/poin_page.dart +++ b/lib/presentation/pages/poin/poin_page.dart @@ -268,6 +268,12 @@ class _PoinPageState extends State { floating: false, pinned: true, // Made sticky snap: false, + actions: [ + IconButton( + icon: Icon(Icons.history), + onPressed: () => context.router.push(PoinHistoryRoute()), + ), + ], ), // Point Card Section diff --git a/lib/presentation/router/app_router.dart b/lib/presentation/router/app_router.dart index 479a485..43364cd 100644 --- a/lib/presentation/router/app_router.dart +++ b/lib/presentation/router/app_router.dart @@ -36,6 +36,7 @@ class AppRouter extends RootStackRouter { // Point AutoRoute(page: PoinRoute.page), + AutoRoute(page: PoinHistoryRoute.page), AutoRoute(page: ProductRedeemRoute.page), // Draw diff --git a/lib/presentation/router/app_router.gr.dart b/lib/presentation/router/app_router.gr.dart index 7f9c5f9..b15acc9 100644 --- a/lib/presentation/router/app_router.gr.dart +++ b/lib/presentation/router/app_router.gr.dart @@ -9,7 +9,7 @@ // coverage:ignore-file // ignore_for_file: no_leading_underscores_for_library_prefixes -import 'package:auto_route/auto_route.dart' as _i23; +import 'package:auto_route/auto_route.dart' as _i24; import 'package:enaklo/presentation/pages/auth/create_password/create_password_page.dart' as _i1; import 'package:enaklo/presentation/pages/auth/login/login_page.dart' as _i5; @@ -18,7 +18,7 @@ import 'package:enaklo/presentation/pages/auth/password/password_page.dart' as _i14; import 'package:enaklo/presentation/pages/auth/pin/pin_page.dart' as _i15; import 'package:enaklo/presentation/pages/auth/register/register_page.dart' - as _i19; + as _i20; import 'package:enaklo/presentation/pages/draw/draw_page.dart' as _i3; import 'package:enaklo/presentation/pages/draw/pages/draw_detail/draw_detail_page.dart' as _i2; @@ -28,9 +28,9 @@ import 'package:enaklo/presentation/pages/main/pages/home/home_page.dart' import 'package:enaklo/presentation/pages/main/pages/order/order_page.dart' as _i12; import 'package:enaklo/presentation/pages/main/pages/profile/profile_page.dart' - as _i18; + as _i19; import 'package:enaklo/presentation/pages/main/pages/voucher/voucher_page.dart' - as _i22; + as _i23; import 'package:enaklo/presentation/pages/merchant/merchant_page.dart' as _i8; import 'package:enaklo/presentation/pages/merchant/pages/merchant_detail/merchant_detail_page.dart' as _i7; @@ -40,23 +40,25 @@ import 'package:enaklo/presentation/pages/onboarding/onboarding_page.dart' as _i10; import 'package:enaklo/presentation/pages/order/order_detail/order_detail_page.dart' as _i11; +import 'package:enaklo/presentation/pages/poin/pages/poin_history_page.dart' + as _i16; import 'package:enaklo/presentation/pages/poin/pages/product_redeem/product_redeem_page.dart' - as _i17; -import 'package:enaklo/presentation/pages/poin/poin_page.dart' as _i16; -import 'package:enaklo/presentation/pages/splash/splash_page.dart' as _i20; + as _i18; +import 'package:enaklo/presentation/pages/poin/poin_page.dart' as _i17; +import 'package:enaklo/presentation/pages/splash/splash_page.dart' as _i21; import 'package:enaklo/presentation/pages/voucher/voucher_detail/voucher_detail_page.dart' - as _i21; -import 'package:flutter/material.dart' as _i24; + as _i22; +import 'package:flutter/material.dart' as _i25; /// generated route for /// [_i1.CreatePasswordPage] -class CreatePasswordRoute extends _i23.PageRouteInfo { - const CreatePasswordRoute({List<_i23.PageRouteInfo>? children}) +class CreatePasswordRoute extends _i24.PageRouteInfo { + const CreatePasswordRoute({List<_i24.PageRouteInfo>? children}) : super(CreatePasswordRoute.name, initialChildren: children); static const String name = 'CreatePasswordRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i1.CreatePasswordPage(); @@ -66,11 +68,11 @@ class CreatePasswordRoute extends _i23.PageRouteInfo { /// generated route for /// [_i2.DrawDetailPage] -class DrawDetailRoute extends _i23.PageRouteInfo { +class DrawDetailRoute extends _i24.PageRouteInfo { DrawDetailRoute({ - _i24.Key? key, + _i25.Key? key, required _i3.DrawEvent drawEvent, - List<_i23.PageRouteInfo>? children, + List<_i24.PageRouteInfo>? children, }) : super( DrawDetailRoute.name, args: DrawDetailRouteArgs(key: key, drawEvent: drawEvent), @@ -79,7 +81,7 @@ class DrawDetailRoute extends _i23.PageRouteInfo { static const String name = 'DrawDetailRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { final args = data.argsAs(); @@ -91,7 +93,7 @@ class DrawDetailRoute extends _i23.PageRouteInfo { class DrawDetailRouteArgs { const DrawDetailRouteArgs({this.key, required this.drawEvent}); - final _i24.Key? key; + final _i25.Key? key; final _i3.DrawEvent drawEvent; @@ -103,13 +105,13 @@ class DrawDetailRouteArgs { /// generated route for /// [_i3.DrawPage] -class DrawRoute extends _i23.PageRouteInfo { - const DrawRoute({List<_i23.PageRouteInfo>? children}) +class DrawRoute extends _i24.PageRouteInfo { + const DrawRoute({List<_i24.PageRouteInfo>? children}) : super(DrawRoute.name, initialChildren: children); static const String name = 'DrawRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i3.DrawPage(); @@ -119,13 +121,13 @@ class DrawRoute extends _i23.PageRouteInfo { /// generated route for /// [_i4.HomePage] -class HomeRoute extends _i23.PageRouteInfo { - const HomeRoute({List<_i23.PageRouteInfo>? children}) +class HomeRoute extends _i24.PageRouteInfo { + const HomeRoute({List<_i24.PageRouteInfo>? children}) : super(HomeRoute.name, initialChildren: children); static const String name = 'HomeRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i4.HomePage(); @@ -135,13 +137,13 @@ class HomeRoute extends _i23.PageRouteInfo { /// generated route for /// [_i5.LoginPage] -class LoginRoute extends _i23.PageRouteInfo { - const LoginRoute({List<_i23.PageRouteInfo>? children}) +class LoginRoute extends _i24.PageRouteInfo { + const LoginRoute({List<_i24.PageRouteInfo>? children}) : super(LoginRoute.name, initialChildren: children); static const String name = 'LoginRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i5.LoginPage(); @@ -151,13 +153,13 @@ class LoginRoute extends _i23.PageRouteInfo { /// generated route for /// [_i6.MainPage] -class MainRoute extends _i23.PageRouteInfo { - const MainRoute({List<_i23.PageRouteInfo>? children}) +class MainRoute extends _i24.PageRouteInfo { + const MainRoute({List<_i24.PageRouteInfo>? children}) : super(MainRoute.name, initialChildren: children); static const String name = 'MainRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i6.MainPage(); @@ -167,11 +169,11 @@ class MainRoute extends _i23.PageRouteInfo { /// generated route for /// [_i7.MerchantDetailPage] -class MerchantDetailRoute extends _i23.PageRouteInfo { +class MerchantDetailRoute extends _i24.PageRouteInfo { MerchantDetailRoute({ - _i24.Key? key, + _i25.Key? key, required _i8.MerchantModel merchant, - List<_i23.PageRouteInfo>? children, + List<_i24.PageRouteInfo>? children, }) : super( MerchantDetailRoute.name, args: MerchantDetailRouteArgs(key: key, merchant: merchant), @@ -180,7 +182,7 @@ class MerchantDetailRoute extends _i23.PageRouteInfo { static const String name = 'MerchantDetailRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { final args = data.argsAs(); @@ -192,7 +194,7 @@ class MerchantDetailRoute extends _i23.PageRouteInfo { class MerchantDetailRouteArgs { const MerchantDetailRouteArgs({this.key, required this.merchant}); - final _i24.Key? key; + final _i25.Key? key; final _i8.MerchantModel merchant; @@ -204,13 +206,13 @@ class MerchantDetailRouteArgs { /// generated route for /// [_i8.MerchantPage] -class MerchantRoute extends _i23.PageRouteInfo { - const MerchantRoute({List<_i23.PageRouteInfo>? children}) +class MerchantRoute extends _i24.PageRouteInfo { + const MerchantRoute({List<_i24.PageRouteInfo>? children}) : super(MerchantRoute.name, initialChildren: children); static const String name = 'MerchantRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i8.MerchantPage(); @@ -220,13 +222,13 @@ class MerchantRoute extends _i23.PageRouteInfo { /// generated route for /// [_i9.NotificationPage] -class NotificationRoute extends _i23.PageRouteInfo { - const NotificationRoute({List<_i23.PageRouteInfo>? children}) +class NotificationRoute extends _i24.PageRouteInfo { + const NotificationRoute({List<_i24.PageRouteInfo>? children}) : super(NotificationRoute.name, initialChildren: children); static const String name = 'NotificationRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i9.NotificationPage(); @@ -236,13 +238,13 @@ class NotificationRoute extends _i23.PageRouteInfo { /// generated route for /// [_i10.OnboardingPage] -class OnboardingRoute extends _i23.PageRouteInfo { - const OnboardingRoute({List<_i23.PageRouteInfo>? children}) +class OnboardingRoute extends _i24.PageRouteInfo { + const OnboardingRoute({List<_i24.PageRouteInfo>? children}) : super(OnboardingRoute.name, initialChildren: children); static const String name = 'OnboardingRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i10.OnboardingPage(); @@ -252,11 +254,11 @@ class OnboardingRoute extends _i23.PageRouteInfo { /// generated route for /// [_i11.OrderDetailPage] -class OrderDetailRoute extends _i23.PageRouteInfo { +class OrderDetailRoute extends _i24.PageRouteInfo { OrderDetailRoute({ - _i24.Key? key, + _i25.Key? key, required _i12.Order order, - List<_i23.PageRouteInfo>? children, + List<_i24.PageRouteInfo>? children, }) : super( OrderDetailRoute.name, args: OrderDetailRouteArgs(key: key, order: order), @@ -265,7 +267,7 @@ class OrderDetailRoute extends _i23.PageRouteInfo { static const String name = 'OrderDetailRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { final args = data.argsAs(); @@ -277,7 +279,7 @@ class OrderDetailRoute extends _i23.PageRouteInfo { class OrderDetailRouteArgs { const OrderDetailRouteArgs({this.key, required this.order}); - final _i24.Key? key; + final _i25.Key? key; final _i12.Order order; @@ -289,13 +291,13 @@ class OrderDetailRouteArgs { /// generated route for /// [_i12.OrderPage] -class OrderRoute extends _i23.PageRouteInfo { - const OrderRoute({List<_i23.PageRouteInfo>? children}) +class OrderRoute extends _i24.PageRouteInfo { + const OrderRoute({List<_i24.PageRouteInfo>? children}) : super(OrderRoute.name, initialChildren: children); static const String name = 'OrderRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i12.OrderPage(); @@ -305,13 +307,13 @@ class OrderRoute extends _i23.PageRouteInfo { /// generated route for /// [_i13.OtpPage] -class OtpRoute extends _i23.PageRouteInfo { - const OtpRoute({List<_i23.PageRouteInfo>? children}) +class OtpRoute extends _i24.PageRouteInfo { + const OtpRoute({List<_i24.PageRouteInfo>? children}) : super(OtpRoute.name, initialChildren: children); static const String name = 'OtpRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i13.OtpPage(); @@ -321,13 +323,13 @@ class OtpRoute extends _i23.PageRouteInfo { /// generated route for /// [_i14.PasswordPage] -class PasswordRoute extends _i23.PageRouteInfo { - const PasswordRoute({List<_i23.PageRouteInfo>? children}) +class PasswordRoute extends _i24.PageRouteInfo { + const PasswordRoute({List<_i24.PageRouteInfo>? children}) : super(PasswordRoute.name, initialChildren: children); static const String name = 'PasswordRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { return const _i14.PasswordPage(); @@ -337,12 +339,12 @@ class PasswordRoute extends _i23.PageRouteInfo { /// generated route for /// [_i15.PinPage] -class PinRoute extends _i23.PageRouteInfo { +class PinRoute extends _i24.PageRouteInfo { PinRoute({ - _i24.Key? key, + _i25.Key? key, bool isCreatePin = true, String? title, - List<_i23.PageRouteInfo>? children, + List<_i24.PageRouteInfo>? children, }) : super( PinRoute.name, args: PinRouteArgs(key: key, isCreatePin: isCreatePin, title: title), @@ -351,7 +353,7 @@ class PinRoute extends _i23.PageRouteInfo { static const String name = 'PinRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { final args = data.argsAs( @@ -369,7 +371,7 @@ class PinRoute extends _i23.PageRouteInfo { class PinRouteArgs { const PinRouteArgs({this.key, this.isCreatePin = true, this.title}); - final _i24.Key? key; + final _i25.Key? key; final bool isCreatePin; @@ -382,29 +384,45 @@ class PinRouteArgs { } /// generated route for -/// [_i16.PoinPage] -class PoinRoute extends _i23.PageRouteInfo { - const PoinRoute({List<_i23.PageRouteInfo>? children}) - : super(PoinRoute.name, initialChildren: children); +/// [_i16.PoinHistoryPage] +class PoinHistoryRoute extends _i24.PageRouteInfo { + const PoinHistoryRoute({List<_i24.PageRouteInfo>? children}) + : super(PoinHistoryRoute.name, initialChildren: children); - static const String name = 'PoinRoute'; + static const String name = 'PoinHistoryRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { - return const _i16.PoinPage(); + return const _i16.PoinHistoryPage(); }, ); } /// generated route for -/// [_i17.ProductRedeemPage] -class ProductRedeemRoute extends _i23.PageRouteInfo { +/// [_i17.PoinPage] +class PoinRoute extends _i24.PageRouteInfo { + const PoinRoute({List<_i24.PageRouteInfo>? children}) + : super(PoinRoute.name, initialChildren: children); + + static const String name = 'PoinRoute'; + + static _i24.PageInfo page = _i24.PageInfo( + name, + builder: (data) { + return const _i17.PoinPage(); + }, + ); +} + +/// generated route for +/// [_i18.ProductRedeemPage] +class ProductRedeemRoute extends _i24.PageRouteInfo { ProductRedeemRoute({ - _i24.Key? key, - required _i16.Product product, - required _i16.PointCard pointCard, - List<_i23.PageRouteInfo>? children, + _i25.Key? key, + required _i17.Product product, + required _i17.PointCard pointCard, + List<_i24.PageRouteInfo>? children, }) : super( ProductRedeemRoute.name, args: ProductRedeemRouteArgs( @@ -417,11 +435,11 @@ class ProductRedeemRoute extends _i23.PageRouteInfo { static const String name = 'ProductRedeemRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { final args = data.argsAs(); - return _i17.ProductRedeemPage( + return _i18.ProductRedeemPage( key: args.key, product: args.product, pointCard: args.pointCard, @@ -437,11 +455,11 @@ class ProductRedeemRouteArgs { required this.pointCard, }); - final _i24.Key? key; + final _i25.Key? key; - final _i16.Product product; + final _i17.Product product; - final _i16.PointCard pointCard; + final _i17.PointCard pointCard; @override String toString() { @@ -450,81 +468,81 @@ class ProductRedeemRouteArgs { } /// generated route for -/// [_i18.ProfilePage] -class ProfileRoute extends _i23.PageRouteInfo { - const ProfileRoute({List<_i23.PageRouteInfo>? children}) +/// [_i19.ProfilePage] +class ProfileRoute extends _i24.PageRouteInfo { + const ProfileRoute({List<_i24.PageRouteInfo>? children}) : super(ProfileRoute.name, initialChildren: children); static const String name = 'ProfileRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { - return const _i18.ProfilePage(); + return const _i19.ProfilePage(); }, ); } /// generated route for -/// [_i19.RegisterPage] -class RegisterRoute extends _i23.PageRouteInfo { - const RegisterRoute({List<_i23.PageRouteInfo>? children}) +/// [_i20.RegisterPage] +class RegisterRoute extends _i24.PageRouteInfo { + const RegisterRoute({List<_i24.PageRouteInfo>? children}) : super(RegisterRoute.name, initialChildren: children); static const String name = 'RegisterRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { - return const _i19.RegisterPage(); + return const _i20.RegisterPage(); }, ); } /// generated route for -/// [_i20.SplashPage] -class SplashRoute extends _i23.PageRouteInfo { - const SplashRoute({List<_i23.PageRouteInfo>? children}) +/// [_i21.SplashPage] +class SplashRoute extends _i24.PageRouteInfo { + const SplashRoute({List<_i24.PageRouteInfo>? children}) : super(SplashRoute.name, initialChildren: children); static const String name = 'SplashRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { - return const _i20.SplashPage(); + return const _i21.SplashPage(); }, ); } /// generated route for -/// [_i21.VoucherDetailPage] -class VoucherDetailRoute extends _i23.PageRouteInfo { - const VoucherDetailRoute({List<_i23.PageRouteInfo>? children}) +/// [_i22.VoucherDetailPage] +class VoucherDetailRoute extends _i24.PageRouteInfo { + const VoucherDetailRoute({List<_i24.PageRouteInfo>? children}) : super(VoucherDetailRoute.name, initialChildren: children); static const String name = 'VoucherDetailRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { - return const _i21.VoucherDetailPage(); + return const _i22.VoucherDetailPage(); }, ); } /// generated route for -/// [_i22.VoucherPage] -class VoucherRoute extends _i23.PageRouteInfo { - const VoucherRoute({List<_i23.PageRouteInfo>? children}) +/// [_i23.VoucherPage] +class VoucherRoute extends _i24.PageRouteInfo { + const VoucherRoute({List<_i24.PageRouteInfo>? children}) : super(VoucherRoute.name, initialChildren: children); static const String name = 'VoucherRoute'; - static _i23.PageInfo page = _i23.PageInfo( + static _i24.PageInfo page = _i24.PageInfo( name, builder: (data) { - return const _i22.VoucherPage(); + return const _i23.VoucherPage(); }, ); }