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,59 @@
import 'package:flutter/material.dart';
import 'package:flutter_countdown_timer/countdown_timer_controller.dart';
import 'package:grostore/apis/coupons_api.dart';
import 'package:grostore/apis/order_api.dart';
import 'package:grostore/app_lang.dart';
import 'package:grostore/models/coupon_response.dart';
import 'package:grostore/models/order/orders_response.dart';
class CouponPresenter extends ChangeNotifier {
static BuildContext? context;
List<CountdownTimerController> controller=[];
setContext(BuildContext context) {
CouponPresenter.context = context;
}
List<CouponInfo> coupons = [];
bool isCouponsInit = false;
DateTime convertTimeStampToDateTime(int timeStamp) {
var dateToTimeStamp = DateTime.fromMillisecondsSinceEpoch(timeStamp * 1000);
return dateToTimeStamp;
}
getCoupons() async {
var response = await CouponsApi.getCoupons();
if (response.statusCode == 200) {
coupons.addAll(response.object.data);
isCouponsInit=true;
coupons.forEach((element) {
DateTime end = convertTimeStampToDateTime(
int.parse(element.endDate)); // YYYY-mm-dd
DateTime now = DateTime.now();
int diff = end.difference(now).inMilliseconds;
int endTime = diff + now.millisecondsSinceEpoch;
print(element.endDate);
controller.add( CountdownTimerController(endTime:endTime , onEnd: (){}));
});
notifyListeners();
}
}
fetchAll() {
getCoupons();
}
clearAll() {
isCouponsInit=false;
coupons.clear();
}
initState() {
clearAll();
fetchAll();
}
}