diff --git a/lib/application/void/void_form/void_form_bloc.dart b/lib/application/void/void_form/void_form_bloc.dart index b1e3a4a..c7407fc 100644 --- a/lib/application/void/void_form/void_form_bloc.dart +++ b/lib/application/void/void_form/void_form_bloc.dart @@ -115,6 +115,9 @@ class VoidFormBloc extends Bloc { ), ); }, + clearState: (e) async { + emit(VoidFormState.initial()); + }, ); } } diff --git a/lib/application/void/void_form/void_form_bloc.freezed.dart b/lib/application/void/void_form/void_form_bloc.freezed.dart index baf0d23..612fa3a 100644 --- a/lib/application/void/void_form/void_form_bloc.freezed.dart +++ b/lib/application/void/void_form/void_form_bloc.freezed.dart @@ -25,6 +25,7 @@ mixin _$VoidFormEvent { required TResult Function(String itemId, int quantity) itemQuantityChanged, required TResult Function() clearSelectedItem, required TResult Function() submitted, + required TResult Function() clearState, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ @@ -34,6 +35,7 @@ mixin _$VoidFormEvent { TResult? Function(String itemId, int quantity)? itemQuantityChanged, TResult? Function()? clearSelectedItem, TResult? Function()? submitted, + TResult? Function()? clearState, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ @@ -43,6 +45,7 @@ mixin _$VoidFormEvent { TResult Function(String itemId, int quantity)? itemQuantityChanged, TResult Function()? clearSelectedItem, TResult Function()? submitted, + TResult Function()? clearState, required TResult orElse(), }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -53,6 +56,7 @@ mixin _$VoidFormEvent { required TResult Function(_ItemQuantityChanged value) itemQuantityChanged, required TResult Function(_ClearSelectedItem value) clearSelectedItem, required TResult Function(_Submitted value) submitted, + required TResult Function(_ClearState value) clearState, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ @@ -62,6 +66,7 @@ mixin _$VoidFormEvent { TResult? Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult? Function(_ClearSelectedItem value)? clearSelectedItem, TResult? Function(_Submitted value)? submitted, + TResult? Function(_ClearState value)? clearState, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ @@ -71,6 +76,7 @@ mixin _$VoidFormEvent { TResult Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult Function(_ClearSelectedItem value)? clearSelectedItem, TResult Function(_Submitted value)? submitted, + TResult Function(_ClearState value)? clearState, required TResult orElse(), }) => throw _privateConstructorUsedError; } @@ -185,6 +191,7 @@ class _$SetOrderImpl implements _SetOrder { required TResult Function(String itemId, int quantity) itemQuantityChanged, required TResult Function() clearSelectedItem, required TResult Function() submitted, + required TResult Function() clearState, }) { return setOrder(order); } @@ -198,6 +205,7 @@ class _$SetOrderImpl implements _SetOrder { TResult? Function(String itemId, int quantity)? itemQuantityChanged, TResult? Function()? clearSelectedItem, TResult? Function()? submitted, + TResult? Function()? clearState, }) { return setOrder?.call(order); } @@ -211,6 +219,7 @@ class _$SetOrderImpl implements _SetOrder { TResult Function(String itemId, int quantity)? itemQuantityChanged, TResult Function()? clearSelectedItem, TResult Function()? submitted, + TResult Function()? clearState, required TResult orElse(), }) { if (setOrder != null) { @@ -228,6 +237,7 @@ class _$SetOrderImpl implements _SetOrder { required TResult Function(_ItemQuantityChanged value) itemQuantityChanged, required TResult Function(_ClearSelectedItem value) clearSelectedItem, required TResult Function(_Submitted value) submitted, + required TResult Function(_ClearState value) clearState, }) { return setOrder(this); } @@ -241,6 +251,7 @@ class _$SetOrderImpl implements _SetOrder { TResult? Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult? Function(_ClearSelectedItem value)? clearSelectedItem, TResult? Function(_Submitted value)? submitted, + TResult? Function(_ClearState value)? clearState, }) { return setOrder?.call(this); } @@ -254,6 +265,7 @@ class _$SetOrderImpl implements _SetOrder { TResult Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult Function(_ClearSelectedItem value)? clearSelectedItem, TResult Function(_Submitted value)? submitted, + TResult Function(_ClearState value)? clearState, required TResult orElse(), }) { if (setOrder != null) { @@ -355,6 +367,7 @@ class _$VoidTypeChangedImpl implements _VoidTypeChanged { required TResult Function(String itemId, int quantity) itemQuantityChanged, required TResult Function() clearSelectedItem, required TResult Function() submitted, + required TResult Function() clearState, }) { return voidTypeChanged(voidType); } @@ -368,6 +381,7 @@ class _$VoidTypeChangedImpl implements _VoidTypeChanged { TResult? Function(String itemId, int quantity)? itemQuantityChanged, TResult? Function()? clearSelectedItem, TResult? Function()? submitted, + TResult? Function()? clearState, }) { return voidTypeChanged?.call(voidType); } @@ -381,6 +395,7 @@ class _$VoidTypeChangedImpl implements _VoidTypeChanged { TResult Function(String itemId, int quantity)? itemQuantityChanged, TResult Function()? clearSelectedItem, TResult Function()? submitted, + TResult Function()? clearState, required TResult orElse(), }) { if (voidTypeChanged != null) { @@ -398,6 +413,7 @@ class _$VoidTypeChangedImpl implements _VoidTypeChanged { required TResult Function(_ItemQuantityChanged value) itemQuantityChanged, required TResult Function(_ClearSelectedItem value) clearSelectedItem, required TResult Function(_Submitted value) submitted, + required TResult Function(_ClearState value) clearState, }) { return voidTypeChanged(this); } @@ -411,6 +427,7 @@ class _$VoidTypeChangedImpl implements _VoidTypeChanged { TResult? Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult? Function(_ClearSelectedItem value)? clearSelectedItem, TResult? Function(_Submitted value)? submitted, + TResult? Function(_ClearState value)? clearState, }) { return voidTypeChanged?.call(this); } @@ -424,6 +441,7 @@ class _$VoidTypeChangedImpl implements _VoidTypeChanged { TResult Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult Function(_ClearSelectedItem value)? clearSelectedItem, TResult Function(_Submitted value)? submitted, + TResult Function(_ClearState value)? clearState, required TResult orElse(), }) { if (voidTypeChanged != null) { @@ -526,6 +544,7 @@ class _$VoidReasonChangedImpl implements _VoidReasonChanged { required TResult Function(String itemId, int quantity) itemQuantityChanged, required TResult Function() clearSelectedItem, required TResult Function() submitted, + required TResult Function() clearState, }) { return voidReasonChanged(voidReason); } @@ -539,6 +558,7 @@ class _$VoidReasonChangedImpl implements _VoidReasonChanged { TResult? Function(String itemId, int quantity)? itemQuantityChanged, TResult? Function()? clearSelectedItem, TResult? Function()? submitted, + TResult? Function()? clearState, }) { return voidReasonChanged?.call(voidReason); } @@ -552,6 +572,7 @@ class _$VoidReasonChangedImpl implements _VoidReasonChanged { TResult Function(String itemId, int quantity)? itemQuantityChanged, TResult Function()? clearSelectedItem, TResult Function()? submitted, + TResult Function()? clearState, required TResult orElse(), }) { if (voidReasonChanged != null) { @@ -569,6 +590,7 @@ class _$VoidReasonChangedImpl implements _VoidReasonChanged { required TResult Function(_ItemQuantityChanged value) itemQuantityChanged, required TResult Function(_ClearSelectedItem value) clearSelectedItem, required TResult Function(_Submitted value) submitted, + required TResult Function(_ClearState value) clearState, }) { return voidReasonChanged(this); } @@ -582,6 +604,7 @@ class _$VoidReasonChangedImpl implements _VoidReasonChanged { TResult? Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult? Function(_ClearSelectedItem value)? clearSelectedItem, TResult? Function(_Submitted value)? submitted, + TResult? Function(_ClearState value)? clearState, }) { return voidReasonChanged?.call(this); } @@ -595,6 +618,7 @@ class _$VoidReasonChangedImpl implements _VoidReasonChanged { TResult Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult Function(_ClearSelectedItem value)? clearSelectedItem, TResult Function(_Submitted value)? submitted, + TResult Function(_ClearState value)? clearState, required TResult orElse(), }) { if (voidReasonChanged != null) { @@ -707,6 +731,7 @@ class _$ItemQuantityChangedImpl implements _ItemQuantityChanged { required TResult Function(String itemId, int quantity) itemQuantityChanged, required TResult Function() clearSelectedItem, required TResult Function() submitted, + required TResult Function() clearState, }) { return itemQuantityChanged(itemId, quantity); } @@ -720,6 +745,7 @@ class _$ItemQuantityChangedImpl implements _ItemQuantityChanged { TResult? Function(String itemId, int quantity)? itemQuantityChanged, TResult? Function()? clearSelectedItem, TResult? Function()? submitted, + TResult? Function()? clearState, }) { return itemQuantityChanged?.call(itemId, quantity); } @@ -733,6 +759,7 @@ class _$ItemQuantityChangedImpl implements _ItemQuantityChanged { TResult Function(String itemId, int quantity)? itemQuantityChanged, TResult Function()? clearSelectedItem, TResult Function()? submitted, + TResult Function()? clearState, required TResult orElse(), }) { if (itemQuantityChanged != null) { @@ -750,6 +777,7 @@ class _$ItemQuantityChangedImpl implements _ItemQuantityChanged { required TResult Function(_ItemQuantityChanged value) itemQuantityChanged, required TResult Function(_ClearSelectedItem value) clearSelectedItem, required TResult Function(_Submitted value) submitted, + required TResult Function(_ClearState value) clearState, }) { return itemQuantityChanged(this); } @@ -763,6 +791,7 @@ class _$ItemQuantityChangedImpl implements _ItemQuantityChanged { TResult? Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult? Function(_ClearSelectedItem value)? clearSelectedItem, TResult? Function(_Submitted value)? submitted, + TResult? Function(_ClearState value)? clearState, }) { return itemQuantityChanged?.call(this); } @@ -776,6 +805,7 @@ class _$ItemQuantityChangedImpl implements _ItemQuantityChanged { TResult Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult Function(_ClearSelectedItem value)? clearSelectedItem, TResult Function(_Submitted value)? submitted, + TResult Function(_ClearState value)? clearState, required TResult orElse(), }) { if (itemQuantityChanged != null) { @@ -850,6 +880,7 @@ class _$ClearSelectedItemImpl implements _ClearSelectedItem { required TResult Function(String itemId, int quantity) itemQuantityChanged, required TResult Function() clearSelectedItem, required TResult Function() submitted, + required TResult Function() clearState, }) { return clearSelectedItem(); } @@ -863,6 +894,7 @@ class _$ClearSelectedItemImpl implements _ClearSelectedItem { TResult? Function(String itemId, int quantity)? itemQuantityChanged, TResult? Function()? clearSelectedItem, TResult? Function()? submitted, + TResult? Function()? clearState, }) { return clearSelectedItem?.call(); } @@ -876,6 +908,7 @@ class _$ClearSelectedItemImpl implements _ClearSelectedItem { TResult Function(String itemId, int quantity)? itemQuantityChanged, TResult Function()? clearSelectedItem, TResult Function()? submitted, + TResult Function()? clearState, required TResult orElse(), }) { if (clearSelectedItem != null) { @@ -893,6 +926,7 @@ class _$ClearSelectedItemImpl implements _ClearSelectedItem { required TResult Function(_ItemQuantityChanged value) itemQuantityChanged, required TResult Function(_ClearSelectedItem value) clearSelectedItem, required TResult Function(_Submitted value) submitted, + required TResult Function(_ClearState value) clearState, }) { return clearSelectedItem(this); } @@ -906,6 +940,7 @@ class _$ClearSelectedItemImpl implements _ClearSelectedItem { TResult? Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult? Function(_ClearSelectedItem value)? clearSelectedItem, TResult? Function(_Submitted value)? submitted, + TResult? Function(_ClearState value)? clearState, }) { return clearSelectedItem?.call(this); } @@ -919,6 +954,7 @@ class _$ClearSelectedItemImpl implements _ClearSelectedItem { TResult Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult Function(_ClearSelectedItem value)? clearSelectedItem, TResult Function(_Submitted value)? submitted, + TResult Function(_ClearState value)? clearState, required TResult orElse(), }) { if (clearSelectedItem != null) { @@ -981,6 +1017,7 @@ class _$SubmittedImpl implements _Submitted { required TResult Function(String itemId, int quantity) itemQuantityChanged, required TResult Function() clearSelectedItem, required TResult Function() submitted, + required TResult Function() clearState, }) { return submitted(); } @@ -994,6 +1031,7 @@ class _$SubmittedImpl implements _Submitted { TResult? Function(String itemId, int quantity)? itemQuantityChanged, TResult? Function()? clearSelectedItem, TResult? Function()? submitted, + TResult? Function()? clearState, }) { return submitted?.call(); } @@ -1007,6 +1045,7 @@ class _$SubmittedImpl implements _Submitted { TResult Function(String itemId, int quantity)? itemQuantityChanged, TResult Function()? clearSelectedItem, TResult Function()? submitted, + TResult Function()? clearState, required TResult orElse(), }) { if (submitted != null) { @@ -1024,6 +1063,7 @@ class _$SubmittedImpl implements _Submitted { required TResult Function(_ItemQuantityChanged value) itemQuantityChanged, required TResult Function(_ClearSelectedItem value) clearSelectedItem, required TResult Function(_Submitted value) submitted, + required TResult Function(_ClearState value) clearState, }) { return submitted(this); } @@ -1037,6 +1077,7 @@ class _$SubmittedImpl implements _Submitted { TResult? Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult? Function(_ClearSelectedItem value)? clearSelectedItem, TResult? Function(_Submitted value)? submitted, + TResult? Function(_ClearState value)? clearState, }) { return submitted?.call(this); } @@ -1050,6 +1091,7 @@ class _$SubmittedImpl implements _Submitted { TResult Function(_ItemQuantityChanged value)? itemQuantityChanged, TResult Function(_ClearSelectedItem value)? clearSelectedItem, TResult Function(_Submitted value)? submitted, + TResult Function(_ClearState value)? clearState, required TResult orElse(), }) { if (submitted != null) { @@ -1063,6 +1105,143 @@ abstract class _Submitted implements VoidFormEvent { const factory _Submitted() = _$SubmittedImpl; } +/// @nodoc +abstract class _$$ClearStateImplCopyWith<$Res> { + factory _$$ClearStateImplCopyWith( + _$ClearStateImpl value, + $Res Function(_$ClearStateImpl) then, + ) = __$$ClearStateImplCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$ClearStateImplCopyWithImpl<$Res> + extends _$VoidFormEventCopyWithImpl<$Res, _$ClearStateImpl> + implements _$$ClearStateImplCopyWith<$Res> { + __$$ClearStateImplCopyWithImpl( + _$ClearStateImpl _value, + $Res Function(_$ClearStateImpl) _then, + ) : super(_value, _then); + + /// Create a copy of VoidFormEvent + /// with the given fields replaced by the non-null parameter values. +} + +/// @nodoc + +class _$ClearStateImpl implements _ClearState { + const _$ClearStateImpl(); + + @override + String toString() { + return 'VoidFormEvent.clearState()'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$ClearStateImpl); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(Order order) setOrder, + required TResult Function(VoidType voidType) voidTypeChanged, + required TResult Function(String voidReason) voidReasonChanged, + required TResult Function(String itemId, int quantity) itemQuantityChanged, + required TResult Function() clearSelectedItem, + required TResult Function() submitted, + required TResult Function() clearState, + }) { + return clearState(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(Order order)? setOrder, + TResult? Function(VoidType voidType)? voidTypeChanged, + TResult? Function(String voidReason)? voidReasonChanged, + TResult? Function(String itemId, int quantity)? itemQuantityChanged, + TResult? Function()? clearSelectedItem, + TResult? Function()? submitted, + TResult? Function()? clearState, + }) { + return clearState?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(Order order)? setOrder, + TResult Function(VoidType voidType)? voidTypeChanged, + TResult Function(String voidReason)? voidReasonChanged, + TResult Function(String itemId, int quantity)? itemQuantityChanged, + TResult Function()? clearSelectedItem, + TResult Function()? submitted, + TResult Function()? clearState, + required TResult orElse(), + }) { + if (clearState != null) { + return clearState(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_SetOrder value) setOrder, + required TResult Function(_VoidTypeChanged value) voidTypeChanged, + required TResult Function(_VoidReasonChanged value) voidReasonChanged, + required TResult Function(_ItemQuantityChanged value) itemQuantityChanged, + required TResult Function(_ClearSelectedItem value) clearSelectedItem, + required TResult Function(_Submitted value) submitted, + required TResult Function(_ClearState value) clearState, + }) { + return clearState(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_SetOrder value)? setOrder, + TResult? Function(_VoidTypeChanged value)? voidTypeChanged, + TResult? Function(_VoidReasonChanged value)? voidReasonChanged, + TResult? Function(_ItemQuantityChanged value)? itemQuantityChanged, + TResult? Function(_ClearSelectedItem value)? clearSelectedItem, + TResult? Function(_Submitted value)? submitted, + TResult? Function(_ClearState value)? clearState, + }) { + return clearState?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_SetOrder value)? setOrder, + TResult Function(_VoidTypeChanged value)? voidTypeChanged, + TResult Function(_VoidReasonChanged value)? voidReasonChanged, + TResult Function(_ItemQuantityChanged value)? itemQuantityChanged, + TResult Function(_ClearSelectedItem value)? clearSelectedItem, + TResult Function(_Submitted value)? submitted, + TResult Function(_ClearState value)? clearState, + required TResult orElse(), + }) { + if (clearState != null) { + return clearState(this); + } + return orElse(); + } +} + +abstract class _ClearState implements VoidFormEvent { + const factory _ClearState() = _$ClearStateImpl; +} + /// @nodoc mixin _$VoidFormState { Order get order => throw _privateConstructorUsedError; diff --git a/lib/application/void/void_form/void_form_event.dart b/lib/application/void/void_form/void_form_event.dart index 3b78b25..d29f9f5 100644 --- a/lib/application/void/void_form/void_form_event.dart +++ b/lib/application/void/void_form/void_form_event.dart @@ -13,4 +13,5 @@ class VoidFormEvent with _$VoidFormEvent { }) = _ItemQuantityChanged; const factory VoidFormEvent.clearSelectedItem() = _ClearSelectedItem; const factory VoidFormEvent.submitted() = _Submitted; + const factory VoidFormEvent.clearState() = _ClearState; } diff --git a/lib/presentation/pages/void/pages/void_success/void_success_page.dart b/lib/presentation/pages/void/pages/void_success/void_success_page.dart new file mode 100644 index 0000000..7b69949 --- /dev/null +++ b/lib/presentation/pages/void/pages/void_success/void_success_page.dart @@ -0,0 +1,40 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +import '../../../../../application/void/void_form/void_form_bloc.dart'; +import '../../../../../common/theme/theme.dart'; +import '../../../../components/spaces/space.dart'; +import 'widgets/void_success_left_panel.dart'; +import 'widgets/void_success_right_panel.dart'; + +@RoutePage() +class VoidSuccessPage extends StatelessWidget { + const VoidSuccessPage({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColor.background, + body: BlocBuilder( + builder: (context, state) { + return SafeArea( + child: Padding( + padding: const EdgeInsets.all(24.0), + child: Row( + children: [ + Expanded(flex: 35, child: VoidSuccessLeftPanel(state: state)), + SpaceWidth(16), + Expanded( + flex: 65, + child: VoidSuccessRightPanel(state: state), + ), + ], + ), + ), + ); + }, + ), + ); + } +} diff --git a/lib/presentation/pages/void/pages/void_success/widgets/void_success_left_panel.dart b/lib/presentation/pages/void/pages/void_success/widgets/void_success_left_panel.dart new file mode 100644 index 0000000..3cb2f97 --- /dev/null +++ b/lib/presentation/pages/void/pages/void_success/widgets/void_success_left_panel.dart @@ -0,0 +1,228 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +import '../../../../../../application/void/void_form/void_form_bloc.dart'; +import '../../../../../../common/extension/extension.dart'; +import '../../../../../../common/theme/theme.dart'; +import '../../../../../../common/types/void_type.dart'; +import '../../../../../components/button/button.dart'; +import '../../../../../components/spaces/space.dart'; +import '../../../../../router/app_router.gr.dart'; + +class VoidSuccessLeftPanel extends StatelessWidget { + final VoidFormState state; + const VoidSuccessLeftPanel({super.key, required this.state}); + + @override + Widget build(BuildContext context) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(24), + ), + padding: EdgeInsets.all(16), + child: Column( + children: [ + Container( + width: 120, + height: 120, + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [AppColor.secondaryLight, AppColor.secondaryDark], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: AppColor.secondaryDark.withOpacity(0.2), + blurRadius: 20, + offset: Offset(0, 10), + ), + ], + ), + child: Icon(Icons.check_rounded, color: Colors.white, size: 60), + ), + + SpaceHeight(16), + Text( + 'Void Berhasil!', + style: AppStyle.h1.copyWith( + fontWeight: FontWeight.bold, + color: AppColor.success, + ), + textAlign: TextAlign.center, + ), + SpaceHeight(8), + Text( + state.voidType.isAll + ? 'Seluruh pesanan telah dibatalkan dengan sukses' + : 'Item terpilih telah dibatalkan dengan sukses', + style: AppStyle.lg.copyWith( + fontSize: 16, + color: AppColor.textSecondary, + ), + textAlign: TextAlign.center, + ), + SpaceHeight(16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Informasi Pesanan', + style: AppStyle.lg.copyWith(fontWeight: FontWeight.bold), + ), + SpaceHeight(24), + _buildInfoRow( + icon: Icons.receipt_long, + label: 'Order ID', + value: state.order.orderNumber, + ), + const SpaceHeight(12), + _buildInfoRow( + icon: Icons.person, + label: 'Pemesan', + value: state.order.metadata['customer_name'] ?? "-", + ), + if (state.order.tableNumber != "") ...[ + const SpaceHeight(12), + _buildInfoRow( + icon: Icons.table_restaurant_outlined, + label: 'No. Meja', + value: state.order.tableNumber, + ), + ], + const SpaceHeight(12), + _buildInfoRow( + icon: Icons.category_outlined, + label: 'Tipe Void', + value: state.voidType.isAll + ? 'Seluruh Pesanan' + : 'Item Tertentu', + ), + const SpaceHeight(12), + _buildInfoRow( + icon: Icons.access_time_rounded, + label: 'Waktu', + value: (DateTime.now()).toFormattedDateTime(), + ), + ], + ), + ), + _buildBottomSection(context), + ], + ), + ); + } + + Widget _buildBottomSection(BuildContext context) { + return Container( + width: double.infinity, + padding: const EdgeInsets.all(16.0).copyWith(bottom: 0), + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [Colors.grey.shade50, Colors.white], + ), + borderRadius: const BorderRadius.vertical(bottom: Radius.circular(24)), + ), + child: Column( + children: [ + // Action Buttons with Modern Design + Row( + children: [ + Expanded( + child: AppElevatedButton.outlined( + onPressed: () { + context.read().add( + VoidFormEvent.clearState(), + ); + context.router.replaceAll([const MainRoute()]); + }, + label: "Kembali", + ), + ), + const SpaceWidth(16), + Expanded( + child: AppElevatedButton.filled( + onPressed: () { + // onPrintRecipt( + // context, + // order: widget.order, + // paymentMethod: widget.paymentMethod, + // nominalBayar: widget.paymentMethod == "Cash" + // ? widget.nominalBayar + // : widget.order.totalAmount ?? 0, + // kembalian: widget.nominalBayar - + // (widget.order.totalAmount ?? 0), + // productQuantity: widget.productQuantity, + // ); + // onPrint( + // context, + // productQuantity: widget.productQuantity, + // order: widget.order, + // ); + }, + label: 'Cetak Struk', + icon: Icon(Icons.print_rounded, color: AppColor.white), + ), + ), + ], + ), + ], + ), + ); + } + + Widget _buildInfoRow({ + required IconData icon, + required String label, + required String value, + Color? valueColor, + bool showBadge = false, + }) { + return Row( + children: [ + Icon(icon, size: 18, color: AppColor.primary), + const SizedBox(width: 12), + Text(label, style: AppStyle.md.copyWith(color: AppColor.textSecondary)), + if (showBadge && valueColor != null) + Container( + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), + decoration: BoxDecoration( + color: valueColor.withOpacity(0.1), + borderRadius: BorderRadius.circular(12), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.check_circle, size: 14, color: valueColor), + const SizedBox(width: 4), + Text( + value, + style: AppStyle.sm.copyWith( + fontWeight: FontWeight.bold, + color: valueColor, + ), + ), + ], + ), + ) + else + Expanded( + child: Text( + value, + style: AppStyle.md.copyWith( + fontWeight: FontWeight.bold, + color: valueColor ?? AppColor.primary, + ), + textAlign: TextAlign.right, + ), + ), + ], + ); + } +} diff --git a/lib/presentation/pages/void/pages/void_success/widgets/void_success_right_panel.dart b/lib/presentation/pages/void/pages/void_success/widgets/void_success_right_panel.dart new file mode 100644 index 0000000..7f1d384 --- /dev/null +++ b/lib/presentation/pages/void/pages/void_success/widgets/void_success_right_panel.dart @@ -0,0 +1,354 @@ +import 'package:flutter/material.dart'; + +import '../../../../../../application/void/void_form/void_form_bloc.dart'; +import '../../../../../../common/extension/extension.dart'; +import '../../../../../../common/theme/theme.dart'; +import '../../../../../../common/types/void_type.dart'; +import '../../../../../components/spaces/space.dart'; + +class VoidSuccessRightPanel extends StatelessWidget { + final VoidFormState state; + const VoidSuccessRightPanel({super.key, required this.state}); + + @override + Widget build(BuildContext context) { + return Container( + decoration: BoxDecoration( + color: AppColor.white, + borderRadius: BorderRadius.circular(24), + ), + child: Column( + children: [ + _header(), + Expanded( + child: ListView.separated( + padding: const EdgeInsets.all(24.0), + itemCount: state.voidItems.length, + separatorBuilder: (context, index) => const SizedBox(height: 12), + itemBuilder: (context, index) { + return _buildProductCard(index); + }, + ), + ), + _buildSummaryFooter(), + ], + ), + ); + } + + Widget _buildSummaryFooter() { + return Container( + width: double.infinity, + padding: const EdgeInsets.all(24.0), + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [Colors.grey.shade50, Colors.white], + ), + borderRadius: const BorderRadius.vertical(bottom: Radius.circular(24)), + ), + child: Column( + children: [ + // Decorative Divider + Container( + height: 1, + margin: const EdgeInsets.only(bottom: 20), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [ + Colors.transparent, + AppColor.primary.withOpacity(0.3), + Colors.transparent, + ], + ), + ), + ), + + // Subtotal Row + Row( + children: [ + Row( + children: [ + Text( + 'Alasan Void: ', + style: AppStyle.md.copyWith( + color: AppColor.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + SpaceWidth(6), + Expanded( + child: Text( + state.voidReason ?? '', + style: AppStyle.md.copyWith(fontWeight: FontWeight.w600), + textAlign: TextAlign.end, + ), + ), + ], + ), + + const SpaceHeight(16), + + // Total Payment Row with Enhanced Styling + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + AppColor.primary.withOpacity(0.1), + AppColor.primary.withOpacity(0.05), + ], + ), + borderRadius: BorderRadius.circular(12), + border: Border.all( + color: AppColor.primary.withOpacity(0.2), + width: 1, + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + children: [ + Container( + padding: const EdgeInsets.all(6), + decoration: BoxDecoration( + color: AppColor.primary.withOpacity(0.2), + borderRadius: BorderRadius.circular(8), + ), + child: Icon( + Icons.payments_rounded, + size: 16, + color: AppColor.primary, + ), + ), + SpaceWidth(12), + Text( + 'Total Void', + style: AppStyle.lg.copyWith(fontWeight: FontWeight.bold), + ), + ], + ), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [ + AppColor.primary, + AppColor.primary.withOpacity(0.8), + ], + ), + borderRadius: BorderRadius.circular(8), + boxShadow: [ + BoxShadow( + color: AppColor.primary.withOpacity(0.3), + blurRadius: 4, + offset: const Offset(0, 2), + ), + ], + ), + child: Text( + state.voidType.isAll + ? state.order.totalAmount.currencyFormatRpV2 + : (state.totalPriceVoid).toString().currencyFormatRpV2, + style: AppStyle.xl.copyWith( + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildProductCard(int index) { + final item = state.voidItems[index]; + + return Container( + padding: const EdgeInsets.all(16.0), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(16.0), + border: Border.all(color: AppColor.border, width: 1), + ), + child: Row( + children: [ + // Enhanced Product Image + Container( + width: 70, + height: 70, + decoration: BoxDecoration( + color: AppColor.primaryWithOpacity(0.1), + borderRadius: BorderRadius.circular(16.0), + ), + child: Icon( + Icons.restaurant_rounded, + color: AppColor.primary, + size: 28, + ), + ), + + const SpaceWidth(16), + + // Product Details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + item.productName, + style: AppStyle.lg.copyWith(fontWeight: FontWeight.bold), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + const SpaceHeight(6), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + decoration: BoxDecoration( + color: Colors.grey.shade100, + borderRadius: BorderRadius.circular(8), + ), + child: Text( + item.unitPrice.currencyFormatRpV2, + style: AppStyle.md.copyWith( + color: AppColor.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + ), + ], + ), + ), + + const SpaceWidth(16), + + // Quantity and Total + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 8, + ), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [ + AppColor.primary, + AppColor.primary.withOpacity(0.8), + ], + ), + borderRadius: BorderRadius.circular(12), + ), + child: Text( + '${item.quantity}x', + style: AppStyle.md.copyWith( + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + ), + const SpaceHeight(8), + Text( + item.totalPrice.toString().currencyFormatRpV2, + style: AppStyle.lg.copyWith( + fontWeight: FontWeight.bold, + color: AppColor.primary, + ), + ), + ], + ), + ], + ), + ); + } + + Container _header() { + return Container( + width: double.infinity, + padding: const EdgeInsets.all(16.0), + decoration: BoxDecoration( + border: Border(bottom: BorderSide(color: AppColor.border)), + borderRadius: const BorderRadius.vertical(top: Radius.circular(24)), + ), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(12.0), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [ + AppColor.primary.withOpacity(0.2), + AppColor.primary.withOpacity(0.1), + ], + ), + borderRadius: BorderRadius.circular(16.0), + ), + child: Icon( + Icons.info_outline_rounded, + color: AppColor.primary, + size: 28, + ), + ), + SpaceWidth(16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Detail Void', + style: AppStyle.xxl.copyWith(fontWeight: FontWeight.bold), + ), + SpaceHeight(4), + Text( + 'Ringkasan item yang divoid', + style: AppStyle.md.copyWith(color: AppColor.textSecondary), + ), + ], + ), + ), + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 10), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [AppColor.primary, AppColor.primary.withOpacity(0.8)], + ), + borderRadius: BorderRadius.circular(20), + boxShadow: [ + BoxShadow( + color: AppColor.primary.withOpacity(0.3), + blurRadius: 8, + offset: const Offset(0, 4), + ), + ], + ), + child: Text( + state.voidType.isAll + ? 'Semua Item' + : '${state.voidItems.length} Items', + style: AppStyle.sm.copyWith( + fontSize: 13, + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/presentation/pages/void/void_page.dart b/lib/presentation/pages/void/void_page.dart index fea07a9..aa8d34e 100644 --- a/lib/presentation/pages/void/void_page.dart +++ b/lib/presentation/pages/void/void_page.dart @@ -7,6 +7,7 @@ import '../../../common/theme/theme.dart'; import '../../../domain/order/order.dart'; import '../../components/spaces/space.dart'; import '../../components/toast/flushbar.dart'; +import '../../router/app_router.gr.dart'; import 'widgets/void_left_panel.dart'; import 'widgets/void_right_panel.dart'; @@ -26,7 +27,9 @@ class VoidPage extends StatelessWidget implements AutoRouteWrapper { (either) => either.fold( (f) => AppFlushbar.showOrderFailureToast(context, f), (success) { - if (context.mounted) {} + if (context.mounted) { + context.router.replace(VoidSuccessRoute()); + } }, ), ); diff --git a/lib/presentation/router/app_router.dart b/lib/presentation/router/app_router.dart index 50e7ce7..7284a0e 100644 --- a/lib/presentation/router/app_router.dart +++ b/lib/presentation/router/app_router.dart @@ -40,5 +40,6 @@ class AppRouter extends RootStackRouter { // Void AutoRoute(page: VoidRoute.page), + AutoRoute(page: VoidSuccessRoute.page), ]; } diff --git a/lib/presentation/router/app_router.gr.dart b/lib/presentation/router/app_router.gr.dart index 7d05abd..d7be3f4 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:apskel_pos_flutter_v2/domain/order/order.dart' as _i19; +import 'package:apskel_pos_flutter_v2/domain/order/order.dart' as _i20; import 'package:apskel_pos_flutter_v2/presentation/pages/auth/login/login_page.dart' as _i4; import 'package:apskel_pos_flutter_v2/presentation/pages/checkout/checkout_page.dart' @@ -40,84 +40,86 @@ import 'package:apskel_pos_flutter_v2/presentation/pages/splash/splash_page.dart as _i11; import 'package:apskel_pos_flutter_v2/presentation/pages/sync/sync_page.dart' as _i14; +import 'package:apskel_pos_flutter_v2/presentation/pages/void/pages/void_success/void_success_page.dart' + as _i17; import 'package:apskel_pos_flutter_v2/presentation/pages/void/void_page.dart' as _i16; -import 'package:auto_route/auto_route.dart' as _i17; -import 'package:flutter/material.dart' as _i18; +import 'package:auto_route/auto_route.dart' as _i18; +import 'package:flutter/material.dart' as _i19; /// generated route for /// [_i1.CheckoutPage] -class CheckoutRoute extends _i17.PageRouteInfo { - const CheckoutRoute({List<_i17.PageRouteInfo>? children}) +class CheckoutRoute extends _i18.PageRouteInfo { + const CheckoutRoute({List<_i18.PageRouteInfo>? children}) : super(CheckoutRoute.name, initialChildren: children); static const String name = 'CheckoutRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i17.WrappedRoute(child: const _i1.CheckoutPage()); + return _i18.WrappedRoute(child: const _i1.CheckoutPage()); }, ); } /// generated route for /// [_i2.CustomerPage] -class CustomerRoute extends _i17.PageRouteInfo { - const CustomerRoute({List<_i17.PageRouteInfo>? children}) +class CustomerRoute extends _i18.PageRouteInfo { + const CustomerRoute({List<_i18.PageRouteInfo>? children}) : super(CustomerRoute.name, initialChildren: children); static const String name = 'CustomerRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i17.WrappedRoute(child: const _i2.CustomerPage()); + return _i18.WrappedRoute(child: const _i2.CustomerPage()); }, ); } /// generated route for /// [_i3.HomePage] -class HomeRoute extends _i17.PageRouteInfo { - const HomeRoute({List<_i17.PageRouteInfo>? children}) +class HomeRoute extends _i18.PageRouteInfo { + const HomeRoute({List<_i18.PageRouteInfo>? children}) : super(HomeRoute.name, initialChildren: children); static const String name = 'HomeRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i17.WrappedRoute(child: const _i3.HomePage()); + return _i18.WrappedRoute(child: const _i3.HomePage()); }, ); } /// generated route for /// [_i4.LoginPage] -class LoginRoute extends _i17.PageRouteInfo { - const LoginRoute({List<_i17.PageRouteInfo>? children}) +class LoginRoute extends _i18.PageRouteInfo { + const LoginRoute({List<_i18.PageRouteInfo>? children}) : super(LoginRoute.name, initialChildren: children); static const String name = 'LoginRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i17.WrappedRoute(child: const _i4.LoginPage()); + return _i18.WrappedRoute(child: const _i4.LoginPage()); }, ); } /// generated route for /// [_i5.MainPage] -class MainRoute extends _i17.PageRouteInfo { - const MainRoute({List<_i17.PageRouteInfo>? children}) +class MainRoute extends _i18.PageRouteInfo { + const MainRoute({List<_i18.PageRouteInfo>? children}) : super(MainRoute.name, initialChildren: children); static const String name = 'MainRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { return const _i5.MainPage(); @@ -127,11 +129,11 @@ class MainRoute extends _i17.PageRouteInfo { /// generated route for /// [_i6.OrderPage] -class OrderRoute extends _i17.PageRouteInfo { +class OrderRoute extends _i18.PageRouteInfo { OrderRoute({ - _i18.Key? key, + _i19.Key? key, required String status, - List<_i17.PageRouteInfo>? children, + List<_i18.PageRouteInfo>? children, }) : super( OrderRoute.name, args: OrderRouteArgs(key: key, status: status), @@ -140,11 +142,11 @@ class OrderRoute extends _i17.PageRouteInfo { static const String name = 'OrderRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { final args = data.argsAs(); - return _i17.WrappedRoute( + return _i18.WrappedRoute( child: _i6.OrderPage(key: args.key, status: args.status), ); }, @@ -154,7 +156,7 @@ class OrderRoute extends _i17.PageRouteInfo { class OrderRouteArgs { const OrderRouteArgs({this.key, required this.status}); - final _i18.Key? key; + final _i19.Key? key; final String status; @@ -166,11 +168,11 @@ class OrderRouteArgs { /// generated route for /// [_i7.PaymentPage] -class PaymentRoute extends _i17.PageRouteInfo { +class PaymentRoute extends _i18.PageRouteInfo { PaymentRoute({ - _i18.Key? key, - required _i19.Order order, - List<_i17.PageRouteInfo>? children, + _i19.Key? key, + required _i20.Order order, + List<_i18.PageRouteInfo>? children, }) : super( PaymentRoute.name, args: PaymentRouteArgs(key: key, order: order), @@ -179,11 +181,11 @@ class PaymentRoute extends _i17.PageRouteInfo { static const String name = 'PaymentRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { final args = data.argsAs(); - return _i17.WrappedRoute( + return _i18.WrappedRoute( child: _i7.PaymentPage(key: args.key, order: args.order), ); }, @@ -193,9 +195,9 @@ class PaymentRoute extends _i17.PageRouteInfo { class PaymentRouteArgs { const PaymentRouteArgs({this.key, required this.order}); - final _i18.Key? key; + final _i19.Key? key; - final _i19.Order order; + final _i20.Order order; @override String toString() { @@ -205,11 +207,11 @@ class PaymentRouteArgs { /// generated route for /// [_i8.PaymentSuccessPage] -class PaymentSuccessRoute extends _i17.PageRouteInfo { +class PaymentSuccessRoute extends _i18.PageRouteInfo { PaymentSuccessRoute({ - _i18.Key? key, + _i19.Key? key, required String orderId, - List<_i17.PageRouteInfo>? children, + List<_i18.PageRouteInfo>? children, }) : super( PaymentSuccessRoute.name, args: PaymentSuccessRouteArgs(key: key, orderId: orderId), @@ -218,11 +220,11 @@ class PaymentSuccessRoute extends _i17.PageRouteInfo { static const String name = 'PaymentSuccessRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { final args = data.argsAs(); - return _i17.WrappedRoute( + return _i18.WrappedRoute( child: _i8.PaymentSuccessPage(key: args.key, orderId: args.orderId), ); }, @@ -232,7 +234,7 @@ class PaymentSuccessRoute extends _i17.PageRouteInfo { class PaymentSuccessRouteArgs { const PaymentSuccessRouteArgs({this.key, required this.orderId}); - final _i18.Key? key; + final _i19.Key? key; final String orderId; @@ -244,13 +246,13 @@ class PaymentSuccessRouteArgs { /// generated route for /// [_i9.ReportPage] -class ReportRoute extends _i17.PageRouteInfo { - const ReportRoute({List<_i17.PageRouteInfo>? children}) +class ReportRoute extends _i18.PageRouteInfo { + const ReportRoute({List<_i18.PageRouteInfo>? children}) : super(ReportRoute.name, initialChildren: children); static const String name = 'ReportRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { return const _i9.ReportPage(); @@ -260,13 +262,13 @@ class ReportRoute extends _i17.PageRouteInfo { /// generated route for /// [_i10.SettingPage] -class SettingRoute extends _i17.PageRouteInfo { - const SettingRoute({List<_i17.PageRouteInfo>? children}) +class SettingRoute extends _i18.PageRouteInfo { + const SettingRoute({List<_i18.PageRouteInfo>? children}) : super(SettingRoute.name, initialChildren: children); static const String name = 'SettingRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { return const _i10.SettingPage(); @@ -276,13 +278,13 @@ class SettingRoute extends _i17.PageRouteInfo { /// generated route for /// [_i11.SplashPage] -class SplashRoute extends _i17.PageRouteInfo { - const SplashRoute({List<_i17.PageRouteInfo>? children}) +class SplashRoute extends _i18.PageRouteInfo { + const SplashRoute({List<_i18.PageRouteInfo>? children}) : super(SplashRoute.name, initialChildren: children); static const String name = 'SplashRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { return const _i11.SplashPage(); @@ -292,13 +294,13 @@ class SplashRoute extends _i17.PageRouteInfo { /// generated route for /// [_i12.SuccessAddItemOrderPage] -class SuccessAddItemOrderRoute extends _i17.PageRouteInfo { - const SuccessAddItemOrderRoute({List<_i17.PageRouteInfo>? children}) +class SuccessAddItemOrderRoute extends _i18.PageRouteInfo { + const SuccessAddItemOrderRoute({List<_i18.PageRouteInfo>? children}) : super(SuccessAddItemOrderRoute.name, initialChildren: children); static const String name = 'SuccessAddItemOrderRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { return const _i12.SuccessAddItemOrderPage(); @@ -308,11 +310,11 @@ class SuccessAddItemOrderRoute extends _i17.PageRouteInfo { /// generated route for /// [_i13.SuccessOrderPage] -class SuccessOrderRoute extends _i17.PageRouteInfo { +class SuccessOrderRoute extends _i18.PageRouteInfo { SuccessOrderRoute({ - _i18.Key? key, - required _i19.Order order, - List<_i17.PageRouteInfo>? children, + _i19.Key? key, + required _i20.Order order, + List<_i18.PageRouteInfo>? children, }) : super( SuccessOrderRoute.name, args: SuccessOrderRouteArgs(key: key, order: order), @@ -321,11 +323,11 @@ class SuccessOrderRoute extends _i17.PageRouteInfo { static const String name = 'SuccessOrderRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { final args = data.argsAs(); - return _i17.WrappedRoute( + return _i18.WrappedRoute( child: _i13.SuccessOrderPage(key: args.key, order: args.order), ); }, @@ -335,9 +337,9 @@ class SuccessOrderRoute extends _i17.PageRouteInfo { class SuccessOrderRouteArgs { const SuccessOrderRouteArgs({this.key, required this.order}); - final _i18.Key? key; + final _i19.Key? key; - final _i19.Order order; + final _i20.Order order; @override String toString() { @@ -347,43 +349,43 @@ class SuccessOrderRouteArgs { /// generated route for /// [_i14.SyncPage] -class SyncRoute extends _i17.PageRouteInfo { - const SyncRoute({List<_i17.PageRouteInfo>? children}) +class SyncRoute extends _i18.PageRouteInfo { + const SyncRoute({List<_i18.PageRouteInfo>? children}) : super(SyncRoute.name, initialChildren: children); static const String name = 'SyncRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i17.WrappedRoute(child: const _i14.SyncPage()); + return _i18.WrappedRoute(child: const _i14.SyncPage()); }, ); } /// generated route for /// [_i15.TablePage] -class TableRoute extends _i17.PageRouteInfo { - const TableRoute({List<_i17.PageRouteInfo>? children}) +class TableRoute extends _i18.PageRouteInfo { + const TableRoute({List<_i18.PageRouteInfo>? children}) : super(TableRoute.name, initialChildren: children); static const String name = 'TableRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { - return _i17.WrappedRoute(child: const _i15.TablePage()); + return _i18.WrappedRoute(child: const _i15.TablePage()); }, ); } /// generated route for /// [_i16.VoidPage] -class VoidRoute extends _i17.PageRouteInfo { +class VoidRoute extends _i18.PageRouteInfo { VoidRoute({ - _i18.Key? key, - required _i19.Order order, - List<_i17.PageRouteInfo>? children, + _i19.Key? key, + required _i20.Order order, + List<_i18.PageRouteInfo>? children, }) : super( VoidRoute.name, args: VoidRouteArgs(key: key, order: order), @@ -392,11 +394,11 @@ class VoidRoute extends _i17.PageRouteInfo { static const String name = 'VoidRoute'; - static _i17.PageInfo page = _i17.PageInfo( + static _i18.PageInfo page = _i18.PageInfo( name, builder: (data) { final args = data.argsAs(); - return _i17.WrappedRoute( + return _i18.WrappedRoute( child: _i16.VoidPage(key: args.key, order: args.order), ); }, @@ -406,12 +408,28 @@ class VoidRoute extends _i17.PageRouteInfo { class VoidRouteArgs { const VoidRouteArgs({this.key, required this.order}); - final _i18.Key? key; + final _i19.Key? key; - final _i19.Order order; + final _i20.Order order; @override String toString() { return 'VoidRouteArgs{key: $key, order: $order}'; } } + +/// generated route for +/// [_i17.VoidSuccessPage] +class VoidSuccessRoute extends _i18.PageRouteInfo { + const VoidSuccessRoute({List<_i18.PageRouteInfo>? children}) + : super(VoidSuccessRoute.name, initialChildren: children); + + static const String name = 'VoidSuccessRoute'; + + static _i18.PageInfo page = _i18.PageInfo( + name, + builder: (data) { + return const _i17.VoidSuccessPage(); + }, + ); +}