mirror of
https://github.com/anultravioletaurora/Jellify.git
synced 2026-05-03 20:19:33 -05:00
fix content sheet for android
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { BaseItemDto, BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models'
|
||||
import { getToken, ListItem, View, YGroup, ZStack } from 'tamagui'
|
||||
import { getToken, getTokenValue, ListItem, View, YGroup, ZStack } from 'tamagui'
|
||||
import { BaseStackParamList, RootStackParamList } from '../../screens/types'
|
||||
import { Text } from '../Global/helpers/text'
|
||||
import FavoriteContextMenuRow from '../Global/components/favorite-context-menu-row'
|
||||
@@ -26,6 +26,7 @@ import ItemImage from '../Global/components/image'
|
||||
import { StackActions } from '@react-navigation/native'
|
||||
import TextTicker from 'react-native-text-ticker'
|
||||
import { TextTickerConfig } from '../Player/component.config'
|
||||
import { useSafeAreaInsets } from 'react-native-safe-area-context'
|
||||
|
||||
type StackNavigation = Pick<NativeStackNavigationProp<BaseStackParamList>, 'navigate' | 'dispatch'>
|
||||
|
||||
@@ -39,6 +40,18 @@ interface ContextProps {
|
||||
export default function ItemContext({ item, stackNavigation }: ContextProps): React.JSX.Element {
|
||||
const { api, user, library } = useJellifyContext()
|
||||
|
||||
const { bottom } = useSafeAreaInsets()
|
||||
|
||||
const bottomMargin = useMemo(() => {
|
||||
const isAndroid = Platform.OS === 'android'
|
||||
|
||||
let finalMargin = bottom
|
||||
|
||||
if (isAndroid) finalMargin += getTokenValue('$12')
|
||||
|
||||
return finalMargin
|
||||
}, [bottom])
|
||||
|
||||
const isArtist = item.Type === BaseItemKind.MusicArtist
|
||||
const isAlbum = item.Type === BaseItemKind.MusicAlbum
|
||||
const isTrack = item.Type === BaseItemKind.Audio
|
||||
@@ -92,29 +105,27 @@ export default function ItemContext({ item, stackNavigation }: ContextProps): Re
|
||||
const renderViewAlbumRow = useMemo(() => isAlbum || (isTrack && album), [album, item])
|
||||
|
||||
return (
|
||||
<View flex={Platform.OS === 'android' ? 1 : undefined} animation={'quick'}>
|
||||
<YGroup unstyled flex={1} marginTop={'$8'}>
|
||||
<FavoriteContextMenuRow item={item} />
|
||||
<YGroup unstyled marginBottom={bottomMargin}>
|
||||
<FavoriteContextMenuRow item={item} />
|
||||
|
||||
{renderAddToQueueRow && <AddToQueueMenuRow tracks={isTrack ? [item] : tracks!} />}
|
||||
{renderAddToQueueRow && <AddToQueueMenuRow tracks={isTrack ? [item] : tracks!} />}
|
||||
|
||||
{renderAddToPlaylistRow && <AddToPlaylistRow track={item} />}
|
||||
{renderAddToPlaylistRow && <AddToPlaylistRow track={item} />}
|
||||
|
||||
{renderViewAlbumRow && (
|
||||
<ViewAlbumMenuRow
|
||||
album={isAlbum ? item : album!}
|
||||
stackNavigation={stackNavigation}
|
||||
/>
|
||||
)}
|
||||
{renderViewAlbumRow && (
|
||||
<ViewAlbumMenuRow
|
||||
album={isAlbum ? item : album!}
|
||||
stackNavigation={stackNavigation}
|
||||
/>
|
||||
)}
|
||||
|
||||
{!isPlaylist && (
|
||||
<ViewArtistMenuRow
|
||||
artists={isArtist ? [item] : artists ? artists : []}
|
||||
stackNavigation={stackNavigation}
|
||||
/>
|
||||
)}
|
||||
</YGroup>
|
||||
</View>
|
||||
{!isPlaylist && (
|
||||
<ViewArtistMenuRow
|
||||
artists={isArtist ? [item] : artists ? artists : []}
|
||||
stackNavigation={stackNavigation}
|
||||
/>
|
||||
)}
|
||||
</YGroup>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user