Add global search, in-app + push notifications, and fix card/beneficiary/scroll issues
- Global feature search for the user app, wired to the home search icon - Notifications screen: swipe-to-delete, vanish animation, unread badge, and Notifee-backed foreground + background (scheduled) OS notifications - Fix Add Beneficiary save (single source of truth via beneficiaries slice) - Fix Cards tab scroll freeze and bottom blank space (use ScreenShell scroll) - User-friendly toast copy across the app - Android build tuning: parallel/caching/JVM G1 args, mobile-only ABIs Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
d7907e1d64
commit
58af541536
@@ -24,7 +24,7 @@ export default function CertificateListScreen({ route }: Props) {
|
||||
}));
|
||||
|
||||
const handleDownload = (docName: string) => {
|
||||
toast('Download Started', 'success', `${docName} is being securely downloaded to your device.`);
|
||||
toast('Download started', 'success', `${docName} is being saved securely to your device.`);
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
@@ -20,7 +20,7 @@ export default function ChequeBookRequestScreen({ navigation }: Props) {
|
||||
setIsLoading(true);
|
||||
setTimeout(() => {
|
||||
setIsLoading(false);
|
||||
toast('Request Submitted', 'success', 'Your cheque book will be delivered in 3-5 days.');
|
||||
toast('Request submitted', 'success', 'Your cheque book will arrive in 3 to 5 days.');
|
||||
navigation.goBack();
|
||||
}, 1500);
|
||||
};
|
||||
|
||||
@@ -18,13 +18,13 @@ export default function Form15G15HScreen({ navigation }: Props) {
|
||||
|
||||
const handleSubmit = () => {
|
||||
if (!panNumber || !estimatedIncome) {
|
||||
toast('Validation Failed', 'error', 'PAN and estimated income are required.');
|
||||
toast('Some details are missing', 'error', 'Please enter your PAN and estimated income to continue.');
|
||||
return;
|
||||
}
|
||||
setIsLoading(true);
|
||||
setTimeout(() => {
|
||||
setIsLoading(false);
|
||||
toast('Form Submitted successfully', 'success', `Your Form ${formType} has been recorded for the current FY.`);
|
||||
toast('Form submitted', 'success', `Your Form ${formType} has been recorded for the current financial year.`);
|
||||
navigation.goBack();
|
||||
}, 1500);
|
||||
};
|
||||
@@ -78,7 +78,7 @@ export default function Form15G15HScreen({ navigation }: Props) {
|
||||
<Text style={{ fontWeight: '700', color: theme.colors.textPrimary }}>Form 15G - FY 24-25</Text>
|
||||
<Text style={{ fontSize: 12, color: theme.colors.textSecondary }}>Submitted April 2025</Text>
|
||||
</View>
|
||||
<Button title="Download" variant="ghost" onPress={() => toast('Downloading...', 'info')} />
|
||||
<Button title="Download" variant="ghost" onPress={() => toast('Download started', 'info', 'Your form is being prepared for download.')} />
|
||||
</Card>
|
||||
</View>
|
||||
</ScreenShell>
|
||||
|
||||
@@ -20,13 +20,13 @@ export default function PositivePayScreen({ navigation }: Props) {
|
||||
|
||||
const handleSubmit = () => {
|
||||
if (!chequeNumber || !amount || !payee) {
|
||||
toast('Incomplete Form', 'error', 'Please fill all required details.');
|
||||
toast('Some details are missing', 'error', 'Please fill in all the required details to continue.');
|
||||
return;
|
||||
}
|
||||
setIsLoading(true);
|
||||
setTimeout(() => {
|
||||
setIsLoading(false);
|
||||
toast('Verification Submitted', 'success', `Details for Cheque #${chequeNumber} saved securely.`);
|
||||
toast('Cheque details submitted', 'success', `Your details for cheque #${chequeNumber} have been saved securely.`);
|
||||
navigation.goBack();
|
||||
}, 1500);
|
||||
};
|
||||
|
||||
@@ -80,9 +80,9 @@ export default function ServicesHubScreen({ navigation }: Props) {
|
||||
iconColor: '#0EA5E9',
|
||||
onPress: () =>
|
||||
toast(
|
||||
'Support chat screen pending',
|
||||
'Support chat coming soon',
|
||||
'info',
|
||||
'This feature is coming in the next update.',
|
||||
'This feature will be available in the next update.',
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -91,7 +91,7 @@ export default function ServicesHubScreen({ navigation }: Props) {
|
||||
icon: 'help-circle-outline',
|
||||
iconColor: '#8B5CF6',
|
||||
onPress: () =>
|
||||
toast('Help center pending', 'info', 'Coming soon.'),
|
||||
toast('Help center coming soon', 'info', 'This feature will be available shortly.'),
|
||||
},
|
||||
{
|
||||
id: 'cyber_security',
|
||||
|
||||
@@ -17,13 +17,13 @@ export default function SpecialInstructionsScreen({ navigation }: Props) {
|
||||
|
||||
const handleSubmit = () => {
|
||||
if (!title || !description) {
|
||||
toast('Empty fields', 'error', 'Title and description are required.');
|
||||
toast('Some details are missing', 'error', 'Please add a title and description before you continue.');
|
||||
return;
|
||||
}
|
||||
setIsLoading(true);
|
||||
setTimeout(() => {
|
||||
setIsLoading(false);
|
||||
toast('Request Logged', 'success', 'Your special instruction has been submitted to the branch.');
|
||||
toast('Request submitted', 'success', 'Your special instruction has been sent to your branch.');
|
||||
navigation.goBack();
|
||||
}, 1500);
|
||||
};
|
||||
|
||||
@@ -24,7 +24,7 @@ export default function StopPaymentScreen({ navigation }: Props) {
|
||||
setIsLoading(true);
|
||||
setTimeout(() => {
|
||||
setIsLoading(false);
|
||||
toast('Payment Stopped', 'success', `Cheque #${chequeNumber} has been blocked.`);
|
||||
toast('Payment stopped', 'success', `We've stopped payment on cheque #${chequeNumber}.`);
|
||||
navigation.goBack();
|
||||
}, 1500);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user