Add like dislike in player controls

This commit is contained in:
Violet Caulfield
2025-01-19 10:12:27 -06:00
parent bee6882e3f
commit 1c6480a4d6
3 changed files with 21 additions and 2 deletions

View File

@@ -9,7 +9,9 @@ const CAPABILITIES: Capability[] = [
Capability.PlayFromId,
Capability.SeekTo,
Capability.SkipToNext,
Capability.SkipToPrevious
Capability.SkipToPrevious,
Capability.Like,
Capability.Dislike
]
export const useSetupPlayer = () => useQuery({

View File

@@ -17,7 +17,6 @@ import { QueuingType } from "@/enums/queuing-type";
import { trigger } from "react-native-haptic-feedback";
import { getQueue, pause, seekTo, skip, skipToNext, skipToPrevious } from "react-native-track-player/lib/src/trackPlayer";
import { convertRunTimeTicksToSeconds } from "@/helpers/runtimeticks";
import { fetchUserData } from "@/api/queries/functions/favorites";
interface PlayerContext {
showPlayer: boolean;

View File

@@ -1,4 +1,8 @@
import Client from "@/api/client";
import { JellifyTrack } from "@/types/JellifyTrack";
import { getUserLibraryApi } from "@jellyfin/sdk/lib/utils/api";
import TrackPlayer, { Event } from "react-native-track-player";
import { getActiveTrack } from "react-native-track-player/lib/src/trackPlayer";
/**
* Jellify Playback Service.
@@ -26,4 +30,18 @@ export async function PlaybackService() {
TrackPlayer.addEventListener(Event.RemoteSeek, async (event) => {
await TrackPlayer.seekTo(event.position);
});
TrackPlayer.addEventListener(Event.RemoteLike, async () => {
await getUserLibraryApi(Client.instance.api!)
.markFavoriteItem({
itemId: (await getActiveTrack() as JellifyTrack).item.Id!
});
});
TrackPlayer.addEventListener(Event.RemoteDislike, async () => {
await getUserLibraryApi(Client.instance.api!)
.markFavoriteItem({
itemId: (await getActiveTrack() as JellifyTrack).item.Id!
});
});
}