diff --git a/src/core/ui/components/AddonPage.tsx b/src/core/ui/components/AddonPage.tsx index 0cfc3d8..21e2e3a 100644 --- a/src/core/ui/components/AddonPage.tsx +++ b/src/core/ui/components/AddonPage.tsx @@ -4,10 +4,10 @@ import { findAssetId } from "@lib/api/assets"; import { settings } from "@lib/api/settings"; import AlertModal, { AlertActionButton } from "@lib/ui/components/wrappers/AlertModal"; import isValidHttpUrl from "@lib/utils/isValidHttpUrl"; -import { lazyDestructure } from "@lib/utils/lazy"; +import { lazyDestructure, proxyLazy } from "@lib/utils/lazy"; import { findByProps } from "@metro"; import { clipboard } from "@metro/common"; -import { Button, FlashList, FloatingActionButton, HelpMessage, IconButton, SafeAreaView, Stack, Text, TextInput } from "@metro/common/components"; +import { Button, FlashList, FloatingActionButton, HelpMessage, IconButton, Stack, Text, TextInput } from "@metro/common/components"; import { ErrorBoundary, Search } from "@ui/components"; import fuzzysort from "fuzzysort"; import { ComponentType, ReactNode, useCallback, useMemo } from "react"; @@ -39,6 +39,8 @@ interface AddonPageProps { ListFooterComponent?: ComponentType; } +const useSafeAreaInsets = proxyLazy(() => findByProps("useSafeAreaInsets").useSafeAreaInsets); + function InputAlert(props: { label: string, fetchFn: (url: string) => Promise; }) { const [value, setValue] = React.useState(""); const [error, setError] = React.useState(""); @@ -111,6 +113,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 insets = useSafeAreaInsets(); const results = useMemo(() => { let values = props.items; @@ -198,12 +201,13 @@ export default function AddonPage({ CardComponent, ...props }: renderItem={({ item }: any) => } /> {props.installAction && ( - + - + )} ); diff --git a/src/metro/common/types/components.ts b/src/metro/common/types/components.ts index 1a8bbde..ebedd14 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;