mirror of
https://github.com/Jellify-Music/App.git
synced 2026-03-01 07:09:03 -06:00
more memory optimizations
This commit is contained in:
@@ -13,6 +13,4 @@ export const useApi = (serverUrl?: string, username?: string, password?: string,
|
||||
|
||||
return createApi(serverUrl, username, password, accessToken)
|
||||
},
|
||||
gcTime: 1000,
|
||||
refetchInterval: false
|
||||
})
|
||||
@@ -1,30 +0,0 @@
|
||||
import { QueryKeys } from "../../enums/query-keys";
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
import { fetchMusicLibraries, fetchPlaylistLibrary, fetchUserViews } from "./functions/libraries";
|
||||
|
||||
/**
|
||||
* @deprecated use {@link useUserViews} instead as that will respect user permissions
|
||||
* @returns
|
||||
*/
|
||||
export const useMusicLibraries = () => useQuery({
|
||||
queryKey: [QueryKeys.Libraries],
|
||||
queryFn: () => fetchMusicLibraries()
|
||||
});
|
||||
|
||||
/**
|
||||
* @deprecated use {@link useUserViews} instead as that will respect user permissions
|
||||
* @returns
|
||||
*/
|
||||
export const usePlaylistLibrary = () => useQuery({
|
||||
queryKey: [QueryKeys.Playlist],
|
||||
queryFn: () => fetchPlaylistLibrary()
|
||||
});
|
||||
|
||||
/**
|
||||
*
|
||||
* @returns
|
||||
*/
|
||||
export const useUserViews = () => useQuery({
|
||||
queryKey: [QueryKeys.UserViews],
|
||||
queryFn: () => fetchUserViews()
|
||||
});
|
||||
@@ -9,6 +9,7 @@ import { NativeStackNavigationProp } from "@react-navigation/native-stack";
|
||||
import { trigger } from "react-native-haptic-feedback";
|
||||
import { QueuingType } from "../../../enums/queuing-type";
|
||||
import Icon from "../../../components/Global/helpers/icon";
|
||||
import { FlatList } from "react-native";
|
||||
|
||||
export default function RecentlyPlayed({
|
||||
navigation
|
||||
@@ -42,11 +43,10 @@ export default function RecentlyPlayed({
|
||||
</YStack>
|
||||
)}
|
||||
</XStack>
|
||||
<ScrollView
|
||||
<FlatList
|
||||
horizontal
|
||||
removeClippedSubviews // Save memory usage
|
||||
>
|
||||
{ recentTracks && recentTracks.map((recentlyPlayedTrack, index) => {
|
||||
data={recentTracks}
|
||||
renderItem={({ index, item: recentlyPlayedTrack }) => {
|
||||
return (
|
||||
<ItemCard
|
||||
caption={recentlyPlayedTrack.Name}
|
||||
@@ -58,7 +58,7 @@ export default function RecentlyPlayed({
|
||||
usePlayNewQueue.mutate({
|
||||
track: recentlyPlayedTrack,
|
||||
index: index,
|
||||
tracklist: recentTracks,
|
||||
tracklist: recentTracks ?? [recentlyPlayedTrack],
|
||||
queue: "Recently Played",
|
||||
queuingType: QueuingType.FromSelection
|
||||
});
|
||||
@@ -72,8 +72,11 @@ export default function RecentlyPlayed({
|
||||
}}
|
||||
/>
|
||||
)
|
||||
})}
|
||||
</ScrollView>
|
||||
}}
|
||||
style={{
|
||||
overflow: 'hidden'
|
||||
}}
|
||||
/>
|
||||
</View>
|
||||
)
|
||||
}
|
||||
@@ -4,11 +4,13 @@ import { useAuthenticationContext } from "../provider";
|
||||
import { H1, H2, Label, Text } from "../../Global/helpers/text";
|
||||
import Button from "../../Global/helpers/button";
|
||||
import _ from "lodash";
|
||||
import { useUserViews } from "../../../api/queries/libraries";
|
||||
import { SafeAreaView } from "react-native-safe-area-context";
|
||||
import Client from "../../../api/client";
|
||||
import { useJellifyContext } from "../../provider";
|
||||
import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models";
|
||||
import { QueryKeys } from "../../../enums/query-keys";
|
||||
import { fetchUserViews } from "../../../api/queries/functions/libraries";
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
|
||||
export default function ServerLibrary(): React.JSX.Element {
|
||||
|
||||
@@ -19,7 +21,10 @@ export default function ServerLibrary(): React.JSX.Element {
|
||||
const [libraryId, setLibraryId] = useState<string | undefined>(undefined);
|
||||
const [playlistLibrary, setPlaylistLibrary] = useState<BaseItemDto | undefined>(undefined);
|
||||
|
||||
const { data : libraries, isError, isPending, isSuccess, refetch } = useUserViews();
|
||||
const { data : libraries, isError, isPending, isSuccess, refetch } = useQuery({
|
||||
queryKey: [QueryKeys.UserViews],
|
||||
queryFn: () => fetchUserViews()
|
||||
});;
|
||||
|
||||
useEffect(() => {
|
||||
if (!isPending && isSuccess)
|
||||
|
||||
Reference in New Issue
Block a user