From cd2c3f359e1e90e47c709a8bd89f9a4319e434de Mon Sep 17 00:00:00 2001 From: sldless <67599596+sldless@users.noreply.github.com> Date: Wed, 1 Jan 2025 11:47:43 -0500 Subject: [PATCH] Revert "feat: add favorites functionality with FavoriteButton component and layout" This reverts commit 468f58e531d69acdfa92be65724f8af82bf8fc3c. --- .gitignore | 4 +- app/(auth)/(favorites)/_layout.tsx | 35 --------- app/(auth)/(favorites)/index.tsx | 32 -------- app/(auth)/(tabs)/(home)/_layout.tsx | 27 ------- .../(home,libraries,search)/series/[id].tsx | 6 -- bun.lockb | Bin 589944 -> 590056 bytes components/series/FavoriteButton.tsx | 70 ------------------ package.json | 1 - 8 files changed, 1 insertion(+), 174 deletions(-) delete mode 100644 app/(auth)/(favorites)/_layout.tsx delete mode 100644 app/(auth)/(favorites)/index.tsx delete mode 100644 components/series/FavoriteButton.tsx diff --git a/.gitignore b/.gitignore index d4241d81..33ed8e6d 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,4 @@ credentials.json *.ipa .continuerc.json -.vscode/ - -bun.lockb \ No newline at end of file +.vscode/ \ No newline at end of file diff --git a/app/(auth)/(favorites)/_layout.tsx b/app/(auth)/(favorites)/_layout.tsx deleted file mode 100644 index d8c2cbf8..00000000 --- a/app/(auth)/(favorites)/_layout.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { Chromecast } from "@/components/Chromecast"; -import { nestedTabPageScreenOptions } from "@/components/stacks/NestedTabPageStack"; -import { Feather } from "@expo/vector-icons"; -import { Stack, useRouter } from "expo-router"; -import { Platform, TouchableOpacity, View } from "react-native"; -import { Menu, Divider, Provider } from "react-native-paper"; -import {useState} from "react"; - - -export default function IndexLayout() { - const router = useRouter(); - - return ( - - - ( - - - - ), - }} - /> - - - ); -} diff --git a/app/(auth)/(favorites)/index.tsx b/app/(auth)/(favorites)/index.tsx deleted file mode 100644 index 82961319..00000000 --- a/app/(auth)/(favorites)/index.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { useAtom } from "jotai"; -import { useEffect, useState } from "react"; -import { View, Text, FlatList } from "react-native"; -import { apiAtom, userAtom } from "@/providers/JellyfinProvider"; -import { getItemsApi } from "@jellyfin/sdk/lib/utils/api"; - -export default function Favorites() { - const [favorites, setFavorites] = useState([]); - const [api] = useAtom(apiAtom); - const [user] = useAtom(userAtom); - - useEffect(() => { - const fetchFavorites = async () => { - if (api && user) { - const response = await getItemsApi(api).getItems({ - userId: user.Id, - isFavorite: true, - }); - if (response.data.Items) { - setFavorites(response.data.Items); - } - } - }; - - fetchFavorites(); - }, [api, user]); - - return ( - - - ); -} diff --git a/app/(auth)/(tabs)/(home)/_layout.tsx b/app/(auth)/(tabs)/(home)/_layout.tsx index 32b4b007..d3ef928a 100644 --- a/app/(auth)/(tabs)/(home)/_layout.tsx +++ b/app/(auth)/(tabs)/(home)/_layout.tsx @@ -3,19 +3,10 @@ import { nestedTabPageScreenOptions } from "@/components/stacks/NestedTabPageSta import { Feather } from "@expo/vector-icons"; import { Stack, useRouter } from "expo-router"; import { Platform, TouchableOpacity, View } from "react-native"; -import { Menu, Divider, Provider } from "react-native-paper"; -import {useState} from "react"; - export default function IndexLayout() { const router = useRouter(); - const [menuVisible, setMenuVisible] = useState(false); - - const openMenu = () => setMenuVisible(true); - const closeMenu = () => setMenuVisible(false); - return ( - ( - - - - } - > - { - closeMenu(); - router.push("/(auth)/(favorites)"); - }} - title="Favorites" - /> - { router.push("/(auth)/settings"); @@ -89,6 +63,5 @@ export default function IndexLayout() { }} /> - ); } diff --git a/app/(auth)/(tabs)/(home,libraries,search)/series/[id].tsx b/app/(auth)/(tabs)/(home,libraries,search)/series/[id].tsx index 26db21f4..e9c9fdea 100644 --- a/app/(auth)/(tabs)/(home,libraries,search)/series/[id].tsx +++ b/app/(auth)/(tabs)/(home,libraries,search)/series/[id].tsx @@ -6,7 +6,6 @@ import { NextUp } from "@/components/series/NextUp"; import { SeasonPicker } from "@/components/series/SeasonPicker"; import { SeriesActions } from "@/components/series/SeriesActions"; import { SeriesHeader } from "@/components/series/SeriesHeader"; -import { FavoriteButton} from "@/components/series/FavoriteButton"; import { apiAtom, userAtom } from "@/providers/JellyfinProvider"; import { getBackdropUrl } from "@/utils/jellyfin/image/getBackdropUrl"; import { getLogoImageUrlById } from "@/utils/jellyfin/image/getLogoImageUrlById"; @@ -84,10 +83,6 @@ const page: React.FC = () => { !isLoading && allEpisodes && allEpisodes.length > 0 && ( - <> - - {item && } - { )} /> - ), }); }, [allEpisodes, isLoading]); diff --git a/bun.lockb b/bun.lockb index 75e16b06e4e0f6ecfa6189fdb90c87608b982ba5..38913c76c28ffe021b06e7190b9892c46512bb56 100755 GIT binary patch delta 10923 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 diff --git a/components/series/FavoriteButton.tsx b/components/series/FavoriteButton.tsx deleted file mode 100644 index 62829f43..00000000 --- a/components/series/FavoriteButton.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import Ionicons from '@expo/vector-icons/Ionicons'; -import { useAtom } from "jotai"; -import { useCallback, useState, useEffect } from "react"; -import { View } from "react-native"; -import { apiAtom, userAtom } from "@/providers/JellyfinProvider"; -import { getItemsApi, getUserLibraryApi } from "@jellyfin/sdk/lib/utils/api"; -import { RoundButton } from "../RoundButton"; - -interface Props { - seriesId: string; -} - -export const FavoriteButton: React.FC = ({ seriesId }) => { - const [isFavorited, setIsFavorited] = useState(false); - const [api] = useAtom(apiAtom); - const [user] = useAtom(userAtom); - - const checkIfFavorited = useCallback(async () => { - if (api && user) { - const response = await getItemsApi(api).getItems({ - userId: user.Id, - isFavorite: true, - recursive: true, - }); - if (!response.data.Items) return; - const isFavorite = response.data.Items.some((x: any) => x.Id === seriesId); - setIsFavorited(isFavorite); - } - }, [api, user, seriesId]); - - useEffect(() => { - checkIfFavorited(); - }, [checkIfFavorited]); - - const markFavorite = useCallback(async () => { - if (api && user) { - await getUserLibraryApi(api).markFavoriteItem({ - userId: user.Id, - itemId: seriesId, - }); - } - }, [api, user, seriesId]); - - const unmarkFavorite = useCallback(async () => { - if (api && user) { - await getUserLibraryApi(api).unmarkFavoriteItem({ - userId: user.Id, - itemId: seriesId, - }); - } - }, [api, user, seriesId]); - - const onFavorite = useCallback(async () => { - if (isFavorited) { - setIsFavorited(false); - await unmarkFavorite(); - } else { - setIsFavorited(true); - await markFavorite(); - } - }, [isFavorited, markFavorite, unmarkFavorite]); - - return ( - - - - - - ); -}; diff --git a/package.json b/package.json index 18715592..50a4de63 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,6 @@ "react-native-ios-utilities": "^4.5.1", "react-native-mmkv": "^2.12.2", "react-native-pager-view": "6.3.0", - "react-native-paper": "^5.12.5", "react-native-progress": "^5.0.1", "react-native-reanimated": "~3.10.1", "react-native-reanimated-carousel": "4.0.0-canary.15",