does this work? lol

This commit is contained in:
Violet Caulfield
2024-11-30 15:48:15 -06:00
parent a5bf067536
commit dedec8d203
6 changed files with 215 additions and 66 deletions

12
App.tsx
View File

@@ -9,6 +9,18 @@ import { useColorScheme } from 'react-native';
import jellifyConfig from './tamagui.config';
import { clientPersister } from './constants/storage';
import { queryClient } from './constants/query-client';
import { CacheManager } from '@georstat/react-native-image-cache';
import { Dirs } from "react-native-file-access";
CacheManager.config = {
baseDir: `${Dirs.CacheDir}/images_cache/`,
blurRadius: 15,
cacheLimit: 0,
maxRetries: 3 /* optional, if not provided defaults to 0 */,
retryDelay: 3000 /* in milliseconds, optional, if not provided defaults to 0 */,
sourceAnimationDuration: 1000,
thumbnailAnimationDuration: 1000,
};
export default function App(): React.JSX.Element {

View File

@@ -15,8 +15,8 @@ export function fetchImage(api: Api, itemId: string, imageType?: ImageType) : Pr
imageType,
{
format: queryConfig.images.format,
fillHeight: queryConfig.images.height,
fillWidth: queryConfig.images.width
fillHeight: queryConfig.images.fillHeight,
fillWidth: queryConfig.images.fillWidth
}
))

View File

@@ -5,8 +5,8 @@ export const queryConfig = {
recents: 50
},
images: {
width: 480,
height: 480,
fillWidth: 480,
fillHeight: 480,
format: ImageFormat.Jpg
}
}

View File

@@ -1,6 +1,6 @@
import { ReactNode } from "react";
import React, { ReactNode } from "react";
import type { CardProps as TamaguiCardProps } from "tamagui"
import { H3, Image, Card as TamaguiCard, ZStack } from "tamagui";
import { H3, Card as TamaguiCard, ZStack } from "tamagui";
import { LinearGradient } from "tamagui/linear-gradient";
import { useApiClientContext } from "../jellyfin-api-provider";
import { cardDimensions } from "./component.config";
@@ -8,6 +8,7 @@ import { useImage } from "../../api/queries/image";
import { Colors } from "../../enums/colors";
import { getImageApi } from "@jellyfin/sdk/lib/utils/api";
import { ImageType } from "@jellyfin/sdk/lib/generated-client/models";
import { CachedImage } from "@georstat/react-native-image-cache";
import { queryConfig } from "../../api/queries/query.config";
interface CardProps extends TamaguiCardProps {
@@ -53,22 +54,23 @@ export function Card(props: CardProps) {
end={[0,0]}
/>
{ isSuccess && data && (
<Image
alignSelf="center"
source={{
uri: getImageApi(apiClient!).getItemImageUrlById(
props.itemId,
ImageType.Primary,
{
format: queryConfig.images.format,
fillHeight: queryConfig.images.height,
fillWidth: queryConfig.images.width
})
}}
{...dimensions}
/>
)}
<CachedImage
style={{...dimensions}}
thumbnailSource={getImageApi(apiClient!).getItemImageUrlById(
props.itemId,
ImageType.Thumb,
{...queryConfig.images}
)}
source={getImageApi(apiClient!).getItemImageUrlById(
props.itemId,
ImageType.Primary,
{
format: queryConfig.images.format,
fillHeight: queryConfig.images.fillHeight,
fillWidth: queryConfig.images.fillWidth
})
}
/>
</ZStack>
</TamaguiCard.Background>
</TamaguiCard>

215
package-lock.json generated
View File

@@ -10,6 +10,7 @@
"dependencies": {
"@animatereactnative/marquee": "^0.2.0",
"@gcores/react-native-carplay": "^1.1.12",
"@georstat/react-native-image-cache": "^3.1.0",
"@jellyfin/sdk": "^0.10.0",
"@react-native-community/masked-view": "^0.1.11",
"@react-native-masked-view/masked-view": "^0.3.1",
@@ -29,9 +30,10 @@
"react": "18.3.1",
"react-native": "0.75.2",
"react-native-device-info": "^11.1.0",
"react-native-file-access": "^3.1.1",
"react-native-gesture-handler": "^2.20.0",
"react-native-mmkv": "2.12.2",
"react-native-reanimated": "^3.15.5",
"react-native-reanimated": "^3.16.3",
"react-native-safe-area-context": "^4.11.1",
"react-native-screens": "^3.34.0",
"react-native-track-player": "^4.1.1",
@@ -2452,9 +2454,9 @@
}
},
"node_modules/@expo/cli": {
"version": "0.18.30",
"resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.18.30.tgz",
"integrity": "sha512-V90TUJh9Ly8stYo8nwqIqNWCsYjE28GlVFWEhAFCUOp99foiQr8HSTpiiX5GIrprcPoWmlGoY+J5fQA29R4lFg==",
"version": "0.18.31",
"resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.18.31.tgz",
"integrity": "sha512-v9llw9fT3Uv+TCM6Xllo54t672CuYtinEQZ2LPJ2EJsCwuTc4Cd2gXQaouuIVD21VoeGQnr5JtJuWbF97sBKzQ==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.20.0",
@@ -3121,9 +3123,9 @@
}
},
"node_modules/@expo/config-plugins": {
"version": "8.0.10",
"resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.10.tgz",
"integrity": "sha512-KG1fnSKRmsudPU9BWkl59PyE0byrE2HTnqbOrgwr2FAhqh7tfr9nRs6A9oLS/ntpGzmFxccTEcsV0L4apsuxxg==",
"version": "8.0.11",
"resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.11.tgz",
"integrity": "sha512-oALE1HwnLFthrobAcC9ocnR9KXLzfWEjgIe4CPe+rDsfC6GDs8dGYCXfRFoCEzoLN4TGYs9RdZ8r0KoCcNrm2A==",
"license": "MIT",
"dependencies": {
"@expo/config-types": "^51.0.3",
@@ -3884,9 +3886,9 @@
}
},
"node_modules/@expo/osascript": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.3.tgz",
"integrity": "sha512-aOEkhPzDsaAfolSswObGiYW0Pf0ROfR9J2NBRLQACdQ6uJlyAMiPF45DVEVknAU9juKh0y8ZyvC9LXqLEJYohA==",
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.4.tgz",
"integrity": "sha512-LcPjxJ5FOFpqPORm+5MRLV0CuYWMthJYV6eerF+lQVXKlvgSn3EOqaHC3Vf3H+vmB0f6G4kdvvFtg40vG4bIhA==",
"license": "MIT",
"dependencies": {
"@expo/spawn-async": "^1.7.2",
@@ -3897,25 +3899,45 @@
}
},
"node_modules/@expo/package-manager": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.5.2.tgz",
"integrity": "sha512-IuA9XtGBilce0q8cyxtWINqbzMB1Fia0Yrug/O53HNuRSwQguV/iqjV68bsa4z8mYerePhcFgtvISWLAlNEbUA==",
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.6.1.tgz",
"integrity": "sha512-4rT46wP/94Ll+CWXtFKok1Lbo9XncSUtErFOo/9/3FVughGbIfdG4SKZOAWIpr9wxwEfkyhHfAP9q71ONlWODw==",
"license": "MIT",
"dependencies": {
"@expo/json-file": "^8.3.0",
"@expo/json-file": "^9.0.0",
"@expo/spawn-async": "^1.7.2",
"ansi-regex": "^5.0.0",
"chalk": "^4.0.0",
"find-up": "^5.0.0",
"find-yarn-workspace-root": "~2.0.0",
"js-yaml": "^3.13.1",
"micromatch": "^4.0.2",
"npm-package-arg": "^7.0.0",
"micromatch": "^4.0.8",
"npm-package-arg": "^11.0.0",
"ora": "^3.4.0",
"resolve-workspace-root": "^2.0.0",
"split": "^1.0.1",
"sudo-prompt": "9.1.1"
}
},
"node_modules/@expo/package-manager/node_modules/@babel/code-frame": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
"integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"license": "MIT",
"dependencies": {
"@babel/highlight": "^7.10.4"
}
},
"node_modules/@expo/package-manager/node_modules/@expo/json-file": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.0.0.tgz",
"integrity": "sha512-M+55xFVrFzDcgMDf+52lPDLjKB5xwRfStWlv/b/Vu2OLgxGZLWpxoPYjlRoHqxjPbCQIi2ZCbobK+0KuNhsELg==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "~7.10.4",
"json5": "^2.2.3",
"write-file-atomic": "^2.3.0"
}
},
"node_modules/@expo/package-manager/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -4011,6 +4033,18 @@
"node": ">=8"
}
},
"node_modules/@expo/package-manager/node_modules/hosted-git-info": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz",
"integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
"license": "ISC",
"dependencies": {
"lru-cache": "^10.0.1"
},
"engines": {
"node": "^16.14.0 || >=18.0.0"
}
},
"node_modules/@expo/package-manager/node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -4100,6 +4134,12 @@
"node": ">=4"
}
},
"node_modules/@expo/package-manager/node_modules/lru-cache": {
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"license": "ISC"
},
"node_modules/@expo/package-manager/node_modules/mimic-fn": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
@@ -4109,6 +4149,21 @@
"node": ">=4"
}
},
"node_modules/@expo/package-manager/node_modules/npm-package-arg": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz",
"integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==",
"license": "ISC",
"dependencies": {
"hosted-git-info": "^7.0.0",
"proc-log": "^4.0.0",
"semver": "^7.3.5",
"validate-npm-package-name": "^5.0.0"
},
"engines": {
"node": "^16.14.0 || >=18.0.0"
}
},
"node_modules/@expo/package-manager/node_modules/onetime": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
@@ -4228,6 +4283,18 @@
"node": ">=4"
}
},
"node_modules/@expo/package-manager/node_modules/semver": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@expo/package-manager/node_modules/strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
@@ -4267,6 +4334,26 @@
"node": ">=8"
}
},
"node_modules/@expo/package-manager/node_modules/validate-npm-package-name": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz",
"integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==",
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/@expo/package-manager/node_modules/write-file-atomic": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
"integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
"license": "ISC",
"dependencies": {
"graceful-fs": "^4.1.11",
"imurmurhash": "^0.1.4",
"signal-exit": "^3.0.2"
}
},
"node_modules/@expo/plist": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.3.tgz",
@@ -4633,6 +4720,21 @@
"react-native": "*"
}
},
"node_modules/@georstat/react-native-image-cache": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@georstat/react-native-image-cache/-/react-native-image-cache-3.1.0.tgz",
"integrity": "sha512-p84UVar4YUJWnyJ62VwWe82pFuIDs3eqeTLON/ZabDUJY2kE9IBHMbFwMYKgYUW2vN9oDtaRO4NtEW44sb7dTQ==",
"license": "MIT",
"dependencies": {
"crypto-js": "^4.1.1"
},
"peerDependencies": {
"react": "*",
"react-native": "*",
"react-native-file-access": ">=3.0.0",
"react-native-reanimated": ">=2.2.0"
}
},
"node_modules/@graphql-typed-document-node/core": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz",
@@ -7446,9 +7548,9 @@
}
},
"node_modules/@rnx-kit/chromium-edge-launcher/node_modules/@types/node": {
"version": "18.19.57",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.57.tgz",
"integrity": "sha512-I2ioBd/IPrYDMv9UNR5NlPElOZ68QB7yY5V2EsLtSrTO0LM0PnCEFF9biLWHf5k+sIy4ohueCV9t4gk1AEdlVA==",
"version": "18.19.67",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.67.tgz",
"integrity": "sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==",
"license": "MIT",
"dependencies": {
"undici-types": "~5.26.4"
@@ -11244,9 +11346,9 @@
}
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
@@ -11266,6 +11368,12 @@
"node": "*"
}
},
"node_modules/crypto-js": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
"license": "MIT"
},
"node_modules/crypto-random-string": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
@@ -11434,9 +11542,9 @@
}
},
"node_modules/default-gateway/node_modules/cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"version": "6.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
"integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
"license": "MIT",
"dependencies": {
"nice-try": "^1.0.4",
@@ -12882,15 +12990,15 @@
}
},
"node_modules/expo": {
"version": "51.0.38",
"resolved": "https://registry.npmjs.org/expo/-/expo-51.0.38.tgz",
"integrity": "sha512-/B9npFkOPmv6WMIhdjQXEY0Z9k/67UZIVkodW8JxGIXwKUZAGHL+z1R5hTtWimpIrvVhyHUFU3f8uhfEKYhHNQ==",
"version": "51.0.39",
"resolved": "https://registry.npmjs.org/expo/-/expo-51.0.39.tgz",
"integrity": "sha512-Cs/9xopyzJrpXWbyVUZnr37rprdFJorRgfSp6cdBfvbjxZeKnw2MEu7wJwV/s626i5lZTPGjZPHUF9uQvt51cg==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.20.0",
"@expo/cli": "0.18.30",
"@expo/cli": "0.18.31",
"@expo/config": "9.0.4",
"@expo/config-plugins": "8.0.10",
"@expo/config-plugins": "8.0.11",
"@expo/metro-config": "0.18.11",
"@expo/vector-icons": "^14.0.3",
"babel-preset-expo": "~11.0.15",
@@ -18992,9 +19100,9 @@
}
},
"node_modules/picocolors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
"integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"license": "ISC"
},
"node_modules/picomatch": {
@@ -19103,9 +19211,9 @@
}
},
"node_modules/postcss": {
"version": "8.4.47",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
"integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
"version": "8.4.49",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
"integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
"funding": [
{
"type": "opencollective",
@@ -19123,7 +19231,7 @@
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.1.0",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
"engines": {
@@ -19200,6 +19308,15 @@
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
"license": "MIT"
},
"node_modules/proc-log": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz",
"integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==",
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -19523,6 +19640,16 @@
"react-native": "*"
}
},
"node_modules/react-native-file-access": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/react-native-file-access/-/react-native-file-access-3.1.1.tgz",
"integrity": "sha512-4KUpBAsnWJa+AQf1tUbLdHO+1pyiZMTeq3NPf5XOGdz1O5CwIrVkrzl+gkN7ffmUa5JyoYHyXUtwScmA+z0Tlg==",
"license": "MIT",
"peerDependencies": {
"react": "*",
"react-native": "*"
}
},
"node_modules/react-native-gesture-handler": {
"version": "2.20.0",
"resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.20.0.tgz",
@@ -19550,9 +19677,9 @@
}
},
"node_modules/react-native-reanimated": {
"version": "3.15.5",
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.15.5.tgz",
"integrity": "sha512-admqeZ0w235vQqYPy+IUgmHu5gwKi9+b7AQRV1yIK3MbAMLYx+RY+tTUtx1CNE5X+rNZ6eSQssW5z77yTwIusg==",
"version": "3.16.3",
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.16.3.tgz",
"integrity": "sha512-OWlA6e1oHhytTpc7WiSZ7Tmb8OYwLKYZz29Sz6d6WAg60Hm5GuAiKIWUG7Ako7FLcYhFkA0pEQ2xPMEYUo9vlw==",
"license": "MIT",
"dependencies": {
"@babel/plugin-transform-arrow-functions": "^7.0.0-0",
@@ -20188,6 +20315,12 @@
"node": ">=8"
}
},
"node_modules/resolve-workspace-root": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.0.tgz",
"integrity": "sha512-IsaBUZETJD5WsI11Wt8PKHwaIe45or6pwNc8yflvLJ4DWtImK9kuLoH5kUva/2Mmx/RdIyr4aONNSa2v9LTJsw==",
"license": "MIT"
},
"node_modules/resolve.exports": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",

View File

@@ -12,6 +12,7 @@
"dependencies": {
"@animatereactnative/marquee": "^0.2.0",
"@gcores/react-native-carplay": "^1.1.12",
"@georstat/react-native-image-cache": "^3.1.0",
"@jellyfin/sdk": "^0.10.0",
"@react-native-community/masked-view": "^0.1.11",
"@react-native-masked-view/masked-view": "^0.3.1",
@@ -25,21 +26,22 @@
"@tanstack/react-query": "^5.52.1",
"@tanstack/react-query-persist-client": "^5.62.0",
"burnt": "^0.12.2",
"expo": "^51.0.0",
"expo-linear-gradient": "^14.0.1",
"lodash": "^4.17.21",
"react": "18.3.1",
"react-native": "0.75.2",
"react-native-device-info": "^11.1.0",
"react-native-file-access": "^3.1.1",
"react-native-gesture-handler": "^2.20.0",
"react-native-mmkv": "2.12.2",
"react-native-reanimated": "^3.15.5",
"react-native-reanimated": "^3.16.3",
"react-native-safe-area-context": "^4.11.1",
"react-native-screens": "^3.34.0",
"react-native-track-player": "^4.1.1",
"react-native-url-polyfill": "^2.0.0",
"react-native-vector-icons": "^10.2.0",
"tamagui": "^1.115.5",
"expo": "^51.0.0"
"tamagui": "^1.115.5"
},
"devDependencies": {
"@babel/core": "^7.20.0",