verification before payment and email fixes

This commit is contained in:
Arseni
2026-02-18 18:15:38 +03:00
parent 4dc182bfa2
commit e901ac3eb6
35 changed files with 1023 additions and 192 deletions

View File

@@ -1,3 +1,4 @@
import 'dart:async';
import 'dart:collection';
import 'package:flutter/material.dart';
@@ -6,6 +7,7 @@ import 'package:pshared/models/payment/operation.dart';
import 'package:pshared/models/payment/status.dart';
import 'package:pshared/provider/payment/payments.dart';
import 'package:pweb/models/load_more_state.dart';
import 'package:pweb/utils/report/operations.dart';
import 'package:pweb/utils/report/payment_mapper.dart';
@@ -25,10 +27,26 @@ class ReportOperationsController extends ChangeNotifier {
bool get isLoading => _payments?.isLoading ?? false;
Exception? get error => _payments?.error;
LoadMoreState get loadMoreState {
if (_payments?.isLoadingMore ?? false) {
return LoadMoreState.loading;
}
if (_payments?.canLoadMore ?? false) {
return LoadMoreState.available;
}
return LoadMoreState.hidden;
}
void update(PaymentsProvider provider) {
if (!identical(_payments, provider)) {
_payments?.endAutoRefresh();
_payments = provider;
_payments?.beginAutoRefresh();
if (provider.isReady || provider.isLoading) {
unawaited(_payments?.refreshSilently());
} else {
unawaited(_payments?.refresh());
}
}
_rebuildOperations();
}
@@ -59,6 +77,10 @@ class ReportOperationsController extends ChangeNotifier {
await _payments?.refresh();
}
Future<void> loadMore() async {
await _payments?.loadMore();
}
void _rebuildOperations() {
final items = _payments?.payments ?? const [];
_operations = items.map(mapPaymentToOperation).toList();
@@ -101,4 +123,10 @@ class ReportOperationsController extends ChangeNotifier {
left.end.isAtSameMomentAs(right.end);
}
@override
void dispose() {
_payments?.endAutoRefresh();
super.dispose();
}
}