fix: refactor

This commit is contained in:
Fredrik Burmester
2024-08-16 19:56:40 +02:00
parent d15d02d61d
commit d39e3aeb80
10 changed files with 143 additions and 111 deletions

View File

@@ -210,8 +210,6 @@ export default function index() {
limit: 10,
});
console.log("Popular", response.data.Items?.length);
return response.data.Items || [];
},
enabled: !!api && !!user?.Id && !!mediaListCollection,

View File

@@ -60,8 +60,6 @@ const page: React.FC = () => {
const sortBy: ItemSortBy[] = [];
const includeItemTypes: BaseItemKind[] = [];
console.log("Collection", { collection });
switch (collection?.CollectionType) {
case "movies":
sortBy.push("SortName", "ProductionYear");

View File

@@ -2,6 +2,7 @@ import { AudioTrackSelector } from "@/components/AudioTrackSelector";
import { Bitrate, BitrateSelector } from "@/components/BitrateSelector";
import {
currentlyPlayingItemAtom,
fullScreenAtom,
playingAtom,
} from "@/components/CurrentlyPlayingBar";
import { DownloadItem } from "@/components/DownloadItem";
@@ -37,6 +38,10 @@ import CastContext, {
useRemoteMediaClient,
} from "react-native-google-cast";
import { ParallaxScrollView } from "../../../components/ParallaxPage";
import { useSettings } from "@/utils/atoms/settings";
import ios from "@/utils/profiles/ios";
import native from "@/utils/profiles/native";
import old from "@/utils/profiles/old";
const page: React.FC = () => {
const local = useLocalSearchParams();
@@ -45,10 +50,13 @@ const page: React.FC = () => {
const [api] = useAtom(apiAtom);
const [user] = useAtom(userAtom);
const [settings] = useSettings();
const castDevice = useCastDevice();
const [, setCurrentlyPlying] = useAtom(currentlyPlayingItemAtom);
const [, setPlaying] = useAtom(playingAtom);
const [, setFullscreen] = useAtom(fullScreenAtom);
const client = useRemoteMediaClient();
const chromecastReady = useMemo(() => !!castDevice?.deviceId, [castDevice]);
@@ -95,10 +103,21 @@ const page: React.FC = () => {
castDevice,
selectedAudioStream,
selectedSubtitleStream,
settings,
],
queryFn: async () => {
if (!api || !user?.Id || !sessionData) return null;
let deviceProfile: any = ios;
if (castDevice?.deviceId) {
deviceProfile = chromecastProfile;
} else if (settings?.deviceProfile === "Native") {
deviceProfile = native;
} else if (settings?.deviceProfile === "Old") {
deviceProfile = old;
}
const url = await getStreamUrl({
api,
userId: user.Id,
@@ -106,16 +125,17 @@ const page: React.FC = () => {
startTimeTicks: item?.UserData?.PlaybackPositionTicks || 0,
maxStreamingBitrate: maxBitrate.value,
sessionData,
deviceProfile: castDevice?.deviceId ? chromecastProfile : ios12,
deviceProfile,
audioStreamIndex: selectedAudioStream,
subtitleStreamIndex: selectedSubtitleStream,
forceDirectPlay: settings?.forceDirectPlay,
});
console.log("Transcode URL: ", url);
return url;
},
enabled: !!sessionData,
enabled: !!sessionData && !!api && !!user?.Id && !!item?.Id,
staleTime: 0,
});
@@ -147,11 +167,13 @@ const page: React.FC = () => {
item,
playbackUrl,
});
setPlaying(true);
if (settings?.openFullScreenVideoPlayerByDefault === true) {
setFullscreen(true);
}
}
},
[playbackUrl, item],
[playbackUrl, item, settings],
);
const backdropUrl = useMemo(

View File

@@ -20,12 +20,6 @@ const page: React.FC = () => {
seasonIndex: string;
};
useEffect(() => {
if (seriesId) {
console.log("seasonIndex", seasonIndex);
}
}, [seriesId]);
const [api] = useAtom(apiAtom);
const [user] = useAtom(userAtom);

View File

@@ -23,7 +23,7 @@ import CastContext, {
import { chromecastProfile } from "@/utils/profiles/chromecast";
import {
currentlyPlayingItemAtom,
triggerPlayAtom,
playingAtom,
} from "@/components/CurrentlyPlayingBar";
import { AudioTrackSelector } from "@/components/AudioTrackSelector";
import { SubtitleTrackSelector } from "@/components/SubtitleTrackSelector";
@@ -40,6 +40,8 @@ const page: React.FC = () => {
const [api] = useAtom(apiAtom);
const [user] = useAtom(userAtom);
const [, setPlaying] = useAtom(playingAtom);
const castDevice = useCastDevice();
const navigation = useNavigation();
@@ -139,7 +141,6 @@ const page: React.FC = () => {
const [, setCp] = useAtom(currentlyPlayingItemAtom);
const client = useRemoteMediaClient();
const [, setPlayTrigger] = useAtom(triggerPlayAtom);
const onPressPlay = useCallback(
async (type: "device" | "cast" = "device") => {
@@ -169,9 +170,7 @@ const page: React.FC = () => {
item,
playbackUrl,
});
// Use this trigger to initiate playback in another component (CurrentlyPlayingBar)
setPlayTrigger((prev) => prev + 1);
setPlaying(true);
}
},
[playbackUrl, item],