Initial commit

This commit is contained in:
jahongireshonqulov
2025-10-17 19:42:02 +05:00
commit 9fbdabafb4
1420 changed files with 28021 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
import 'package:flutter/material.dart';
import 'package:grostore/configs/app_config.dart';
import 'package:grostore/custom_ui/common_appbar.dart';
import 'package:grostore/helpers/route.dart';
import 'package:grostore/helpers/shared_value_helper.dart';
import 'package:grostore/presenters/page_presenter.dart';
import 'package:grostore/presenters/payment_presenter.dart';
import 'package:grostore/screens/order/orders.dart';
import 'package:webview_flutter/webview_flutter.dart';
class Payment extends StatefulWidget {
final int code;
final String payment_method;
final String title;
const Payment(
{super.key,
required this.code,
required this.payment_method,
required this.title});
@override
State<Payment> createState() => _PaymentState();
}
class _PaymentState extends State<Payment> {
PaymentPresenter paymentPresenter = PaymentPresenter();
@override
void initState() {
// TODO: implement initState
// WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
// paymentPresenter.initState(widget.code, widget.payment_method);
// });
paymentPresenter.controller.loadRequest(
Uri.parse(
"${AppConfig.apiUrl}/order/online-payment?code=${widget.code}&payment_method=${widget.payment_method}"),
headers: {"Authorization": "Bearer ${access_token.$}"});
paymentPresenter.controller.setNavigationDelegate(NavigationDelegate(
onPageFinished: (page){
if(page.contains('checkout-complete')||page.contains('success')||page.contains("cancel")||page.contains("callback")){
MakeRoute.go(context, Orders(fromBottomBar: false,fromCheckOut: true,));
}
}
));
super.initState();
}
@override
Widget build(BuildContext context) {
return ListenableBuilder(
listenable: paymentPresenter,
builder: (context, child) {
return Scaffold(
appBar: CommonAppbar.show(title: widget.title, context: context),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: WebViewWidget(
controller: paymentPresenter.controller,
),
),
);
});
}
}