Commits (2)
......@@ -197,16 +197,11 @@ class RentalProvider extends ChangeNotifier {
if (response != null && response.error == 0) {
// Clear user data if needed
// await SharedPrefHelper.clearAll();
// Show toast/snackbar
CustomSnackBar.showSuccess(
context: context,
message: response.message ?? "Logout successful"
);
// Navigate to login screen
// Navigator.pushNamedAndRemoveUntil(context, '/login', (_) => false);
} else {
......
......@@ -9,6 +9,7 @@ import 'package:razorpay_flutter/razorpay_flutter.dart';
import '../../Notifier/BillProvider.dart';
import '../../Notifier/PayAmountProvider.dart';
import '../../Utility/CustomSnackbar.dart';
import '../../Utility/SharedpreferencesService.dart';
import '../DashboardScreen.dart';
import '../TransactionScreens/PaymentSuccessfailScreen.dart';
import 'BillDetailScreen.dart';
......@@ -36,7 +37,7 @@ class _BillDetailListScreenState extends State<BillDetailListScreen> {
bool? isSuccess;
var paymentMethod = "";
var User_contact = "0";
final prefs = SharedPreferencesService.instance;
@override
void initState() {
......@@ -75,6 +76,7 @@ class _BillDetailListScreenState extends State<BillDetailListScreen> {
// buttonLoading = false;
});
}
void _handlePaymentError(PaymentFailureResponse response) {
setState(() {
CustomSnackBar.showError(
......@@ -141,6 +143,9 @@ class _BillDetailListScreenState extends State<BillDetailListScreen> {
//razorpay payments__________________________________________________________
void openCheckout(razorPayOrderId, String razorpayKey) async {
final String? mobNumber = await prefs.getString("mob_number");
_razorpay.on(Razorpay.EVENT_PAYMENT_SUCCESS, _handlePaymentSuccess);
_razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, _handlePaymentError);
_razorpay.on(Razorpay.EVENT_EXTERNAL_WALLET, _handleExternalWallet);
......@@ -153,7 +158,7 @@ class _BillDetailListScreenState extends State<BillDetailListScreen> {
'description': "Bill",
'currency': 'INR',
'method': 'upi',
'prefill': {'contact': User_contact, 'email': ''}
'prefill': {'contact': mobNumber, 'email': ''}
};
// print(options);
try {
......
......@@ -7,6 +7,7 @@ import '../../Notifier/PayAmountProvider.dart';
import '../../Utility/AppColors.dart';
import '../../Utility/CustomSnackbar.dart';
import '../../Utility/Reusablewidgets.dart';
import '../../Utility/SharedpreferencesService.dart';
import '../TransactionScreens/PaymentSuccessfailScreen.dart';
class BillDetailScreen extends StatefulWidget {
......@@ -30,7 +31,7 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
bool? isSuccess;
var paymentMethod = "";
var User_contact = "0";
final prefs = SharedPreferencesService.instance;
// Responsive text size function
double getResponsiveTextSize(BuildContext context, double baseSize) {
......@@ -172,6 +173,9 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
//razorpay payments__________________________________________________________
void openCheckout(razorPayOrderId, String razorpayKey) async {
final String? mobNumber = await prefs.getString("mob_number");
_razorpay.on(Razorpay.EVENT_PAYMENT_SUCCESS, _handlePaymentSuccess);
_razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, _handlePaymentError);
_razorpay.on(Razorpay.EVENT_EXTERNAL_WALLET, _handleExternalWallet);
......@@ -184,7 +188,7 @@ class _BillDetailScreenState extends State<BillDetailScreen> {
'description': "Bill",
'currency': 'INR',
'method': 'upi',
'prefill': {'contact': User_contact, 'email': ''}
'prefill': {'contact': mobNumber, 'email': ''}
};
// print(options);
try {
......
......@@ -15,6 +15,7 @@ import 'package:provider/provider.dart';
import '../Models/DashboardResponse.dart';
import '../Notifier/DashboardProvider.dart';
import '../Notifier/PayAmountProvider.dart';
import '../Utility/SharedpreferencesService.dart';
import 'TransactionScreens/PaymentSuccessfailScreen.dart';
import 'authScreen/LoginScreen.dart';
import 'package:razorpay_flutter/razorpay_flutter.dart';
......@@ -36,7 +37,7 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
var paymentMethod = "";
var User_contact = "0";
final prefs = SharedPreferencesService.instance;
@override
void initState() {
super.initState();
......@@ -144,6 +145,8 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
//razorpay payments__________________________________________________________
void openCheckout(razorPayOrderId, String razorpayKey) async {
final String? mobNumber = await prefs.getString("mob_number");
_razorpay.on(Razorpay.EVENT_PAYMENT_SUCCESS, _handlePaymentSuccess);
_razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, _handlePaymentError);
_razorpay.on(Razorpay.EVENT_EXTERNAL_WALLET, _handleExternalWallet);
......@@ -156,7 +159,7 @@ class _DashboardScreenState extends State<DashboardScreen> with WidgetsBindingOb
'description': "Payment",
'currency': 'INR',
'method': 'upi',
'prefill': {'contact': User_contact, 'email': ''}
'prefill': {'contact': mobNumber, 'email': ''}
};
// print(options);
try {
......
......@@ -477,7 +477,6 @@ class _ProfileScreenState extends State<ProfileScreen> {
],
),
const SizedBox(height: 30),
],
),
),
......
......@@ -9,6 +9,7 @@ import '../../Notifier/PayAmountProvider.dart';
import '../../Notifier/TransactionsProvider.dart';
import '../../Utility/AppColors.dart';
import '../../Utility/CustomSnackbar.dart';
import '../../Utility/SharedpreferencesService.dart';
import '../BillScreens/BillDetailScreen.dart';
import '../DashboardScreen.dart';
import 'BillPendingToast.dart';
......@@ -33,7 +34,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
late Razorpay _razorpay;
var paymentMethod = "";
var User_contact = "0";
final prefs = SharedPreferencesService.instance;
@override
void initState() {
......@@ -145,6 +146,9 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
//razorpay payments__________________________________________________________
void openCheckout(razorPayOrderId, String razorpayKey) async {
final String? mobNumber = await prefs.getString("mob_number");
_razorpay.on(Razorpay.EVENT_PAYMENT_SUCCESS, _handlePaymentSuccess);
_razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, _handlePaymentError);
_razorpay.on(Razorpay.EVENT_EXTERNAL_WALLET, _handleExternalWallet);
......@@ -157,7 +161,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
'description': "Payment",
'currency': 'INR',
'method': 'upi',
'prefill': {'contact': User_contact, 'email': ''}
'prefill': {'contact': mobNumber, 'email': ''}
};
// print(options);
try {
......
......@@ -92,6 +92,7 @@ class _OtpScreenState extends State<OtpScreen> {
if (rentalProvider.otpResponse?.accId != null) {
await prefs.saveString("accId", rentalProvider.otpResponse!.accId!);
await prefs.saveString("session_id", rentalProvider.otpResponse!.sessionId!);
await prefs.saveString("mob_number", widget.mob);
}
// Navigate to dashboard
......@@ -237,7 +238,7 @@ class _OtpScreenState extends State<OtpScreen> {
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async {
Navigator.pop(context); // 👈 Goes back to previous (login) screen
Navigator.pop(context);
return false; // Prevents app from closing
},
child: Scaffold(
......
......@@ -33,4 +33,4 @@ class AppColors {
//Button
static const Color buttonColor = Color(0xFF008CDE);
}
\ No newline at end of file
}
......@@ -9,7 +9,7 @@ class CustomSnackBar {
String? title,
IconData? icon,
Color backgroundColor = const Color(0xFF324563),
Duration duration = const Duration(seconds: 4),
Duration duration = const Duration(seconds: 2),
SnackBarAction? action,
bool showCloseIcon = true,
bool enableHaptic = true,
......