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 (
-
(
-
{
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 75e16b06..38913c76 100755
Binary files a/bun.lockb and b/bun.lockb differ
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",