Proceed or Swipe to pay disabled on over limit
This commit is contained in:
@@ -45,6 +45,7 @@ class _FundTransferAmountScreenState extends State<FundTransferAmountScreen> {
|
||||
final _limitService = getIt<LimitService>();
|
||||
Limit? _limit;
|
||||
bool _isLoadingLimit = true;
|
||||
bool _isAmountOverLimit = false;
|
||||
final _formatCurrency = NumberFormat.currency(locale: 'en_IN', symbol: '₹');
|
||||
final _amountController = TextEditingController();
|
||||
final _remarksController = TextEditingController();
|
||||
@@ -76,21 +77,28 @@ void initState() {
|
||||
}
|
||||
|
||||
// Add this method to check the amount against the limit
|
||||
void _checkAmountLimit() {
|
||||
if (_limit == null) return;
|
||||
void _checkAmountLimit() {
|
||||
if (_limit == null) return;
|
||||
|
||||
final amount = double.tryParse(_amountController.text) ?? 0;
|
||||
final remainingLimit = _limit!.dailyLimit - _limit!.usedLimit;
|
||||
final amount = double.tryParse(_amountController.text) ?? 0;
|
||||
final remainingLimit = _limit!.dailyLimit - _limit!.usedLimit;
|
||||
final bool isOverLimit = amount > remainingLimit;
|
||||
|
||||
if (amount > remainingLimit) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text('Amount exceeds remaining daily limit of ${_formatCurrency.format(remainingLimit)}'),
|
||||
backgroundColor: Colors.red,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
if (isOverLimit) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text('Amount exceeds remaining daily limit of ${_formatCurrency.format(remainingLimit)}'),
|
||||
backgroundColor: Colors.red,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (_isAmountOverLimit != isOverLimit) {
|
||||
setState(() {
|
||||
_isAmountOverLimit = isOverLimit;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
@@ -490,15 +498,15 @@ void initState() {
|
||||
|
||||
// Proceed Button
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
child: ElevatedButton(
|
||||
onPressed: _onProceed,
|
||||
style: ElevatedButton.styleFrom(
|
||||
padding: const EdgeInsets.symmetric(vertical: 16),
|
||||
),
|
||||
child: Text(AppLocalizations.of(context).proceed),
|
||||
),
|
||||
),
|
||||
width: double.infinity,
|
||||
child: ElevatedButton(
|
||||
onPressed: _isAmountOverLimit ? null : _onProceed,
|
||||
style: ElevatedButton.styleFrom(
|
||||
padding: const EdgeInsets.symmetric(vertical: 16),
|
||||
),
|
||||
child: Text(AppLocalizations.of(context).proceed),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
],
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user