diff --git a/package.json b/package.json index 6a9606c2..accce592 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "@react-navigation/native-stack": "6.9.4", "@reduxjs/toolkit": "1.9.1", "@sentry/browser": "7.29.0", + "@shopify/flash-list": "^1.4.3", "@supersami/rn-foreground-service": "^2.1.0", "appcenter": "^4.4.5", "appcenter-analytics": "^4.4.5", @@ -51,6 +52,7 @@ "react": "18.1.0", "react-hook-form": "7.40.0", "react-native": "0.70.6", + "react-native-blob-util": "0.17.3", "react-native-call-log": "2.1.2", "react-native-code-push": "7.1.0", "react-native-contacts": "7.0.5", @@ -72,11 +74,10 @@ "react-native-toast-message": "2.1.5", "react-native-vector-icons": "9.2.0", "react-native-version-number": "0.3.6", + "react-native-webview": "12.0.2", "react-redux": "8.0.5", "redux": "4.2.0", - "redux-persist": "6.0.0", - "react-native-webview": "12.0.2", - "react-native-blob-util": "0.17.3" + "redux-persist": "6.0.0" }, "devDependencies": { "@babel/core": "7.12.9", @@ -100,6 +101,7 @@ "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "17.0.0", "eslint-config-prettier": "^8.8.0", + "eslint-config-prettier-react": "0.0.24", "eslint-config-standard-with-typescript": "^34.0.1", "eslint-plugin-import": "^2.25.2", "eslint-plugin-jsx-a11y": "6.6.1", @@ -115,7 +117,6 @@ "miragejs": "0.1.47", "prettier": "^2.8.7", "react-test-renderer": "18.1.0", - "eslint-config-prettier-react": "0.0.24", "typescript": "4.8.3" }, "jest": { diff --git a/src/screens/allCases/CasesList.tsx b/src/screens/allCases/CasesList.tsx index 3e6211b3..09b52fd4 100644 --- a/src/screens/allCases/CasesList.tsx +++ b/src/screens/allCases/CasesList.tsx @@ -1,15 +1,15 @@ import React, { useCallback, useMemo, useRef, useState } from 'react'; import { Animated, + ListRenderItem, ListRenderItemInfo, Modal, NativeScrollEvent, NativeSyntheticEvent, StyleSheet, View, - VirtualizedList, } from 'react-native'; -import { GenericStyles } from '../../../RN-UI-LIB/src/styles'; +import { GenericStyles, SCREEN_WIDTH } from '../../../RN-UI-LIB/src/styles'; import { COLORS } from '../../../RN-UI-LIB/src/styles/colors'; import { RootState } from '../../store/store'; import { CaseTypes, ICaseItem, ICaseItemCaseDetailObj } from './interface'; @@ -35,6 +35,7 @@ import { evaluateFilterForCases } from '../../components/screens/allCases/allCas import { debounce } from '../../components/utlis/commonFunctions'; import { getCurrentScreen } from '../../components/utlis/navigationUtlis'; import { useFocusEffect } from '@react-navigation/native'; +import { FlashList } from '@shopify/flash-list'; export const getItem = (item: Array, index: number) => item[index]; @@ -200,6 +201,8 @@ const CasesList: React.FC = ({ casesList = [], isVisitPlan }) => { setShowFilterModal(!showFilterModal); }; + const listStyle = quickFiltersPresent ? styles.listWithQuickFilters : styles.list; + return ( = ({ casesList = [], isVisitPlan }) => { ]} > ) : null} - item.caseReferenceId} - getItemCount={(item) => item.length} - getItem={getItem} - ListEmptyComponent={listEmptyComponent} - /> + + {filteredCasesListWithCTA.length ? ( + + ) : ( + listEmptyComponent + )} +