From 34b8c1f962a5c835351dc6f4369757259998af16 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 28 Sep 2024 22:19:31 +0530 Subject: Finish up app menu + fix drag interaction --- src/screens/AppList.tsx | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'src/screens/AppList.tsx') diff --git a/src/screens/AppList.tsx b/src/screens/AppList.tsx index e6b3e6e..adb51b5 100644 --- a/src/screens/AppList.tsx +++ b/src/screens/AppList.tsx @@ -1,14 +1,24 @@ import {matchSorter} from 'match-sorter'; import React, {useEffect, useMemo, useRef, useState} from 'react'; import {ScrollView, Text, TextInput, View} from 'react-native'; -import {AppDetail} from 'react-native-launcher-kit/typescript/Interfaces/InstalledApps'; import Icon from 'react-native-vector-icons/MaterialIcons'; import {AppMenu} from '../components/AppMenu'; +import {useInstalledApps} from '../hooks/useInstalledApps'; +import {AppDetail} from 'react-native-launcher-kit/typescript/Interfaces/InstalledApps'; + +const AppListItem: React.FC<{app: AppDetail}> = React.memo(({app}) => { + return ( + + + {app.label} + {app.packageName} + + + ); +}); -export const AppList: React.FC<{apps: AppDetail[]; active: boolean}> = ({ - apps, - active, -}) => { +export const AppList: React.FC<{active: boolean}> = React.memo(({active}) => { + const {apps} = useInstalledApps(); const textInputRef = useRef(null); const [searchText, setSearchText] = useState(''); @@ -41,17 +51,10 @@ export const AppList: React.FC<{apps: AppDetail[]; active: boolean}> = ({ {filteredApps.map((app, index) => ( - - - - {app.label} - - {app.packageName} - - + ))} ); -}; +}); -- cgit v1.3.1