79296927

Date: 2024-12-20 10:41:39
Score: 1.5
Natty:
Report link

You can solve this by passing an identifier (fromOrdersList) to the "Order Details" screen and handling navigation based on its value.

When navigating to "Order Details," pass a flag:

dart Copy code // From Orders List Navigator.push( context, MaterialPageRoute( builder: (context) => OrderDetailsScreen(fromOrdersList: true), ), );

// From Checkout Popup Navigator.push( context, MaterialPageRoute( builder: (context) => OrderDetailsScreen(fromOrdersList: false), ), ); Modify the "Order Details" screen to handle back navigation:

dart Copy code class OrderDetailsScreen extends StatelessWidget { final bool fromOrdersList;

OrderDetailsScreen({required this.fromOrdersList});

@override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, appBar: AppBar( backgroundColor: AppColors.appbarColor, title: Text( 'Order Details', style: GoogleFonts.poppins(color: AppColors.textColor), ), leading: IconButton( icon: Icon(Icons.arrow_back), onPressed: () { if (fromOrdersList) { Navigator.pop(context); } else { Navigator.of(context).pushAndRemoveUntil( MaterialPageRoute(builder: (context) => OrdersListScreen()), (route) => false, ); } }, ), ), body: Stack( children: [ WebViewWidget(controller: _webViewController), if (_isLoading) Center( child: CircularProgressIndicator( color: AppColors.buttonColor, ), ), ], ), ); } }

Reasons:
  • Long answer (-1):
  • No code block (0.5):
  • User mentioned (1): @override
  • Low reputation (1):
Posted by: Mouad Laamarti