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:
Abin Toppo
2026-06-02 16:36:27 +05:30
co-authored by Claude Opus 4.8
parent d7907e1d64
commit 58af541536
48 changed files with 1773 additions and 157 deletions
+4
View File
@@ -1,6 +1,8 @@
import React from 'react';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import HomeScreen from '../modules/home/screens/HomeScreen';
import GlobalSearchScreen from '../modules/search/screens/GlobalSearchScreen';
import NotificationsScreen from '../modules/notifications/screens/NotificationsScreen';
import MiniStatementScreen from '../modules/home/screens/MiniStatementScreen';
import AccountDetailsScreen from '../modules/home/screens/AccountDetailsScreen';
import ReKycScreen from '../modules/home/screens/ReKycScreen';
@@ -14,6 +16,8 @@ export const HomeNavigator = () => {
return (
<Stack.Navigator screenOptions={{ headerShown: false }}>
<Stack.Screen name="HomeMain" component={HomeScreen} />
<Stack.Screen name="GlobalSearch" component={GlobalSearchScreen} />
<Stack.Screen name="Notifications" component={NotificationsScreen} />
<Stack.Screen name="MiniStatement" component={MiniStatementScreen} />
<Stack.Screen name="AccountDetails" component={AccountDetailsScreen} />
<Stack.Screen name="ReKyc" component={ReKycScreen} />
-2
View File
@@ -20,8 +20,6 @@ export const RootNavigator = () => {
const renderAppStack = () => {
switch (role) {
case 'Employee':
return <EmployeeNavigator />;
case 'Agent':
return <AgentNavigator />;
case 'User':
+2
View File
@@ -22,6 +22,8 @@ export type LoanStackParamList = {
export type HomeStackParamList = {
HomeMain: undefined;
GlobalSearch: undefined;
Notifications: undefined;
MiniStatement: { accountId: string };
AccountDetails: { accountId: string };
ReKyc: { accountId: string };