whoa there champ

This commit is contained in:
Violet Caulfield
2025-01-24 06:39:03 -06:00
parent 9fa227d014
commit 1aca2b8314
11 changed files with 30 additions and 23 deletions
+2 -2
View File
@@ -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'
})
+2 -2
View File
@@ -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: [
+3 -1
View File
@@ -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)
+8 -3
View File
@@ -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 -2
View File
@@ -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
})
+2 -2
View File
@@ -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,
+2 -2
View File
@@ -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,
+2 -2
View File
@@ -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={{
+3 -3
View File
@@ -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,
+2 -2
View File
@@ -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={{
+2 -2
View File
@@ -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,