aboutsummaryrefslogtreecommitdiff
path: root/src/screens/AppList.tsx
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2024-10-05 22:14:23 +0530
committerAkshay Nair <phenax5@gmail.com>2024-10-05 22:24:11 +0530
commit686156ad6e44c17609e7903f7d99e12c8a940af6 (patch)
tree03246a5723528cd33d6f559eba7183e7f0c1c229 /src/screens/AppList.tsx
parent8dc2e23927a6f61d9dc0405b854e0fc1e158d613 (diff)
downloaddaft-launcher-686156ad6e44c17609e7903f7d99e12c8a940af6.tar.gz
daft-launcher-686156ad6e44c17609e7903f7d99e12c8a940af6.zip
Add autofocus when clear button is clicked + ui changes
Diffstat (limited to '')
-rw-r--r--src/screens/AppList.tsx20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/screens/AppList.tsx b/src/screens/AppList.tsx
index 4ef5ec3..5af2c55 100644
--- a/src/screens/AppList.tsx
+++ b/src/screens/AppList.tsx
@@ -17,7 +17,7 @@ const AppListItem: React.FC<{app: AppDetail}> = React.memo(({app}) => {
return (
<AppMenu app={app}>
<View className="p-2">
- <Text className="text-md font-bold">{app.label}</Text>
+ <Text className="text-base">{app.label}</Text>
<Text className="text-xs text-gray-600">{app.packageName}</Text>
</View>
</AppMenu>
@@ -29,7 +29,11 @@ export const AppList: React.FC<{active: boolean}> = React.memo(({active}) => {
const textInputRef = useRef<TextInput>(null);
const [searchText, setSearchText] = useState('');
- const clearSearchInput = useStableCallback(() => setSearchText(''));
+ const clearSearchInput = useStableCallback(() => {
+ setSearchText('');
+ if (active)
+ TextInput.State.focusTextInput(textInputRef.current ?? undefined);
+ });
const filteredApps = useMemo(() => {
if (searchText === '') return apps;
@@ -45,8 +49,8 @@ export const AppList: React.FC<{active: boolean}> = React.memo(({active}) => {
return (
<View className="px-2">
- <View className="flex justify-between flex-row items-center gap-2 px-2">
- <Icon name="search" size={21} color="#555" className="py-2" />
+ <View className="flex justify-between flex-row items-center gap-2 px-2 border-b border-slate-800">
+ <Icon name="search" size={21} color="#666" className="py-2" />
<TextInput
ref={textInputRef}
autoFocus={false}
@@ -59,11 +63,15 @@ export const AppList: React.FC<{active: boolean}> = React.memo(({active}) => {
underlayColor="#222"
onPress={clearSearchInput}
className="p-2">
- <Icon name="close" size={21} color="#aaa" />
+ <Icon name="close" size={17} color="#666" />
</TouchableHighlight>
</View>
- <ScrollView contentInsetAdjustmentBehavior="automatic">
+ <ScrollView
+ contentInsetAdjustmentBehavior="automatic"
+ keyboardShouldPersistTaps="always"
+ keyboardDismissMode="on-drag"
+ className="pt-2">
<View className="flex-1">
{filteredApps.map((app, index) => (
<AppListItem app={app} key={app.packageName + index} />