diff --git a/app/(auth)/(tabs)/(home,libraries,search)/items/page.tsx b/app/(auth)/(tabs)/(home,libraries,search)/items/page.tsx index fa358ddf..9eca5928 100644 --- a/app/(auth)/(tabs)/(home,libraries,search)/items/page.tsx +++ b/app/(auth)/(tabs)/(home,libraries,search)/items/page.tsx @@ -1,13 +1,17 @@ +import { CurrentlyPlayingBar } from "@/components/CurrentlyPlayingBar"; import { ItemContent } from "@/components/ItemContent"; -import { useLocalSearchParams } from "expo-router"; -import React, { useMemo } from "react"; +import { Stack, useLocalSearchParams } from "expo-router"; +import React from "react"; const Page: React.FC = () => { const { id } = useLocalSearchParams() as { id: string }; - const memoizedContent = useMemo(() => , [id]); - - return memoizedContent; + return ( + <> + + + + ); }; -export default React.memo(Page); +export default Page; diff --git a/app/_layout.tsx b/app/_layout.tsx index ad48c4e3..1f4d5131 100644 --- a/app/_layout.tsx +++ b/app/_layout.tsx @@ -107,7 +107,12 @@ function Layout() { - + { const { @@ -344,6 +343,19 @@ export const CurrentlyPlayingBar: React.FC = () => { return !!nextItem; }, [nextItem]); + useEffect(() => { + if (Platform.OS === "android") { + if (currentlyPlaying) NavigationBar.setVisibilityAsync("hidden"); + else NavigationBar.setVisibilityAsync("visible"); + } + + return () => { + if (Platform.OS === "android") { + NavigationBar.setVisibilityAsync("visible"); + } + }; + }, [currentlyPlaying]); + if (!api || !currentlyPlaying) return null; return ( @@ -619,8 +631,8 @@ export const CurrentlyPlayingBar: React.FC = () => { } const { x, y, url } = trickPlayUrl; - const tileWidth = 200; - const tileHeight = 200 / trickplayInfo.aspectRatio!; + const tileWidth = 150; + const tileHeight = 150 / trickplayInfo.aspectRatio!; return ( { > = ({ ); const stopPlayback = useCallback(async () => { + const id = currentlyPlaying?.item?.Id; + setCurrentlyPlayingState(null); + await reportPlaybackStopped({ api, - itemId: currentlyPlaying?.item?.Id, + itemId: id, sessionId: session?.PlaySessionId, positionTicks: progressTicks ? progressTicks : 0, }); - setCurrentlyPlayingState(null); }, [currentlyPlaying?.item.Id, session?.PlaySessionId, progressTicks, api]); const setIsPlaying = useCallback(