diff --git a/src/api/queries/item.ts b/src/api/queries/item.ts index 32d263e9..6c9c8dd1 100644 --- a/src/api/queries/item.ts +++ b/src/api/queries/item.ts @@ -122,7 +122,6 @@ export async function fetchAlbumDiscs( const discs = data.Items ? Object.keys(groupBy(data.Items, (track) => track.ParentIndexNumber)).map( (discNumber) => { - console.debug(discNumber) return { title: discNumber, data: data.Items!.filter((track: BaseItemDto) => diff --git a/src/components/Context/index.tsx b/src/components/Context/index.tsx index 4d75a66c..1977c20b 100644 --- a/src/components/Context/index.tsx +++ b/src/components/Context/index.tsx @@ -84,13 +84,12 @@ export default function ItemContext({ item, stackNavigation }: ContextProps): Re : [] : [] - const itemTracks = isTrack - ? [item] - : isAlbum && discs - ? discs.flatMap((data) => data.data) - : isPlaylist && tracks - ? tracks - : [] + const itemTracks = useMemo(() => { + if (isTrack) return [item] + else if (isAlbum && discs) return discs.flatMap((data) => data.data) + else if (isPlaylist && tracks) return tracks + else return [] + }, [isTrack, isAlbum, discs, isPlaylist, tracks]) useEffect(() => trigger('impactLight'), [item?.Id]) diff --git a/src/components/Player/components/header.tsx b/src/components/Player/components/header.tsx index bbb97e5c..5efc4631 100644 --- a/src/components/Player/components/header.tsx +++ b/src/components/Player/components/header.tsx @@ -1,6 +1,6 @@ import { useNowPlayingContext } from '../../../providers/Player' import { useQueueRefContext } from '../../../providers/Player/queue' -import { XStack, YStack, Spacer, useTheme, getTokenValue } from 'tamagui' +import { XStack, YStack, Spacer, useTheme } from 'tamagui' import { Text } from '../../Global/helpers/text' import React, { useMemo } from 'react' import ItemImage from '../../Global/components/image' @@ -10,8 +10,6 @@ import MaterialDesignIcons from '@react-native-vector-icons/material-design-icon import navigationRef from '../../../../navigation' export default function PlayerHeader(): React.JSX.Element { - const imageBounds = getTokenValue('$20') * 2 - const nowPlaying = useNowPlayingContext() const queueRef = useQueueRefContext() @@ -55,6 +53,7 @@ export default function PlayerHeader(): React.JSX.Element { paddingHorizontal={'$2'} maxHeight={'70%'} marginVertical={'auto'} + paddingVertical={Platform.OS === 'android' ? '$4' : '$2'} > 2) return false diff --git a/src/providers/Player/queue.tsx b/src/providers/Player/queue.tsx index 0550ca8c..efaa5749 100644 --- a/src/providers/Player/queue.tsx +++ b/src/providers/Player/queue.tsx @@ -720,7 +720,10 @@ const QueueContextInitailizer = () => { if (playQueue.length > 0 && currentIndex > -1 && !initialized) { TrackPlayer.setQueue(playQueue) TrackPlayer.skip(currentIndex) - setInitialized(true) + + // Set Initialized after a timeout to ignore events emitted + // while the queue is setting up + setTimeout(() => setInitialized(true), 500) } else { console.debug(`No queue to initialize from`) setInitialized(true)