mirror of
https://github.com/Jellify-Music/App.git
synced 2026-04-22 01:28:28 -05:00
whoa there champ
This commit is contained in:
@@ -2,7 +2,7 @@ import { ImageFormat, ImageType } from "@jellyfin/sdk/lib/generated-client/model
|
||||
import { getImageApi } from "@jellyfin/sdk/lib/utils/api"
|
||||
import _ from "lodash"
|
||||
import Client from "../../../api/client"
|
||||
import { queryConfig } from "../query.config";
|
||||
import { QueryConfig } from "../query.config";
|
||||
|
||||
export function fetchItemImage(itemId: string, imageType?: ImageType, size?: number) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export function fetchItemImage(itemId: string, imageType?: ImageType, size?: num
|
||||
.getItemImage({
|
||||
itemId,
|
||||
imageType: imageType ? imageType : ImageType.Primary,
|
||||
...queryConfig.playerArtwork,
|
||||
...QueryConfig.playerArtwork,
|
||||
}, {
|
||||
responseType: 'blob'
|
||||
})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { BaseItemDto, BaseItemKind, ItemSortBy, SortOrder } from "@jellyfin/sdk/lib/generated-client/models";
|
||||
import { getItemsApi } from "@jellyfin/sdk/lib/utils/api/items-api";
|
||||
import { queryConfig } from "../query.config";
|
||||
import { QueryConfig } from "../query.config";
|
||||
import Client from "../../client";
|
||||
|
||||
export function fetchRecentlyPlayed(): Promise<BaseItemDto[]> {
|
||||
@@ -13,7 +13,7 @@ export function fetchRecentlyPlayed(): Promise<BaseItemDto[]> {
|
||||
includeItemTypes: [
|
||||
BaseItemKind.Audio
|
||||
],
|
||||
limit: queryConfig.limits.recents,
|
||||
limit: QueryConfig.limits.recents,
|
||||
parentId: Client.library!.musicLibraryId,
|
||||
recursive: true,
|
||||
sortBy: [
|
||||
|
||||
@@ -2,6 +2,7 @@ import Client from "../../../api/client";
|
||||
import { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models";
|
||||
import { getItemsApi } from "@jellyfin/sdk/lib/utils/api";
|
||||
import { isEmpty, trim } from "lodash";
|
||||
import { QueryConfig } from "../query.config";
|
||||
|
||||
/**
|
||||
* Performs a search for items against the Jellyfin server, trimming whitespace
|
||||
@@ -24,7 +25,8 @@ export async function search(searchString: string | undefined) : Promise<BaseIte
|
||||
'MusicAlbum',
|
||||
'MusicArtist',
|
||||
'Playlist'
|
||||
]
|
||||
],
|
||||
limit: QueryConfig.limits.search
|
||||
})
|
||||
.then((response) => {
|
||||
if (response.data.Items)
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { ImageFormat } from "@jellyfin/sdk/lib/generated-client/models";
|
||||
|
||||
export const queryConfig = {
|
||||
export const QueryConfig = {
|
||||
limits: {
|
||||
recents: 50 // TODO: Adjust this when we add a list navigator to the end of the recents
|
||||
recents: 50, // TODO: Adjust this when we add a list navigator to the end of the recents
|
||||
search: 25,
|
||||
},
|
||||
images: {
|
||||
height: 300,
|
||||
@@ -24,5 +25,9 @@ export const queryConfig = {
|
||||
width: 1000,
|
||||
format: ImageFormat.Jpg
|
||||
},
|
||||
staleTime: 1000 * 60 * 60 * 24 // 1 Day
|
||||
staleTime: {
|
||||
oneDay: 1000 * 60 * 60 * 24, // 1 Day
|
||||
oneWeek: 1000 * 60 * 60 * 24 * 7, // 7 Days
|
||||
oneFortnight: 1000 * 60 * 60 * 24 * 7 * 14 // 14 Days
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ import { QueryKeys } from "../../enums/query-keys";
|
||||
import { ItemSortBy } from "@jellyfin/sdk/lib/generated-client/models/item-sort-by";
|
||||
import { getItemsApi } from "@jellyfin/sdk/lib/utils/api/items-api";
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
import { queryConfig } from "./query.config";
|
||||
import { QueryConfig } from "./query.config";
|
||||
import Client from "../client";
|
||||
|
||||
export const useItemTracks = (itemId: string, sort: boolean = false) => useQuery({
|
||||
@@ -29,5 +29,5 @@ export const useItemTracks = (itemId: string, sort: boolean = false) => useQuery
|
||||
return response.data.Items ? response.data.Items! : [];
|
||||
})
|
||||
},
|
||||
staleTime: queryConfig.staleTime
|
||||
staleTime: QueryConfig.staleTime.oneDay
|
||||
})
|
||||
@@ -4,7 +4,7 @@ import { ScrollView, YStack, XStack } from "tamagui";
|
||||
import { CachedImage } from "@georstat/react-native-image-cache";
|
||||
import { getImageApi } from "@jellyfin/sdk/lib/utils/api";
|
||||
import { BaseItemDto, ImageType } from "@jellyfin/sdk/lib/generated-client/models";
|
||||
import { queryConfig } from "../../api/queries/query.config";
|
||||
import { QueryConfig } from "../../api/queries/query.config";
|
||||
import { H4, H5, Text } from "../Global/helpers/text";
|
||||
import { FlatList } from "react-native";
|
||||
import { usePlayerContext } from "../../player/provider";
|
||||
@@ -52,7 +52,7 @@ export default function Album(props: AlbumProps): React.JSX.Element {
|
||||
.getItemImageUrlById(
|
||||
props.album.Id!,
|
||||
ImageType.Primary,
|
||||
{ ...queryConfig.playerArtwork})}
|
||||
{ ...QueryConfig.playerArtwork})}
|
||||
imageStyle={{
|
||||
position: "relative",
|
||||
width: width / 1.1,
|
||||
|
||||
@@ -8,7 +8,7 @@ import { H2 } from "../Global/helpers/text";
|
||||
import { useState } from "react";
|
||||
import { CachedImage } from "@georstat/react-native-image-cache";
|
||||
import { BaseItemDto, ImageType } from "@jellyfin/sdk/lib/generated-client/models";
|
||||
import { queryConfig } from "../../api/queries/query.config";
|
||||
import { QueryConfig } from "../../api/queries/query.config";
|
||||
import { getImageApi } from "@jellyfin/sdk/lib/utils/api";
|
||||
import { SafeAreaView, useSafeAreaFrame } from "react-native-safe-area-context";
|
||||
import FavoriteButton from "../Global/components/favorite-button";
|
||||
@@ -48,7 +48,7 @@ export default function Artist(props: ArtistProps): React.JSX.Element {
|
||||
.getItemImageUrlById(
|
||||
props.artist.Id!,
|
||||
ImageType.Primary,
|
||||
{ ...queryConfig.banners})
|
||||
{ ...QueryConfig.banners})
|
||||
}
|
||||
imageStyle={{
|
||||
width: width,
|
||||
|
||||
@@ -7,7 +7,7 @@ import { BaseItemDto, ImageType } from "@jellyfin/sdk/lib/generated-client/model
|
||||
import { Colors } from "../../../enums/colors";
|
||||
import { CachedImage } from "@georstat/react-native-image-cache";
|
||||
import { getImageApi } from "@jellyfin/sdk/lib/utils/api/image-api";
|
||||
import { queryConfig } from "../../../api/queries/query.config";
|
||||
import { QueryConfig } from "../../../api/queries/query.config";
|
||||
import { useSafeAreaFrame } from "react-native-safe-area-context";
|
||||
import Icon from "../helpers/icon";
|
||||
import { NativeStackNavigationProp } from "@react-navigation/native-stack";
|
||||
@@ -85,7 +85,7 @@ export default function Track({
|
||||
.getItemImageUrlById(
|
||||
track.AlbumId ?? "",
|
||||
ImageType.Primary,
|
||||
{ ...queryConfig.images }
|
||||
{ ...QueryConfig.images }
|
||||
)
|
||||
}
|
||||
imageStyle={{
|
||||
|
||||
@@ -6,7 +6,7 @@ import { ImageType } from "@jellyfin/sdk/lib/generated-client/models";
|
||||
import { CachedImage } from "@georstat/react-native-image-cache";
|
||||
import invert from "invert-color"
|
||||
import { Blurhash } from "react-native-blurhash"
|
||||
import { queryConfig } from "../../../api/queries/query.config";
|
||||
import { QueryConfig } from "../../../api/queries/query.config";
|
||||
import { Text } from "./text";
|
||||
import Client from "../../../api/client";
|
||||
|
||||
@@ -52,7 +52,7 @@ export function ItemCard(props: CardProps) {
|
||||
.getItemImageUrlById(
|
||||
props.itemId,
|
||||
ImageType.Logo,
|
||||
{ ...queryConfig.logos})
|
||||
{ ...QueryConfig.logos})
|
||||
}
|
||||
imageStyle={{
|
||||
...logoDimensions,
|
||||
@@ -72,7 +72,7 @@ export function ItemCard(props: CardProps) {
|
||||
.getItemImageUrlById(
|
||||
props.itemId,
|
||||
ImageType.Primary,
|
||||
{ ...queryConfig.images})
|
||||
{ ...QueryConfig.images})
|
||||
}
|
||||
imageStyle={{
|
||||
...dimensions,
|
||||
|
||||
@@ -9,7 +9,7 @@ import { Colors } from "../../enums/colors";
|
||||
import { CachedImage } from "@georstat/react-native-image-cache";
|
||||
import { ImageType } from "@jellyfin/sdk/lib/generated-client/models";
|
||||
import { getImageApi } from "@jellyfin/sdk/lib/utils/api";
|
||||
import { queryConfig } from "../../api/queries/query.config";
|
||||
import { QueryConfig } from "../../api/queries/query.config";
|
||||
import TextTicker from 'react-native-text-ticker';
|
||||
import PlayPauseButton from "./helpers/buttons";
|
||||
import { useSafeAreaFrame } from "react-native-safe-area-context";
|
||||
@@ -40,7 +40,7 @@ export function Miniplayer({ navigation }: { navigation : NavigationHelpers<Para
|
||||
.getItemImageUrlById(
|
||||
nowPlaying!.item.AlbumId ?? "",
|
||||
ImageType.Primary,
|
||||
{ ...queryConfig.images }
|
||||
{ ...QueryConfig.images }
|
||||
)
|
||||
}
|
||||
imageStyle={{
|
||||
|
||||
@@ -8,7 +8,7 @@ import { RunTimeTicks } from "../Global/helpers/time-codes";
|
||||
import { H4, H5, Text } from "../Global/helpers/text";
|
||||
import Track from "../Global/components/track";
|
||||
import { FlatList } from "react-native";
|
||||
import { queryConfig } from "../../api/queries/query.config";
|
||||
import { QueryConfig } from "../../api/queries/query.config";
|
||||
import { getImageApi } from "@jellyfin/sdk/lib/utils/api/image-api";
|
||||
import { CachedImage } from "@georstat/react-native-image-cache";
|
||||
import { SafeAreaView } from "react-native-safe-area-context";
|
||||
@@ -41,7 +41,7 @@ export default function Playlist(props: PlaylistProps): React.JSX.Element {
|
||||
.getItemImageUrlById(
|
||||
props.playlist.Id!,
|
||||
ImageType.Primary,
|
||||
{ ...queryConfig.images})}
|
||||
{ ...QueryConfig.images})}
|
||||
imageStyle={{
|
||||
position: "relative",
|
||||
width: 300,
|
||||
|
||||
Reference in New Issue
Block a user