diff --git a/src/core/ui/components/AddonPage.tsx b/src/core/ui/components/AddonPage.tsx index 7122e39..f2c5d4c 100644 --- a/src/core/ui/components/AddonPage.tsx +++ b/src/core/ui/components/AddonPage.tsx @@ -7,7 +7,7 @@ import isValidHttpUrl from "@lib/utils/isValidHttpUrl"; import { lazyDestructure } from "@lib/utils/lazy"; import { findByProps } from "@metro"; import { clipboard } from "@metro/common"; -import { Button, FlashList, FloatingActionButton, HelpMessage, IconButton, Stack, Text, TextInput } from "@metro/common/components"; +import { Button, FlashList, FloatingActionButton, HelpMessage, IconButton, Stack, Text, TextInput, useSafeAreaInsets } from "@metro/common/components"; import { ErrorBoundary, Search } from "@ui/components"; import fuzzysort from "fuzzysort"; import { ComponentType, ReactNode, useCallback, useMemo } from "react"; @@ -111,6 +111,7 @@ export default function AddonPage({ CardComponent, ...props }: const [search, setSearch] = React.useState(""); const [sortFn, setSortFn] = React.useState<((a: unknown, b: unknown) => number) | null>(() => null); + const { bottom: bottomInset } = useSafeAreaInsets(); const results = useMemo(() => { let values = props.items; @@ -198,6 +199,7 @@ export default function AddonPage({ CardComponent, ...props }: renderItem={({ item }: any) => } /> {props.installAction && } diff --git a/src/metro/common/components.ts b/src/metro/common/components.ts index 48c8d3e..358b46b 100644 --- a/src/metro/common/components.ts +++ b/src/metro/common/components.ts @@ -20,7 +20,7 @@ export const CompatButton = findByPropsLazy("Looks", "Colors", "Sizes"); export const HelpMessage = findByNameLazy("HelpMessage"); // React Native's included SafeAreaView only adds padding on iOS. -export const { SafeAreaView, SafeAreaProvider } = lazyDestructure(() => findByProps("useSafeAreaInsets")); +export const { SafeAreaView, SafeAreaProvider, useSafeAreaInsets } = lazyDestructure(() => findByProps("useSafeAreaInsets")); // ActionSheet export const ActionSheetRow = findProp("ActionSheetRow"); diff --git a/src/metro/common/types/components.ts b/src/metro/common/types/components.ts index 1a8bbde..619e8e2 100644 --- a/src/metro/common/types/components.ts +++ b/src/metro/common/types/components.ts @@ -133,6 +133,7 @@ interface FABProps { icon: ImageSourcePropType | ReactNode; style?: Style; onPress: () => void; + positionBottom?: number; } export type FloatingActionButton = React.FC;