updates on tran flow
This commit is contained in:
@@ -82,6 +82,10 @@ class _MyAppState extends State<MyApp> {
|
||||
path: '/',
|
||||
builder: (context, state) => const HomeScreen(),
|
||||
),
|
||||
GoRoute(
|
||||
path: '/home',
|
||||
builder: (context, state) => const HomeScreen(),
|
||||
),
|
||||
GoRoute(
|
||||
path: '/make-payment',
|
||||
builder: (context, state) => const PayScreen(),
|
||||
@@ -153,7 +157,7 @@ class ScaffoldWithNavBar extends StatelessWidget {
|
||||
onDestinationSelected: (index) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
context.go('/');
|
||||
context.go('/home');
|
||||
break;
|
||||
// case 1:
|
||||
// context.go('/recipients');
|
||||
|
||||
@@ -67,7 +67,7 @@ class ConfirmController extends ChangeNotifier {
|
||||
);
|
||||
|
||||
dynamic response = await http.post(
|
||||
'/public/transaction',
|
||||
'/public/transaction/request',
|
||||
transactionController.model.formData,
|
||||
);
|
||||
logger.i(response.toString());
|
||||
|
||||
@@ -35,7 +35,6 @@ class HistoryController extends ChangeNotifier {
|
||||
notifyListeners();
|
||||
|
||||
try {
|
||||
params['type'] = 'REQUEST';
|
||||
Map<String, dynamic> response = await http.get(
|
||||
'/public/transaction?${buildQueryParameters(params)}',
|
||||
);
|
||||
|
||||
@@ -142,7 +142,7 @@ class HomeController extends ChangeNotifier {
|
||||
|
||||
try {
|
||||
Map<String, dynamic> response = await http.get(
|
||||
'/public/transaction?sort=createdAt,desc&size=3&page=0&userId=$userId&type=REQUEST',
|
||||
'/public/transaction?sort=createdAt,desc&size=3&page=0&userId=$userId',
|
||||
);
|
||||
|
||||
PageableModel pageableModel = PageableModel.fromJson(response);
|
||||
|
||||
@@ -24,6 +24,7 @@ class _HomeScreenState extends State<HomeScreen>
|
||||
late bool _loading = true;
|
||||
late SharedPreferences prefs;
|
||||
late HomeController homeController;
|
||||
late final router = GoRouter.of(context);
|
||||
|
||||
Timer? _loadingTimer;
|
||||
bool get _isLoggedIn => false;
|
||||
@@ -35,6 +36,7 @@ class _HomeScreenState extends State<HomeScreen>
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
router.routerDelegate.addListener(_onRouteChanged);
|
||||
|
||||
transactionController = Provider.of<TransactionController>(
|
||||
context,
|
||||
@@ -124,11 +126,19 @@ class _HomeScreenState extends State<HomeScreen>
|
||||
);
|
||||
}
|
||||
|
||||
void _onRouteChanged() {
|
||||
final location = router.routerDelegate.currentConfiguration.uri.toString();
|
||||
if (location.startsWith('/home')) {
|
||||
setupDataAndTransitions();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_loadingTimer?.cancel();
|
||||
_controller.dispose();
|
||||
homeController.dispose();
|
||||
router.routerDelegate.removeListener(_onRouteChanged);
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@@ -529,6 +539,8 @@ class _HomeScreenState extends State<HomeScreen>
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
onTap: () {
|
||||
transactionController
|
||||
.clearFormData(); // make sure we're starting fresh
|
||||
homeController.updateSelectedProvider(e);
|
||||
transactionController.updateSelectedProvider(e);
|
||||
context.push("/recipients");
|
||||
|
||||
@@ -189,7 +189,7 @@ class PayController extends ChangeNotifier {
|
||||
|
||||
void updatePhone(String phone) {
|
||||
transactionController.model.formData = transactionController.model.formData
|
||||
.copyWith(debitPhone: phone);
|
||||
.copyWith(creditPhone: phone);
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
|
||||
@@ -114,4 +114,36 @@ class TransactionController extends ChangeNotifier {
|
||||
model.repeatFormData = data;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
clearFormData() {
|
||||
model.formData = FormData(
|
||||
id: '',
|
||||
type: '',
|
||||
billClientId: '',
|
||||
debitRef: '',
|
||||
debitCurrency: '',
|
||||
amount: '',
|
||||
debitPhone: '',
|
||||
debitAccount: '',
|
||||
creditAccount: '',
|
||||
creditPhone: '',
|
||||
creditName: '',
|
||||
creditEmail: '',
|
||||
billName: '',
|
||||
errorMessage: '',
|
||||
status: 'PENDING',
|
||||
paymentProcessorLabel: '',
|
||||
charge: '',
|
||||
gatewayCharge: '',
|
||||
tax: '',
|
||||
totalAmount: '',
|
||||
paymentProcessorName: '',
|
||||
paymentProcessorImage: '',
|
||||
providerImage: '',
|
||||
userId: '',
|
||||
providerLabel: '',
|
||||
);
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user