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,103 @@
import 'package:flutter/material.dart';
import 'package:grostore/apis/order_api.dart';
import 'package:grostore/apis/page_api.dart';
import 'package:grostore/apis/refund_api.dart';
import 'package:grostore/apis/wallet_api.dart';
import 'package:grostore/app_lang.dart';
import 'package:grostore/models/order/orders_response.dart';
import 'package:grostore/models/page_response.dart';
import 'package:grostore/models/refund_response.dart';
import 'package:grostore/models/wallet_history_response.dart';
import 'package:webview_flutter/webview_flutter.dart';
class PagePresenter extends ChangeNotifier {
static BuildContext? context;
setContext(BuildContext context) {
PagePresenter.context = context;
}
bool isInitPageInfo = false;
PageInfo? pageInfo;
WebViewController controller = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted);
getRefundHistory(slug) async {
var response = await PageApi.getPage(slug: slug);
if (response.statusCode == 200) {
pageInfo = response.object.data;
controller.loadHtmlString(htmlBody(response.object.data.content));
isInitPageInfo = true;
notifyListeners();
}
}
String htmlBody(htmlCode) {
return """
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
*{
margin:0;
padding:0;
}
#wrap {
padding: 0;
overflow: hidden;
}
#scaled-frame {
zoom: 2;
-moz-transform: scale(2);
-moz-transform-origin: 0 0;
-o-transform: scale(2);
-o-transform-origin: 0 0;
-webkit-transform: scale(2);
-webkit-transform-origin: 0 0;
}
#scaled-frame {
border: 0px;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
#scaled-frame {
zoom: 2;
}
}
</style>
</head>
<body>
<div id="scaled-frame">
$htmlCode
</div>
</body>
</html>
""";
}
fetchAll(slug) async {
getRefundHistory(slug);
}
Future<void> onRefresh(slug) {
clearAll();
return fetchAll(slug);
}
clearAll() {
pageInfo = null;
isInitPageInfo = false;
notifyListeners();
}
initState(slug) {
fetchAll(slug);
}
}