diff --git a/ios/Nuvio.xcodeproj/project.pbxproj b/ios/Nuvio.xcodeproj/project.pbxproj index 5097d20..cae37b9 100644 --- a/ios/Nuvio.xcodeproj/project.pbxproj +++ b/ios/Nuvio.xcodeproj/project.pbxproj @@ -413,14 +413,12 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Nuvio/Pods-Nuvio-frameworks.sh", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/MobileVLCKit/MobileVLCKit.framework/MobileVLCKit", "${PODS_XCFRAMEWORKS_BUILD_DIR}/React-Core-prebuilt/React.framework/React", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ReactNativeDependencies/ReactNativeDependencies.framework/ReactNativeDependencies", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MobileVLCKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/React.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ReactNativeDependencies.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", @@ -477,7 +475,7 @@ ); OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; PRODUCT_BUNDLE_IDENTIFIER = com.nuvio.app; - PRODUCT_NAME = "Nuvio"; + PRODUCT_NAME = Nuvio; SWIFT_OBJC_BRIDGING_HEADER = "Nuvio/Nuvio-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -508,8 +506,8 @@ "-lc++", ); OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; - PRODUCT_BUNDLE_IDENTIFIER = "com.nuvio.app"; - PRODUCT_NAME = "Nuvio"; + PRODUCT_BUNDLE_IDENTIFIER = com.nuvio.app; + PRODUCT_NAME = Nuvio; SWIFT_OBJC_BRIDGING_HEADER = "Nuvio/Nuvio-Bridging-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/ios/Podfile b/ios/Podfile index 490153d..7c61ff4 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -21,7 +21,7 @@ platform :ios, podfile_properties['ios.deploymentTarget'] || '15.1' prepare_react_native_project! target 'Nuvio' do - use_expo_modules! + use_expo_modules!(exclude: ['expo-libvlc-player']) if ENV['EXPO_USE_COMMUNITY_AUTOLINKING'] == '1' config_command = ['node', '-e', "process.argv=['', '', 'config'];require('@react-native-community/cli').run()"]; diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 61b7dad..ed449bc 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,17 +1,17 @@ PODS: - DisplayCriteria (1.1.0) - - EASClient (1.0.7): + - EASClient (1.0.8): - ExpoModulesCore - - EXApplication (7.0.7): + - EXApplication (7.0.8): - ExpoModulesCore - - EXConstants (18.0.10): + - EXConstants (18.0.12): - ExpoModulesCore - EXJSONUtils (0.15.0) - - EXManifests (1.0.8): + - EXManifests (1.0.10): - ExpoModulesCore - - EXNotifications (0.32.12): + - EXNotifications (0.32.15): - ExpoModulesCore - - Expo (54.0.23): + - Expo (54.0.29): - ExpoModulesCore - hermes-engine - RCTRequired @@ -36,15 +36,15 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-client (6.0.17): + - expo-dev-client (6.0.20): - EXManifests - expo-dev-launcher - expo-dev-menu - expo-dev-menu-interface - EXUpdatesInterface - - expo-dev-launcher (6.0.17): + - expo-dev-launcher (6.0.20): - EXManifests - - expo-dev-launcher/Main (= 6.0.17) + - expo-dev-launcher/Main (= 6.0.20) - expo-dev-menu - expo-dev-menu-interface - ExpoModulesCore @@ -73,7 +73,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-launcher/Main (6.0.17): + - expo-dev-launcher/Main (6.0.20): - EXManifests - expo-dev-launcher/Unsafe - expo-dev-menu @@ -104,7 +104,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-launcher/Unsafe (6.0.17): + - expo-dev-launcher/Unsafe (6.0.20): - EXManifests - expo-dev-menu - expo-dev-menu-interface @@ -134,9 +134,9 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-menu (7.0.16): - - expo-dev-menu/Main (= 7.0.16) - - expo-dev-menu/ReactNativeCompatibles (= 7.0.16) + - expo-dev-menu (7.0.18): + - expo-dev-menu/Main (= 7.0.18) + - expo-dev-menu/ReactNativeCompatibles (= 7.0.18) - hermes-engine - RCTRequired - RCTTypeSafety @@ -159,7 +159,7 @@ PODS: - ReactNativeDependencies - Yoga - expo-dev-menu-interface (2.0.0) - - expo-dev-menu/Main (7.0.16): + - expo-dev-menu/Main (7.0.18): - EXManifests - expo-dev-menu-interface - ExpoModulesCore @@ -185,7 +185,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - expo-dev-menu/ReactNativeCompatibles (7.0.16): + - expo-dev-menu/ReactNativeCompatibles (7.0.18): - hermes-engine - RCTRequired - RCTTypeSafety @@ -207,38 +207,35 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoAsset (12.0.9): + - ExpoAsset (12.0.11): - ExpoModulesCore - - ExpoBlur (15.0.7): + - ExpoBlur (15.0.8): - ExpoModulesCore - - ExpoBrightness (14.0.7): + - ExpoBrightness (14.0.8): - ExpoModulesCore - - ExpoCrypto (15.0.7): + - ExpoCrypto (15.0.8): - ExpoModulesCore - - ExpoDevice (8.0.9): + - ExpoDevice (8.0.10): - ExpoModulesCore - - ExpoDocumentPicker (14.0.7): + - ExpoDocumentPicker (14.0.8): - ExpoModulesCore - - ExpoFileSystem (19.0.17): + - ExpoFileSystem (19.0.21): - ExpoModulesCore - - ExpoFont (14.0.9): + - ExpoFont (14.0.10): - ExpoModulesCore - - ExpoGlassEffect (0.1.7): + - ExpoGlassEffect (0.1.8): - ExpoModulesCore - - ExpoHaptics (15.0.7): + - ExpoHaptics (15.0.8): - ExpoModulesCore - - ExpoKeepAwake (15.0.7): + - ExpoKeepAwake (15.0.8): - ExpoModulesCore - - ExpoLibVlcPlayer (2.2.3): + - ExpoLinearGradient (15.0.8): - ExpoModulesCore - - MobileVLCKit (= 3.6.1b1) - - ExpoLinearGradient (15.0.7): + - ExpoLinking (8.0.10): - ExpoModulesCore - - ExpoLinking (8.0.8): + - ExpoLocalization (17.0.8): - ExpoModulesCore - - ExpoLocalization (17.0.7): - - ExpoModulesCore - - ExpoModulesCore (3.0.25): + - ExpoModulesCore (3.0.29): - hermes-engine - RCTRequired - RCTTypeSafety @@ -263,7 +260,7 @@ PODS: - Yoga - ExpoRandom (14.0.1): - ExpoModulesCore - - ExpoScreenOrientation (9.0.7): + - ExpoScreenOrientation (9.0.8): - ExpoModulesCore - hermes-engine - RCTRequired @@ -286,14 +283,14 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - ExpoSharing (14.0.7): + - ExpoSharing (14.0.8): - ExpoModulesCore - - ExpoSystemUI (6.0.8): + - ExpoSystemUI (6.0.9): - ExpoModulesCore - - ExpoWebBrowser (15.0.9): + - ExpoWebBrowser (15.0.10): - ExpoModulesCore - EXStructuredHeaders (5.0.0) - - EXUpdates (29.0.12): + - EXUpdates (29.0.15): - EASClient - EXManifests - ExpoModulesCore @@ -332,7 +329,7 @@ PODS: - hermes-engine (0.81.4): - hermes-engine/Pre-built (= 0.81.4) - hermes-engine/Pre-built (0.81.4) - - ImageColors (2.5.0): + - ImageColors (2.5.1): - ExpoModulesCore - KSPlayer (1.1.0): - KSPlayer/Audio (= 1.1.0) @@ -406,8 +403,7 @@ PODS: - ReactNativeDependencies - Yoga - MMKVCore (2.2.4) - - MobileVLCKit (3.6.1b1) - - NitroMmkv (4.0.0): + - NitroMmkv (4.1.0): - hermes-engine - MMKVCore (= 2.2.4) - NitroModules @@ -432,7 +428,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - NitroModules (0.31.6): + - NitroModules (0.31.10): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1758,7 +1754,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-bottom-tabs (1.0.2): + - react-native-bottom-tabs (1.1.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1770,7 +1766,7 @@ PODS: - React-graphics - React-ImageManager - React-jsi - - react-native-bottom-tabs/common (= 1.0.2) + - react-native-bottom-tabs/common (= 1.1.0) - React-NativeModulesApple - React-RCTFabric - React-renderercss @@ -1782,7 +1778,7 @@ PODS: - ReactNativeDependencies - SwiftUIIntrospect (~> 1.0) - Yoga - - react-native-bottom-tabs/common (1.0.2): + - react-native-bottom-tabs/common (1.1.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1904,30 +1900,6 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-skia (2.3.13): - - hermes-engine - - RCTRequired - - RCTTypeSafety - - React - - React-callinvoker - - React-Core - - React-Core-prebuilt - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-NativeModulesApple - - React-RCTFabric - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - ReactNativeDependencies - - Yoga - react-native-slider (5.1.1): - hermes-engine - RCTRequired @@ -1973,7 +1945,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-video (6.17.0): + - react-native-video (6.18.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1985,7 +1957,7 @@ PODS: - React-graphics - React-ImageManager - React-jsi - - react-native-video/Video (= 6.17.0) + - react-native-video/Video (= 6.18.0) - React-NativeModulesApple - React-RCTFabric - React-renderercss @@ -1996,7 +1968,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-video/Fabric (6.17.0): + - react-native-video/Fabric (6.18.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2018,7 +1990,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-video/Video (6.17.0): + - react-native-video/Video (6.18.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2463,7 +2435,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - RNReanimated (4.1.5): + - RNReanimated (4.2.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2485,10 +2457,10 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNReanimated/reanimated (= 4.1.5) + - RNReanimated/reanimated (= 4.2.0) - RNWorklets - Yoga - - RNReanimated/reanimated (4.1.5): + - RNReanimated/reanimated (4.2.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2510,10 +2482,10 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNReanimated/reanimated/apple (= 4.1.5) + - RNReanimated/reanimated/apple (= 4.2.0) - RNWorklets - Yoga - - RNReanimated/reanimated/apple (4.1.5): + - RNReanimated/reanimated/apple (4.2.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2584,7 +2556,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - RNSentry (7.6.0): + - RNSentry (7.7.0): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2606,9 +2578,9 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - Sentry/HybridSDK (= 8.57.2) + - Sentry/HybridSDK (= 8.57.3) - Yoga - - RNSVG (15.15.0): + - RNSVG (15.15.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2629,9 +2601,9 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNSVG/common (= 15.15.0) + - RNSVG/common (= 15.15.1) - Yoga - - RNSVG/common (15.15.0): + - RNSVG/common (15.15.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2675,7 +2647,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - RNWorklets (0.6.1): + - RNWorklets (0.7.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2697,9 +2669,9 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNWorklets/worklets (= 0.6.1) + - RNWorklets/worklets (= 0.7.1) - Yoga - - RNWorklets/worklets (0.6.1): + - RNWorklets/worklets (0.7.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2721,9 +2693,9 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - RNWorklets/worklets/apple (= 0.6.1) + - RNWorklets/worklets/apple (= 0.7.1) - Yoga - - RNWorklets/worklets/apple (0.6.1): + - RNWorklets/worklets/apple (0.7.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -2746,9 +2718,9 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - SDWebImage (5.21.3): - - SDWebImage/Core (= 5.21.3) - - SDWebImage/Core (5.21.3) + - SDWebImage (5.21.5): + - SDWebImage/Core (= 5.21.5) + - SDWebImage/Core (5.21.5) - SDWebImageAVIFCoder (0.11.1): - libavif/core (>= 0.11.0) - SDWebImage (~> 5.10) @@ -2757,7 +2729,7 @@ PODS: - SDWebImageWebPCoder (0.15.0): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.17) - - Sentry/HybridSDK (8.57.2) + - Sentry/HybridSDK (8.57.3) - SwiftUIIntrospect (1.3.0) - Yoga (0.0.0) @@ -2785,7 +2757,6 @@ DEPENDENCIES: - ExpoGlassEffect (from `../node_modules/expo-glass-effect/ios`) - ExpoHaptics (from `../node_modules/expo-haptics/ios`) - ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`) - - ExpoLibVlcPlayer (from `../node_modules/expo-libvlc-player/ios`) - ExpoLinearGradient (from `../node_modules/expo-linear-gradient/ios`) - ExpoLinking (from `../node_modules/expo-linking/ios`) - ExpoLocalization (from `../node_modules/expo-localization/ios`) @@ -2848,7 +2819,6 @@ DEPENDENCIES: - react-native-google-cast (from `../node_modules/react-native-google-cast`) - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - - "react-native-skia (from `../node_modules/@shopify/react-native-skia`)" - "react-native-slider (from `../node_modules/@react-native-community/slider`)" - react-native-video (from `../node_modules/react-native-video`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) @@ -2901,7 +2871,6 @@ SPEC REPOS: - libwebp - lottie-ios - MMKVCore - - MobileVLCKit - PromisesObjC - ReachabilitySwift - SDWebImage @@ -2959,8 +2928,6 @@ EXTERNAL SOURCES: :path: "../node_modules/expo-haptics/ios" ExpoKeepAwake: :path: "../node_modules/expo-keep-awake/ios" - ExpoLibVlcPlayer: - :path: "../node_modules/expo-libvlc-player/ios" ExpoLinearGradient: :path: "../node_modules/expo-linear-gradient/ios" ExpoLinking: @@ -3087,8 +3054,6 @@ EXTERNAL SOURCES: :path: "../node_modules/@react-native-community/netinfo" react-native-safe-area-context: :path: "../node_modules/react-native-safe-area-context" - react-native-skia: - :path: "../node_modules/@shopify/react-native-skia" react-native-slider: :path: "../node_modules/@react-native-community/slider" react-native-video: @@ -3178,13 +3143,13 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: DisplayCriteria: - :commit: cbc74996afb55e096bf1ff240f07d1d206ac86df + :commit: 101cceed0f2d9b6833ee69cf29b65a042de720a3 :git: https://github.com/kingslay/KSPlayer.git FFmpegKit: :commit: d7048037a2eb94a3b08113fbf43aa92bdcb332d9 :git: https://github.com/kingslay/FFmpegKit.git KSPlayer: - :commit: cbc74996afb55e096bf1ff240f07d1d206ac86df + :commit: 101cceed0f2d9b6833ee69cf29b65a042de720a3 :git: https://github.com/kingslay/KSPlayer.git Libass: :commit: d7048037a2eb94a3b08113fbf43aa92bdcb332d9 @@ -3192,46 +3157,45 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: DisplayCriteria: bb0a90faf14b30848bc50ac0516340ce50164187 - EASClient: 68127f1248d2b25fdc82dbbfb17be95d1c4700be - EXApplication: 296622817d459f46b6c5fe8691f4aac44d2b79e7 - EXConstants: fd688cef4e401dcf798a021cfb5d87c890c30ba3 + EASClient: 40dd9e740684782610c49becab2643782ea1a20c + EXApplication: 1e98d4b1dccdf30627f92917f4b2c5a53c330e5f + EXConstants: 805f35b1b295c542ca6acce836f21a1f9ee104d5 EXJSONUtils: 1d3e4590438c3ee593684186007028a14b3686cd - EXManifests: 224345a575fca389073c416297b6348163f28d1a - EXNotifications: 7cff475adb5d7a255a9ea46bbd2589cb3b454506 - Expo: fb09185d798c2876a4c5ca89a5c6b8b72b6dbecf - expo-dev-client: b6e7b4f4063ae44b5e68cc6a8bcc0c79c3037c1a - expo-dev-launcher: c8813e0064e8768d676ee490c0f7ef1784d70b98 - expo-dev-menu: 0a1194185c9eec1da0e507b734180775363be442 + EXManifests: a8d97683e5c7a3b026ffbd58559c64dc655b747b + EXNotifications: 983f04ad4ad879b181179e326bf220541e478386 + Expo: 8fa2204bf8483fe546b4ec87c90d3ca189afc8db + expo-dev-client: 425ee077d6754a98cfe3a2e2410d29b440b24c9d + expo-dev-launcher: a4f4cdef064ab1fb8621e5b8c7c457cd6e9568c3 + expo-dev-menu: 05b18812110c175814c6af0d09dd658abcc5e00d expo-dev-menu-interface: 600df12ea01efecdd822daaf13cc0ac091775533 - ExpoAsset: 9ba6fbd677fb8e241a3899ac00fa735bc911eadf - ExpoBlur: 2dd8f64aa31f5d405652c21d3deb2d2588b1852f - ExpoBrightness: 32672952bf8b152d0cceaf8ec9f1def3a9a5e0d9 - ExpoCrypto: c1fbce112d1b6b79652bbe380b4fd4cc91676595 - ExpoDevice: 148accb4071873d19fba80a2506c58ffa433d620 - ExpoDocumentPicker: 2200eefc2817f19315fa18f0147e0b80ece86926 - ExpoFileSystem: b79eadbda7b7f285f378f95f959cc9313a1c9c61 - ExpoFont: cf9d90ec1d3b97c4f513211905724c8171f82961 - ExpoGlassEffect: 265fa3d75b46bc58262e4dfa513135fa9dfe4aac - ExpoHaptics: 807476b0c39e9d82b7270349d6487928ce32df84 - ExpoKeepAwake: 1a2e820692e933c94a565ec3fbbe38ac31658ffe - ExpoLibVlcPlayer: 6b4a27f54f5300550227cffcf25cc88ab4f6c7c9 - ExpoLinearGradient: a464898cb95153125e3b81894fd479bcb1c7dd27 - ExpoLinking: f051f28e50ea9269ff539317c166adec81d9342d - ExpoLocalization: b852a5d8ec14c5349c1593eca87896b5b3ebfcca - ExpoModulesCore: aa1a8e103d41de84baa5d7c6b98314e2230f1eef + ExpoAsset: 23a958e97d3d340919fe6774db35d563241e6c03 + ExpoBlur: b90747a3f22a8b6ceffd9cb0dc41a4184efdc656 + ExpoBrightness: 46c980463e8a54b9ce77f923c4bff0bb0c9526e0 + ExpoCrypto: b6105ebaa15d6b38a811e71e43b52cd934945322 + ExpoDevice: 6327c3c200816795708885adf540d26ecab83d1a + ExpoDocumentPicker: 7cd9e71a0f66fb19eb0a586d6f26eee1284692e0 + ExpoFileSystem: 858a44267a3e6e9057e0888ad7c7cfbf55d52063 + ExpoFont: 35ac6191ed86bbf56b3ebd2d9154eda9fad5b509 + ExpoGlassEffect: 8ce45eca31f12e949e23a4ee13e2bfb59e9b0785 + ExpoHaptics: d3a6375d8dcc3a1083d003bc2298ff654fafb536 + ExpoKeepAwake: 55f75eca6499bb9e4231ebad6f3e9cb8f99c0296 + ExpoLinearGradient: 809102bdb979f590083af49f7fa4805cd931bd58 + ExpoLinking: f4c4a351523da72a6bfa7e1f4ca92aee1043a3ca + ExpoLocalization: d9168d5300a5b03e5e78b986124d11fb6ec3ebbd + ExpoModulesCore: f3da4f1ab5a8375d0beafab763739dbee8446583 ExpoRandom: d1444df65007bdd4070009efd5dab18e20bf0f00 - ExpoScreenOrientation: ef9ab3fb85c8a8ff57d52aa169b750aca03f0f4c - ExpoSharing: 032c01bb034319e2374badf082ae935be866d2e9 - ExpoSystemUI: 2761aa6875849af83286364811d46e8ed8ea64c7 - ExpoWebBrowser: b973e1351fdcf5fec0c400997b1851f5a8219ec3 + ExpoScreenOrientation: c68bd20f210d0616960638c787889e07787e5adb + ExpoSharing: 0d983394ed4a80334bab5a0d5384f75710feb7e8 + ExpoSystemUI: 2ad325f361a2fcd96a464e8574e19935c461c9cc + ExpoWebBrowser: 17b064c621789e41d4816c95c93f429b84971f52 EXStructuredHeaders: c951e77f2d936f88637421e9588c976da5827368 - EXUpdates: ef83273afc231a627b170358c90689ac30a4429d + EXUpdates: f20abbc8a9f4e150656fe88126d52f52d4e7793f EXUpdatesInterface: 5adf50cb41e079c861da6d9b4b954c3db9a50734 FBLazyVector: 9e0cd874afd81d9a4d36679daca991b58b260d42 FFmpegKit: 3885085fbbc320745838ee4c8a1f9c5e5953dab2 google-cast-sdk: 32f65af50d164e3c475e79ad123db3cc26fbcd37 hermes-engine: 35c763d57c9832d0eef764316ca1c4d043581394 - ImageColors: 51cd79f7a9d2524b7a681c660b0a50574085563b + ImageColors: e12eb73e29bc1feaa3c228db8c174a1b25acb59d KSPlayer: f163ac6195f240b6fa5b8225aeb39ec811a70c62 Libass: e88af2324e1217e3a4c8bdc675f6f23a9dfc7677 libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7 @@ -3240,9 +3204,8 @@ SPEC CHECKSUMS: lottie-ios: a881093fab623c467d3bce374367755c272bdd59 lottie-react-native: cbe3d931a7c24f7891a8e8032c2bb9b2373c4b9c MMKVCore: f2dd4c9befea04277a55e84e7812f930537993df - MobileVLCKit: 2d9c7c373393ae43086aeeff890bf0b1afc15c5c - NitroMmkv: 7fe66a61d5acab6516098a64f42af575595e7566 - NitroModules: a672a4b7470810b8dae8fc2ff91eabaa2e1eff7d + NitroMmkv: 4af10c70043b4c3cded3f16547627c7d9d8e3b8b + NitroModules: a71a5ab2911caf79e45170e6e12475b5260a12d0 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 RCTDeprecation: 7487d6dda857ccd4cb3dd6ecfccdc3170e85dcbc RCTRequired: 54128b7df8be566881d48c7234724a78cb9b6157 @@ -3279,15 +3242,14 @@ SPEC CHECKSUMS: React-Mapbuffer: fbe1da882a187e5898bdf125e1cc6e603d27ecae React-microtasksnativemodule: 76905804171d8ccbe69329fc84c57eb7934add7f react-native-blur: 1b00ef07fe0efdc0c40b37139a5268ccad73c72d - react-native-bottom-tabs: b6459855502662d724d84b7edc937ea2b5a988ff + react-native-bottom-tabs: bcb70e4fae95fc9da0da875f7414acda26dfc551 react-native-device-brightness: 1a997350d060c3df9f303b1df84a4f7c5cbeb924 react-native-get-random-values: a603782b2b222a34533c66371614790282dba3f1 react-native-google-cast: 7be68a5d0b7eeb95a5924c3ecef8d319ef6c0a44 react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187 react-native-safe-area-context: 37e680fc4cace3c0030ee46e8987d24f5d3bdab2 - react-native-skia: e386a7d05f10c87d2b0f9bf0165a6b59bc0c7410 react-native-slider: f954578344106f0a732a4358ce3a3e11015eb6e1 - react-native-video: 5d9635903e562e0c5eb47c5fa401f1c807d6e068 + react-native-video: f5982e21efab0dc356d92541a8a9e19581307f58 React-NativeModulesApple: a9464983ccc0f66f45e93558671f60fc7536e438 React-oscompat: 73db7dbc80edef36a9d6ed3c6c4e1724ead4236d React-perflogger: 123272debf907cc423962adafcf4513320e43757 @@ -3322,20 +3284,20 @@ SPEC CHECKSUMS: RNCPicker: c8a3584b74133464ee926224463fcc54dfdaebca RNFastImage: 2d36f4cfed9b2342f94f8591c8be69dd047ac67c RNGestureHandler: 723f29dac55e25f109d263ed65cecc4b9c4bd46a - RNReanimated: 1442a577e066e662f0ce1cd1864a65c8e547aee0 + RNReanimated: e1c71e6e693a66b203ae98773347b625d3cc85ee RNScreens: 61c18865ab074f4d995ac8d7cf5060522a649d05 - RNSentry: be6d501966b60b30547abe59ea86626d80ad2680 - RNSVG: 99ab6158011aece12019b236f168faa7a1e41af6 + RNSentry: 1d7b9fdae7a01ad8f9053335b5d44e75c39a955e + RNSVG: cf9ae78f2edf2988242c71a6392d15ff7dd62522 RNVectorIcons: 4351544f100d4f12cac156a7c13399e60bab3e26 - RNWorklets: 54d8dffb7f645873a58484658ddfd4bd1a9a0bc1 - SDWebImage: 16309af6d214ba3f77a7c6f6fdda888cb313a50a + RNWorklets: 9eb6d567fa43984e96b6924a6df504b8a15980cd + SDWebImage: e9c98383c7572d713c1a0d7dd2783b10599b9838 SDWebImageAVIFCoder: afe194a084e851f70228e4be35ef651df0fc5c57 SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377 - Sentry: 83a3814c3ca042874b39c5c5bdffb6570d4d760e + Sentry: c643eb180df401dd8c734c5036ddd9dd9218daa6 SwiftUIIntrospect: fee9aa07293ee280373a591e1824e8ddc869ba5d Yoga: 051f086b5ccf465ff2ed38a2cf5a558ae01aaaa1 -PODFILE CHECKSUM: 1db7b3713ca6ad8568e4bdf6b72b92b72ee8199d +PODFILE CHECKSUM: 7c74c9cd2c7f3df7ab68b4284d9f324282e54542 COCOAPODS: 1.16.2 diff --git a/ios/Podfile.properties.json b/ios/Podfile.properties.json index 417e2e5..3e0f2e7 100644 --- a/ios/Podfile.properties.json +++ b/ios/Podfile.properties.json @@ -2,4 +2,4 @@ "expo.jsEngine": "hermes", "EX_DEV_CLIENT_NETWORK_INSPECTOR": "true", "newArchEnabled": "true" -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 665e72e..9f09ce7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,6 @@ "@react-navigation/stack": "^7.2.10", "@sentry/react-native": "^7.6.0", "@shopify/flash-list": "^2.2.0", - "@shopify/react-native-skia": "^2.3.13", "@types/lodash": "^4.17.16", "@types/react-native-video": "^5.0.20", "axios": "^1.12.2", @@ -78,7 +77,7 @@ "react-native-mmkv": "^4.0.0", "react-native-nitro-modules": "^0.31.2", "react-native-paper": "^5.14.5", - "react-native-reanimated": "^4.1.1", + "react-native-reanimated": "^4.2.0", "react-native-reanimated-carousel": "^4.0.3", "react-native-safe-area-context": "~5.6.0", "react-native-screens": "^4.18.0", @@ -88,7 +87,7 @@ "react-native-video": "^6.17.0", "react-native-web": "^0.21.0", "react-native-wheel-color-picker": "^1.3.1", - "react-native-worklets": "^0.6.1" + "react-native-worklets": "^0.7.1" }, "devDependencies": { "@babel/core": "^7.25.2", @@ -1630,9 +1629,9 @@ } }, "node_modules/@bottom-tabs/react-navigation": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@bottom-tabs/react-navigation/-/react-navigation-1.0.2.tgz", - "integrity": "sha512-OrCw8s2NzFxO1TO5W2vyr7HNvh1Yjy00f72D/0BIPtImc0aj5CRrT9nFRE7YP0FWZb0AY5+0QU9jaoph1rBlSg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@bottom-tabs/react-navigation/-/react-navigation-1.1.0.tgz", + "integrity": "sha512-+4YppCodABcSNIgJiq95QUQ+3ClVBG+rLG3WmYI0+/nbxqKbCz6luFBep4KFOj98Iplj1JY2Ki6ix8CcOZVQ/Q==", "license": "MIT", "dependencies": { "color": "^5.0.0" @@ -1692,27 +1691,26 @@ } }, "node_modules/@expo/cli": { - "version": "54.0.16", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-54.0.16.tgz", - "integrity": "sha512-hY/OdRaJMs5WsVPuVSZ+RLH3VObJmL/pv5CGCHEZHN2PxZjSZSdctyKV8UcFBXTF0yIKNAJ9XLs1dlNYXHh4Cw==", + "version": "54.0.19", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-54.0.19.tgz", + "integrity": "sha512-Za+Ena29uYkq2c1Lbh+r3VrooR/mW7c9dahoH4WvL1T9ttbfAeu7sJmCuWZo88bZ4bFsOpE5fYne71DK11iSrQ==", "license": "MIT", "dependencies": { "@0no-co/graphql.web": "^1.0.8", "@expo/code-signing-certificates": "^0.0.5", - "@expo/config": "~12.0.10", - "@expo/config-plugins": "~54.0.2", - "@expo/devcert": "^1.1.2", - "@expo/env": "~2.0.7", - "@expo/image-utils": "^0.8.7", - "@expo/json-file": "^10.0.7", - "@expo/mcp-tunnel": "~0.1.0", + "@expo/config": "~12.0.12", + "@expo/config-plugins": "~54.0.3", + "@expo/devcert": "^1.2.1", + "@expo/env": "~2.0.8", + "@expo/image-utils": "^0.8.8", + "@expo/json-file": "^10.0.8", "@expo/metro": "~54.1.0", - "@expo/metro-config": "~54.0.9", - "@expo/osascript": "^2.3.7", - "@expo/package-manager": "^1.9.8", - "@expo/plist": "^0.4.7", - "@expo/prebuild-config": "^54.0.6", - "@expo/schema-utils": "^0.1.7", + "@expo/metro-config": "~54.0.11", + "@expo/osascript": "^2.3.8", + "@expo/package-manager": "^1.9.9", + "@expo/plist": "^0.4.8", + "@expo/prebuild-config": "^54.0.7", + "@expo/schema-utils": "^0.1.8", "@expo/spawn-async": "^1.7.2", "@expo/ws-tunnel": "^1.0.1", "@expo/xcpretty": "^4.3.0", @@ -1730,10 +1728,10 @@ "connect": "^3.7.0", "debug": "^4.3.4", "env-editor": "^0.4.1", - "expo-server": "^1.0.4", + "expo-server": "^1.0.5", "freeport-async": "^2.0.0", "getenv": "^2.0.0", - "glob": "^10.4.2", + "glob": "^13.0.0", "lan-network": "^0.1.6", "minimatch": "^9.0.0", "node-forge": "^1.3.1", @@ -1756,7 +1754,7 @@ "source-map-support": "~0.5.21", "stacktrace-parser": "^0.1.10", "structured-headers": "^0.4.1", - "tar": "^7.4.3", + "tar": "^7.5.2", "terminal-link": "^2.1.1", "undici": "^6.18.2", "wrap-ansi": "^7.0.0", @@ -1802,40 +1800,40 @@ } }, "node_modules/@expo/config": { - "version": "12.0.10", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-12.0.10.tgz", - "integrity": "sha512-lJMof5Nqakq1DxGYlghYB/ogSBjmv4Fxn1ovyDmcjlRsQdFCXgu06gEUogkhPtc9wBt9WlTTfqENln5HHyLW6w==", + "version": "12.0.12", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-12.0.12.tgz", + "integrity": "sha512-X2MW86+ulLpMGvdgfvpl2EOBAKUlwvnvoPwdaZeeyWufGopn1nTUeh4C9gMsplDaP1kXv9sLXVhOoUoX6g9PvQ==", "license": "MIT", "dependencies": { "@babel/code-frame": "~7.10.4", - "@expo/config-plugins": "~54.0.2", - "@expo/config-types": "^54.0.8", - "@expo/json-file": "^10.0.7", + "@expo/config-plugins": "~54.0.3", + "@expo/config-types": "^54.0.10", + "@expo/json-file": "^10.0.8", "deepmerge": "^4.3.1", "getenv": "^2.0.0", - "glob": "^10.4.2", + "glob": "^13.0.0", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0", "resolve-workspace-root": "^2.0.0", "semver": "^7.6.0", "slugify": "^1.3.4", - "sucrase": "3.35.0" + "sucrase": "~3.35.1" } }, "node_modules/@expo/config-plugins": { - "version": "54.0.2", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-54.0.2.tgz", - "integrity": "sha512-jD4qxFcURQUVsUFGMcbo63a/AnviK8WUGard+yrdQE3ZrB/aurn68SlApjirQQLEizhjI5Ar2ufqflOBlNpyPg==", + "version": "54.0.4", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-54.0.4.tgz", + "integrity": "sha512-g2yXGICdoOw5i3LkQSDxl2Q5AlQCrG7oniu0pCPPO+UxGb7He4AFqSvPSy8HpRUj55io17hT62FTjYRD+d6j3Q==", "license": "MIT", "dependencies": { - "@expo/config-types": "^54.0.8", - "@expo/json-file": "~10.0.7", - "@expo/plist": "^0.4.7", + "@expo/config-types": "^54.0.10", + "@expo/json-file": "~10.0.8", + "@expo/plist": "^0.4.8", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", "getenv": "^2.0.0", - "glob": "^10.4.2", + "glob": "^13.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.4", "slash": "^3.0.0", @@ -1857,9 +1855,9 @@ } }, "node_modules/@expo/config-types": { - "version": "54.0.8", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-54.0.8.tgz", - "integrity": "sha512-lyIn/x/Yz0SgHL7IGWtgTLg6TJWC9vL7489++0hzCHZ4iGjVcfZmPTUfiragZ3HycFFj899qN0jlhl49IHa94A==", + "version": "54.0.10", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-54.0.10.tgz", + "integrity": "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA==", "license": "MIT" }, "node_modules/@expo/config/node_modules/@babel/code-frame": { @@ -1884,14 +1882,13 @@ } }, "node_modules/@expo/devcert": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.0.tgz", - "integrity": "sha512-Uilcv3xGELD5t/b0eM4cxBFEKQRIivB3v7i+VhWLV/gL98aw810unLKKJbGAxAIhY6Ipyz8ChWibFsKFXYwstA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.1.tgz", + "integrity": "sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==", "license": "MIT", "dependencies": { "@expo/sudo-prompt": "^9.3.1", - "debug": "^3.1.0", - "glob": "^10.4.2" + "debug": "^3.1.0" } }, "node_modules/@expo/devcert/node_modules/debug": { @@ -1904,9 +1901,9 @@ } }, "node_modules/@expo/devtools": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@expo/devtools/-/devtools-0.1.7.tgz", - "integrity": "sha512-dfIa9qMyXN+0RfU6SN4rKeXZyzKWsnz6xBSDccjL4IRiE+fQ0t84zg0yxgN4t/WK2JU5v6v4fby7W7Crv9gJvA==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@expo/devtools/-/devtools-0.1.8.tgz", + "integrity": "sha512-SVLxbuanDjJPgc0sy3EfXUMLb/tXzp6XIHkhtPVmTWJAp+FOr6+5SeiCfJrCzZFet0Ifyke2vX3sFcKwEvCXwQ==", "license": "MIT", "dependencies": { "chalk": "^4.1.2" @@ -1925,9 +1922,9 @@ } }, "node_modules/@expo/env": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.7.tgz", - "integrity": "sha512-BNETbLEohk3HQ2LxwwezpG8pq+h7Fs7/vAMP3eAtFT1BCpprLYoBBFZH7gW4aqGfqOcVP4Lc91j014verrYNGg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.8.tgz", + "integrity": "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA==", "license": "MIT", "dependencies": { "chalk": "^4.0.0", @@ -1938,9 +1935,9 @@ } }, "node_modules/@expo/fingerprint": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.15.3.tgz", - "integrity": "sha512-8YPJpEYlmV171fi+t+cSLMX1nC5ngY9j2FiN70dHldLpd6Ct6ouGhk96svJ4BQZwsqwII2pokwzrDAwqo4Z0FQ==", + "version": "0.15.4", + "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.15.4.tgz", + "integrity": "sha512-eYlxcrGdR2/j2M6pEDXo9zU9KXXF1vhP+V+Tl+lyY+bU8lnzrN6c637mz6Ye3em2ANy8hhUR03Raf8VsT9Ogng==", "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -1948,7 +1945,7 @@ "chalk": "^4.1.2", "debug": "^4.3.4", "getenv": "^2.0.0", - "glob": "^10.4.2", + "glob": "^13.0.0", "ignore": "^5.3.1", "minimatch": "^9.0.0", "p-limit": "^3.1.0", @@ -1972,9 +1969,9 @@ } }, "node_modules/@expo/image-utils": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.8.7.tgz", - "integrity": "sha512-SXOww4Wq3RVXLyOaXiCCuQFguCDh8mmaHBv54h/R29wGl4jRY8GEyQEx8SypV/iHt1FbzsU/X3Qbcd9afm2W2w==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.8.8.tgz", + "integrity": "sha512-HHHaG4J4nKjTtVa1GG9PCh763xlETScfEyNxxOvfTRr8IKPJckjTyqSLEtdJoFNJ1vqiABEjW7tqGhqGibZLeA==", "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -2002,9 +1999,9 @@ } }, "node_modules/@expo/json-file": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-10.0.7.tgz", - "integrity": "sha512-z2OTC0XNO6riZu98EjdNHC05l51ySeTto6GP7oSQrCvQgG9ARBwD1YvMQaVZ9wU7p/4LzSf1O7tckL3B45fPpw==", + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-10.0.8.tgz", + "integrity": "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ==", "license": "MIT", "dependencies": { "@babel/code-frame": "~7.10.4", @@ -2020,25 +2017,6 @@ "@babel/highlight": "^7.10.4" } }, - "node_modules/@expo/mcp-tunnel": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@expo/mcp-tunnel/-/mcp-tunnel-0.1.0.tgz", - "integrity": "sha512-rJ6hl0GnIZj9+ssaJvFsC7fwyrmndcGz+RGFzu+0gnlm78X01957yjtHgjcmnQAgL5hWEOR6pkT0ijY5nU5AWw==", - "license": "MIT", - "dependencies": { - "ws": "^8.18.3", - "zod": "^3.25.76", - "zod-to-json-schema": "^3.24.6" - }, - "peerDependencies": { - "@modelcontextprotocol/sdk": "^1.13.2" - }, - "peerDependenciesMeta": { - "@modelcontextprotocol/sdk": { - "optional": true - } - } - }, "node_modules/@expo/metro": { "version": "54.1.0", "resolved": "https://registry.npmjs.org/@expo/metro/-/metro-54.1.0.tgz", @@ -2060,17 +2038,17 @@ } }, "node_modules/@expo/metro-config": { - "version": "54.0.9", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-54.0.9.tgz", - "integrity": "sha512-CRI4WgFXrQ2Owyr8q0liEBJveUIF9DcYAKadMRsJV7NxGNBdrIIKzKvqreDfsGiRqivbLsw6UoNb3UE7/SvPfg==", + "version": "54.0.11", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-54.0.11.tgz", + "integrity": "sha512-Bmht6VW9w6Wk49EFqkMzYpICV++Q3Kuqh2KygjH/e5mj/9wHSCWLkmJYmUn0XaOo4bm6BwOp/hO3r5YNKP3AeQ==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.20.0", "@babel/core": "^7.20.0", "@babel/generator": "^7.20.5", - "@expo/config": "~12.0.10", - "@expo/env": "~2.0.7", - "@expo/json-file": "~10.0.7", + "@expo/config": "~12.0.12", + "@expo/env": "~2.0.8", + "@expo/json-file": "~10.0.8", "@expo/metro": "~54.1.0", "@expo/spawn-async": "^1.7.2", "browserslist": "^4.25.0", @@ -2079,7 +2057,7 @@ "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0", - "glob": "^10.4.2", + "glob": "^13.0.0", "hermes-parser": "^0.29.1", "jsc-safe-url": "^0.2.4", "lightningcss": "^1.30.1", @@ -2120,9 +2098,9 @@ } }, "node_modules/@expo/osascript": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.3.7.tgz", - "integrity": "sha512-IClSOXxR0YUFxIriUJVqyYki7lLMIHrrzOaP01yxAL1G8pj2DWV5eW1y5jSzIcIfSCNhtGsshGd1tU/AYup5iQ==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.3.8.tgz", + "integrity": "sha512-/TuOZvSG7Nn0I8c+FcEaoHeBO07yu6vwDgk7rZVvAXoeAK5rkA09jRyjYsZo+0tMEFaToBeywA6pj50Mb3ny9w==", "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -2133,12 +2111,12 @@ } }, "node_modules/@expo/package-manager": { - "version": "1.9.8", - "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.9.8.tgz", - "integrity": "sha512-4/I6OWquKXYnzo38pkISHCOCOXxfeEmu4uDoERq1Ei/9Ur/s9y3kLbAamEkitUkDC7gHk1INxRWEfFNzGbmOrA==", + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.9.9.tgz", + "integrity": "sha512-Nv5THOwXzPprMJwbnXU01iXSrCp3vJqly9M4EJ2GkKko9Ifer2ucpg7x6OUsE09/lw+npaoUnHMXwkw7gcKxlg==", "license": "MIT", "dependencies": { - "@expo/json-file": "^10.0.7", + "@expo/json-file": "^10.0.8", "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "npm-package-arg": "^11.0.0", @@ -2147,9 +2125,9 @@ } }, "node_modules/@expo/plist": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.4.7.tgz", - "integrity": "sha512-dGxqHPvCZKeRKDU1sJZMmuyVtcASuSYh1LPFVaM1DuffqPL36n6FMEL0iUqq2Tx3xhWk8wCnWl34IKplUjJDdA==", + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.4.8.tgz", + "integrity": "sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ==", "license": "MIT", "dependencies": { "@xmldom/xmldom": "^0.8.8", @@ -2158,16 +2136,16 @@ } }, "node_modules/@expo/prebuild-config": { - "version": "54.0.6", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-54.0.6.tgz", - "integrity": "sha512-xowuMmyPNy+WTNq+YX0m0EFO/Knc68swjThk4dKivgZa8zI1UjvFXOBIOp8RX4ljCXLzwxQJM5oBBTvyn+59ZA==", + "version": "54.0.7", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-54.0.7.tgz", + "integrity": "sha512-cKqBsiwcFFzpDWgtvemrCqJULJRLDLKo2QMF74NusoGNpfPI3vQVry1iwnYLeGht02AeD3dvfhpqBczD3wchxA==", "license": "MIT", "dependencies": { - "@expo/config": "~12.0.10", - "@expo/config-plugins": "~54.0.2", - "@expo/config-types": "^54.0.8", - "@expo/image-utils": "^0.8.7", - "@expo/json-file": "^10.0.7", + "@expo/config": "~12.0.11", + "@expo/config-plugins": "~54.0.3", + "@expo/config-types": "^54.0.9", + "@expo/image-utils": "^0.8.8", + "@expo/json-file": "^10.0.8", "@react-native/normalize-colors": "0.81.5", "debug": "^4.3.1", "resolve-from": "^5.0.0", @@ -2191,9 +2169,9 @@ } }, "node_modules/@expo/schema-utils": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@expo/schema-utils/-/schema-utils-0.1.7.tgz", - "integrity": "sha512-jWHoSuwRb5ZczjahrychMJ3GWZu54jK9ulNdh1d4OzAEq672K9E5yOlnlBsfIHWHGzUAT+0CL7Yt1INiXTz68g==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@expo/schema-utils/-/schema-utils-0.1.8.tgz", + "integrity": "sha512-9I6ZqvnAvKKDiO+ZF8BpQQFYWXOJvTAL5L/227RUbWG1OVZDInFifzCBiqAZ3b67NRfeAgpgvbA7rejsqhY62A==", "license": "MIT" }, "node_modules/@expo/sdk-runtime-versions": { @@ -2262,9 +2240,9 @@ } }, "node_modules/@gorhom/bottom-sheet": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@gorhom/bottom-sheet/-/bottom-sheet-5.2.6.tgz", - "integrity": "sha512-vmruJxdiUGDg+ZYcDmS30XDhq/h/+QkINOI5LY/uGjx8cPGwgJW0H6AB902gNTKtccbiKe/rr94EwdmIEz+LAQ==", + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@gorhom/bottom-sheet/-/bottom-sheet-5.2.8.tgz", + "integrity": "sha512-+N27SMpbBxXZQ/IA2nlEV6RGxL/qSFHKfdFKcygvW+HqPG5jVNb1OqehLQsGfBP+Up42i0gW5ppI+DhpB7UCzA==", "license": "MIT", "dependencies": { "@gorhom/portal": "1.0.14", @@ -2327,52 +2305,6 @@ "node": "20 || >=22" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/@isaacs/fs-minipass": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", @@ -2794,9 +2726,9 @@ } }, "node_modules/@legendapp/list": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@legendapp/list/-/list-2.0.15.tgz", - "integrity": "sha512-t39c6TGWOzV8Ec7SxyKKT15+FQTyBgjvbKFnRzT2CUQP8o43Zets6qt1gVULImE7VXTTqNhRe+3FzHmF3EVB5g==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@legendapp/list/-/list-2.0.18.tgz", + "integrity": "sha512-Uo51s+9u+QvQCathLFEckb+OK2eXECuhHo+e+Gn+GlSR4V8tClvCSHOOdagsT/Dsto05jC9Yt5onhqxjLENn7A==", "license": "MIT", "dependencies": { "use-sync-external-store": "^1.5.0" @@ -2807,37 +2739,27 @@ } }, "node_modules/@lottiefiles/dotlottie-react": { - "version": "0.17.7", - "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-react/-/dotlottie-react-0.17.7.tgz", - "integrity": "sha512-A6wO3zqkDx/t0ULfctcr1Bmb1f1hc4zUV3NcbKQOsBGAOIx1vABV/fRabFYElvbJl9lmOR24yMh//Z0fvvJV+Q==", + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-react/-/dotlottie-react-0.17.10.tgz", + "integrity": "sha512-ikrN05/q0/KjqIU+n48uNwmE7DeZIC9y3Nd19httcKqe273zoOeNYycEaQzLSdcpEGnWLmHaZpgtoo07aQZAXg==", "license": "MIT", "dependencies": { - "@lottiefiles/dotlottie-web": "0.56.0" + "@lottiefiles/dotlottie-web": "0.58.1" }, "peerDependencies": { "react": "^17 || ^18 || ^19" } }, "node_modules/@lottiefiles/dotlottie-web": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-web/-/dotlottie-web-0.56.0.tgz", - "integrity": "sha512-bWHRIGzjZs3Hjkz0JRsCMX2ya9a1tGU4atdrlfM3UoN0iamsDE64kSCMfGuchCwGAxg0xEh84CkF+SVV1NU9ow==", + "version": "0.58.1", + "resolved": "https://registry.npmjs.org/@lottiefiles/dotlottie-web/-/dotlottie-web-0.58.1.tgz", + "integrity": "sha512-YC4pmScrV0R3rd11gU5xHrjeNczlCic69zlnMH/buDIzYxIbpR88oPUhGtKgu5ln7EJchoLpeRJbA3uLCzSeTA==", "license": "MIT" }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@posthog/core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.5.2.tgz", - "integrity": "sha512-iedUP3EnOPPxTA2VaIrsrd29lSZnUV+ZrMnvY56timRVeZAXoYCkmjfIs3KBAsF8OUT5h1GXLSkoQdrV0r31OQ==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.7.1.tgz", + "integrity": "sha512-kjK0eFMIpKo9GXIbts8VtAknsoZ18oZorANdtuTj1CbgS28t4ZVq//HAWhnxEuXRTrtkd+SUJ6Ux3j2Af8NCuA==", "license": "MIT", "dependencies": { "cross-spawn": "^7.0.6" @@ -3187,17 +3109,17 @@ } }, "node_modules/@react-navigation/bottom-tabs": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-7.8.5.tgz", - "integrity": "sha512-Zm9UOTfEtBLL7Wm+JBc0v/lh72cen9a8WVN5KSCEN7EtiQIPXbQUZg1ktEzme600HhxvaNZzzSz0X+w2E5nG5w==", + "version": "7.8.12", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-7.8.12.tgz", + "integrity": "sha512-efVt5ydHK+b4ZtjmN81iduaO5dPCmzhLBFwjCR8pV4x4VzUfJmtUJizLqTXpT3WatHdeon2gDPwhhoelsvu/JA==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.8.2", + "@react-navigation/elements": "^2.9.2", "color": "^4.2.3", "sf-symbols-typescript": "^2.1.0" }, "peerDependencies": { - "@react-navigation/native": "^7.1.20", + "@react-navigation/native": "^7.1.25", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", @@ -3228,12 +3150,12 @@ } }, "node_modules/@react-navigation/core": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-7.13.1.tgz", - "integrity": "sha512-aPf1vjQhMytPC9CmJu28hT5eTaBJuqIf9T6IRICtap5HHgFLrsYizLZrg3D0H2AoPyOoijMPWzwf7VCBzfGvrg==", + "version": "7.13.6", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-7.13.6.tgz", + "integrity": "sha512-7QG29HAWOR8wYuPkfTN8L2Po+kE1xn3nsi2sS35sGngq8HYZRHfXvxrhrAZYfFnFq2hUtOhcXnSS6vEWU/5rmA==", "license": "MIT", "dependencies": { - "@react-navigation/routers": "^7.5.1", + "@react-navigation/routers": "^7.5.2", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", @@ -3247,9 +3169,9 @@ } }, "node_modules/@react-navigation/elements": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.8.2.tgz", - "integrity": "sha512-K5NWIMar81oAoRAgLwrWcLpXzY2K5yG3gNU/56uyC12u+i5SyIVAv+ygP36UXvrNLzDigg8OdRSdEBb8ePqQtA==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.9.2.tgz", + "integrity": "sha512-J1GltOAGowNLznEphV/kr4zs0U7mUBO1wVA2CqpkN8ePBsoxrAmsd+T5sEYUCXN9KgTDFvc6IfcDqrGSQngd/g==", "license": "MIT", "dependencies": { "color": "^4.2.3", @@ -3258,7 +3180,7 @@ }, "peerDependencies": { "@react-native-masked-view/masked-view": ">= 0.2.0", - "@react-navigation/native": "^7.1.20", + "@react-navigation/native": "^7.1.25", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0" @@ -3293,12 +3215,12 @@ } }, "node_modules/@react-navigation/native": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.1.20.tgz", - "integrity": "sha512-15luFq+35M2IOMHgbTJ0XDkPY7gm3YlR3yQKTuOTOHs+EeAUX71DlUuqcWMRqB0tt+OT6HimDQR7OboTB0N30g==", + "version": "7.1.25", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.1.25.tgz", + "integrity": "sha512-zQeWK9txDePWbYfqTs0C6jeRdJTm/7VhQtW/1IbJNDi9/rFIRzZule8bdQPAnf8QWUsNujRmi1J9OG/hhfbalg==", "license": "MIT", "dependencies": { - "@react-navigation/core": "^7.13.1", + "@react-navigation/core": "^7.13.6", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", @@ -3310,18 +3232,18 @@ } }, "node_modules/@react-navigation/native-stack": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-7.6.3.tgz", - "integrity": "sha512-F0f0+3K1mVWiQEZbyZen0LAl7Gc4qpbWM4Tpva5aCqBAECZyn7/uLbVhSXtC/EwzMqQ+ojPLtceFQhXhJqfqfg==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-7.8.6.tgz", + "integrity": "sha512-eBY92xb4H53c9jiWriKMOZmQ/Tu9w1qcUrgOA/qjQOvJFbgKF9D6y3e4UuBaDQzjWjLEDZLaiwXe8cwXRb46mg==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.8.2", + "@react-navigation/elements": "^2.9.2", "color": "^4.2.3", "sf-symbols-typescript": "^2.1.0", "warn-once": "^0.1.1" }, "peerDependencies": { - "@react-navigation/native": "^7.1.20", + "@react-navigation/native": "^7.1.25", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", @@ -3352,26 +3274,26 @@ } }, "node_modules/@react-navigation/routers": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-7.5.1.tgz", - "integrity": "sha512-pxipMW/iEBSUrjxz2cDD7fNwkqR4xoi0E/PcfTQGCcdJwLoaxzab5kSadBLj1MTJyT0YRrOXL9umHpXtp+Dv4w==", + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-7.5.2.tgz", + "integrity": "sha512-kymreY5aeTz843E+iPAukrsOtc7nabAH6novtAPREmmGu77dQpfxPB2ZWpKb5nRErIRowp1kYRoN2Ckl+S6JYw==", "license": "MIT", "dependencies": { "nanoid": "^3.3.11" } }, "node_modules/@react-navigation/stack": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.6.4.tgz", - "integrity": "sha512-KweDIIFcSyG8x2ylyC1V+u6T5GpykPra9WoOOH7Ijoumvxuda6UETOoJPX5h/DUZKM5ve7mIfv7oXpbH9Ik/Jg==", + "version": "7.6.12", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.6.12.tgz", + "integrity": "sha512-hq5d+lWUwBnwPcBNyUYHiirzRuiD5YhQDIgZWzRConfcRwI/qwFW5+5bCCJ3fQZnNlP05UA4ZlI6r1ysU6y6ww==", "license": "MIT", "dependencies": { - "@react-navigation/elements": "^2.8.2", + "@react-navigation/elements": "^2.9.2", "color": "^4.2.3", "use-latest-callback": "^0.2.4" }, "peerDependencies": { - "@react-navigation/native": "^7.1.20", + "@react-navigation/native": "^7.1.25", "react": ">= 18.2.0", "react-native": "*", "react-native-gesture-handler": ">= 2.0.0", @@ -3403,84 +3325,84 @@ } }, "node_modules/@sentry-internal/browser-utils": { - "version": "10.24.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.24.0.tgz", - "integrity": "sha512-2nLj5TgPc/KkGy7LCW9sBGJT0CT+9U+Vlqa8yl7APd5agzxrpRyTcm4hPBBOw5tw7D4NWWUMulFxtZKZzT/Rcw==", + "version": "10.26.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.26.0.tgz", + "integrity": "sha512-rPg1+JZlfp912pZONQAWZzbSaZ9L6R2VrMcCEa+2e2Gqk9um4b+LqF5RQWZsbt5Z0n0azSy/KQ6zAe/zTPXSOg==", "license": "MIT", "dependencies": { - "@sentry/core": "10.24.0" + "@sentry/core": "10.26.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry-internal/feedback": { - "version": "10.24.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-10.24.0.tgz", - "integrity": "sha512-leYFQfgax50sYTEgkcEzPP8lTvtE12nryJSsdtPNym6gmQgA2SN20oSRNlxo1AitNpwNnTkj+ow/Y9ytrJlXUQ==", + "version": "10.26.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-10.26.0.tgz", + "integrity": "sha512-0vk9eQP0CXD7Y2WkcCIWHaAqnXOAi18/GupgWLnbB2kuQVYVtStWxtW+OWRe8W/XwSnZ5m6JBTVeokuk/O16DQ==", "license": "MIT", "dependencies": { - "@sentry/core": "10.24.0" + "@sentry/core": "10.26.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry-internal/replay": { - "version": "10.24.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-10.24.0.tgz", - "integrity": "sha512-xqSw3sCu5yxDQFpo/42t1zzxe+6kn542DRwHNBqIBd0CWN7un/j5YIW1Sq/+TdHYGbeG8LzD5UOuvZsT4zF2nQ==", + "version": "10.26.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-10.26.0.tgz", + "integrity": "sha512-FMySQnY2/p0dVtFUBgUO+aMdK2ovqnd7Q/AkvMQUsN/5ulyj6KZx3JX3CqOqRtAr1izoCe4Kh2pi5t//sQmvsg==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "10.24.0", - "@sentry/core": "10.24.0" + "@sentry-internal/browser-utils": "10.26.0", + "@sentry/core": "10.26.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "10.24.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-10.24.0.tgz", - "integrity": "sha512-pjNZ+/L/ct0huutkTQrcR+V/v3ICf5wKE8OOB2Dt3DcjNsbLKtUsy9Um6bCbSz/fRI8K/ZFlVLjiIQkMW+WX0Q==", + "version": "10.26.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-10.26.0.tgz", + "integrity": "sha512-vs7d/P+8M1L1JVAhhJx2wo15QDhqAipnEQvuRZ6PV7LUcS1un9/Vx49FMxpIkx6JcKADJVwtXrS1sX2hoNT/kw==", "license": "MIT", "dependencies": { - "@sentry-internal/replay": "10.24.0", - "@sentry/core": "10.24.0" + "@sentry-internal/replay": "10.26.0", + "@sentry/core": "10.26.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry/babel-plugin-component-annotate": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-4.6.0.tgz", - "integrity": "sha512-3soTX50JPQQ51FSbb4qvNBf4z/yP7jTdn43vMTp9E4IxvJ9HKJR7OEuKkCMszrZmWsVABXl02msqO7QisePdiQ==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-4.6.1.tgz", + "integrity": "sha512-aSIk0vgBqv7PhX6/Eov+vlI4puCE0bRXzUG5HdCsHBpAfeMkI8Hva6kSOusnzKqs8bf04hU7s3Sf0XxGTj/1AA==", "license": "MIT", "engines": { "node": ">= 14" } }, "node_modules/@sentry/browser": { - "version": "10.24.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-10.24.0.tgz", - "integrity": "sha512-kKSNYupPIIk02+4OVR13qpJ8/uzsf6SrCzgxr6EvdK8qEuGYLJyM6lLJze/C5BZTSsam6UGAfahrSI1K5il8oQ==", + "version": "10.26.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-10.26.0.tgz", + "integrity": "sha512-uvV4hnkt8bh8yP0disJ0fszy8FdnkyGtzyIVKdeQZbNUefwbDhd3H0KJrAHhJ5ocULMH3B+dipdPmw2QXbEflg==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "10.24.0", - "@sentry-internal/feedback": "10.24.0", - "@sentry-internal/replay": "10.24.0", - "@sentry-internal/replay-canvas": "10.24.0", - "@sentry/core": "10.24.0" + "@sentry-internal/browser-utils": "10.26.0", + "@sentry-internal/feedback": "10.26.0", + "@sentry-internal/replay": "10.26.0", + "@sentry-internal/replay-canvas": "10.26.0", + "@sentry/core": "10.26.0" }, "engines": { "node": ">=18" } }, "node_modules/@sentry/cli": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.58.0.tgz", - "integrity": "sha512-ywfV2uYkNaW5BGFBgIEX+urkxWtY03GYKN08OLYJpfJeOWl5tzxAKKg+AkMZqnqsDqjCf8gLjZh7sF4jY+ZE1Q==", + "version": "2.58.2", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.58.2.tgz", + "integrity": "sha512-U4u62V4vaTWF+o40Mih8aOpQKqKUbZQt9A3LorIJwaE3tO3XFLRI70eWtW2se1Qmy0RZ74zB14nYcFNFl2t4Rw==", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { @@ -3497,20 +3419,20 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.58.0", - "@sentry/cli-linux-arm": "2.58.0", - "@sentry/cli-linux-arm64": "2.58.0", - "@sentry/cli-linux-i686": "2.58.0", - "@sentry/cli-linux-x64": "2.58.0", - "@sentry/cli-win32-arm64": "2.58.0", - "@sentry/cli-win32-i686": "2.58.0", - "@sentry/cli-win32-x64": "2.58.0" + "@sentry/cli-darwin": "2.58.2", + "@sentry/cli-linux-arm": "2.58.2", + "@sentry/cli-linux-arm64": "2.58.2", + "@sentry/cli-linux-i686": "2.58.2", + "@sentry/cli-linux-x64": "2.58.2", + "@sentry/cli-win32-arm64": "2.58.2", + "@sentry/cli-win32-i686": "2.58.2", + "@sentry/cli-win32-x64": "2.58.2" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.58.0.tgz", - "integrity": "sha512-dI8+85N2xNsQeJZBbfGkjFScYH0xP/8+TDgoA5YiWWxsD/qSlWv1pf2VCR83smMyfcjIkDiPYIxBDticD67skQ==", + "version": "2.58.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.58.2.tgz", + "integrity": "sha512-MArsb3zLhA2/cbd4rTm09SmTpnEuZCoZOpuZYkrpDw1qzBVJmRFA1W1hGAQ9puzBIk/ubY3EUhhzuU3zN2uD6w==", "license": "BSD-3-Clause", "optional": true, "os": [ @@ -3521,9 +3443,9 @@ } }, "node_modules/@sentry/cli-linux-arm": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.58.0.tgz", - "integrity": "sha512-QxBWSQkm2OL8d0XXTUOcX5RYZzZGkMw48ubU4g/c4rlT06PuJV56Z03jsMQdJWUDzKmVYoJdvFV/whxYIkwmWw==", + "version": "2.58.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.58.2.tgz", + "integrity": "sha512-HU9lTCzcHqCz/7Mt5n+cv+nFuJdc1hGD2h35Uo92GgxX3/IujNvOUfF+nMX9j6BXH6hUt73R5c0Ycq9+a3Parg==", "cpu": [ "arm" ], @@ -3539,9 +3461,9 @@ } }, "node_modules/@sentry/cli-linux-arm64": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.58.0.tgz", - "integrity": "sha512-Fso5GImxQOigZqLHAHhz85w71zxS1bvL52PI/tcjadmKrIaJdD3ANukC0UcKyKuj9xhr/k1ufNR7V+2BD16kmg==", + "version": "2.58.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.58.2.tgz", + "integrity": "sha512-ay3OeObnbbPrt45cjeUyQjsx5ain1laj1tRszWj37NkKu55NZSp4QCg1gGBZ0gBGhckI9nInEsmKtix00alw2g==", "cpu": [ "arm64" ], @@ -3557,9 +3479,9 @@ } }, "node_modules/@sentry/cli-linux-i686": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.58.0.tgz", - "integrity": "sha512-Av+T5YwuTtbOpe/Fyr/lsbl5XIZTFspHCiAt4Kgtllme6T1ASIDhQDXDh/OVJ8So4pHkToTn3iH8mm8vLqBqOA==", + "version": "2.58.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.58.2.tgz", + "integrity": "sha512-CN9p0nfDFsAT1tTGBbzOUGkIllwS3hygOUyTK7LIm9z+UHw5uNgNVqdM/3Vg+02ymjkjISNB3/+mqEM5osGXdA==", "cpu": [ "x86", "ia32" @@ -3576,9 +3498,9 @@ } }, "node_modules/@sentry/cli-linux-x64": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.58.0.tgz", - "integrity": "sha512-AxK0eqZbHn0NGWsAE8bzt/iRMMUlqsx77kru/TIBQy9cMMJaq+rLb63W7HWXln4ER32nPZYx+JuhHD9UNiAFHA==", + "version": "2.58.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.58.2.tgz", + "integrity": "sha512-oX/LLfvWaJO50oBVOn4ZvG2SDWPq0MN8SV9eg5tt2nviq+Ryltfr7Rtoo+HfV+eyOlx1/ZXhq9Wm7OT3cQuz+A==", "cpu": [ "x64" ], @@ -3594,9 +3516,9 @@ } }, "node_modules/@sentry/cli-win32-arm64": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.58.0.tgz", - "integrity": "sha512-lIRTfGjD1TQIOuFh4rJGWt3zXyeXAlfoYYQbzG/rP6gXstiGENQtfEXZyKT+wlIGSqtbBGVfL8xp65ryjbXSgQ==", + "version": "2.58.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.58.2.tgz", + "integrity": "sha512-+cl3x2HPVMpoSVGVM1IDWlAEREZrrVQj4xBb0TRKII7g3hUxRsAIcsrr7+tSkie++0FuH4go/b5fGAv51OEF3w==", "cpu": [ "arm64" ], @@ -3610,9 +3532,9 @@ } }, "node_modules/@sentry/cli-win32-i686": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.58.0.tgz", - "integrity": "sha512-7VdB3QZ/3t2FABgIwRP2SoJcDmZaPPPZofVmJem+FgeONeLOUvHQw9WSLG4y5Dfc9yi5wO31H1ClW4uxv8EtuA==", + "version": "2.58.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.58.2.tgz", + "integrity": "sha512-omFVr0FhzJ8oTJSg1Kf+gjLgzpYklY0XPfLxZ5iiMiYUKwF5uo1RJRdkUOiEAv0IqpUKnmKcmVCLaDxsWclB7Q==", "cpu": [ "x86", "ia32" @@ -3627,9 +3549,9 @@ } }, "node_modules/@sentry/cli-win32-x64": { - "version": "2.58.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.58.0.tgz", - "integrity": "sha512-uItx4P4v9cKbgVbOpuShvIV8g42qLmZorPHwg3pYUu78c85xAWrmiXL+0JKNUf5JVBEHeHB+rIu08AZfDMhxig==", + "version": "2.58.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.58.2.tgz", + "integrity": "sha512-2NAFs9UxVbRztQbgJSP5i8TB9eJQ7xraciwj/93djrSMHSEbJ0vC47TME0iifgvhlHMs5vqETOKJtfbbpQAQFA==", "cpu": [ "x64" ], @@ -3643,22 +3565,22 @@ } }, "node_modules/@sentry/core": { - "version": "10.24.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.24.0.tgz", - "integrity": "sha512-apJ1NtCK/Kt5uTytee+4rhhcTm4u3+z0bESH8GNMXMcuJ/A3Rvy3HUh+gqCx4BTOR0Sa44dbMvJcm/ewO+mzVg==", + "version": "10.26.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.26.0.tgz", + "integrity": "sha512-TjDe5QI37SLuV0q3nMOH8JcPZhv2e85FALaQMIhRILH9Ce6G7xW5GSjmH91NUVq8yc3XtiqYlz/EenEZActc4Q==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@sentry/react": { - "version": "10.24.0", - "resolved": "https://registry.npmjs.org/@sentry/react/-/react-10.24.0.tgz", - "integrity": "sha512-HW83v7LC5E06H/cYtU4fnlOV5fykNl5QkrOoZzKrYfAUCh4T11gjd4RvlvI+WaXb6nhD+gW2YLu95iIRHid/TA==", + "version": "10.26.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-10.26.0.tgz", + "integrity": "sha512-Qi0/FVXAalwQNr8zp0tocViH3+MRelW8ePqj3TdMzapkbXRuh07czdGgw8Zgobqcb7l4rRCRAUo2sl/H3KVkIw==", "license": "MIT", "dependencies": { - "@sentry/browser": "10.24.0", - "@sentry/core": "10.24.0", + "@sentry/browser": "10.26.0", + "@sentry/core": "10.26.0", "hoist-non-react-statics": "^3.3.2" }, "engines": { @@ -3669,17 +3591,17 @@ } }, "node_modules/@sentry/react-native": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-7.6.0.tgz", - "integrity": "sha512-oL6Tl6B+vHP/OtHt9LkhZMg+mntjn2mFTzqnPCggXDIPxn5cqZ41154wA7d33i6JLKiXiK02EHJlnImdb4s06w==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-7.7.0.tgz", + "integrity": "sha512-D+gqiw88mOnouY+Pd8A3wcUDOilPOIcypBPw7WL9v+K1jM12Snf6sosEG4xgFFMXoK+GSsYAeC5MR0skD/b+Zg==", "license": "MIT", "dependencies": { - "@sentry/babel-plugin-component-annotate": "4.6.0", - "@sentry/browser": "10.24.0", - "@sentry/cli": "2.58.0", - "@sentry/core": "10.24.0", - "@sentry/react": "10.24.0", - "@sentry/types": "10.24.0" + "@sentry/babel-plugin-component-annotate": "4.6.1", + "@sentry/browser": "10.26.0", + "@sentry/cli": "2.58.2", + "@sentry/core": "10.26.0", + "@sentry/react": "10.26.0", + "@sentry/types": "10.26.0" }, "bin": { "sentry-expo-upload-sourcemaps": "scripts/expo-upload-sourcemaps.js" @@ -3696,12 +3618,12 @@ } }, "node_modules/@sentry/types": { - "version": "10.24.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-10.24.0.tgz", - "integrity": "sha512-hLcLS9mFVqZGbkVgkvnkFvwbqkxSv2vKI6zYNJ+3ZW6PWyS82KBEHgedwxtg2F6lCGWQHQxINKjp0GZYKxtRjg==", + "version": "10.26.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-10.26.0.tgz", + "integrity": "sha512-mDpG7lnOJppbk9iKrnuvkuiCTbh3aBAlUK4NZxZNLOSI0SeefYXHRAcri89BqWZ/MT98sQLU+Hf+rlwrwq38/A==", "license": "MIT", "dependencies": { - "@sentry/core": "10.24.0" + "@sentry/core": "10.26.0" }, "engines": { "node": ">=18" @@ -3718,33 +3640,6 @@ "react-native": "*" } }, - "node_modules/@shopify/react-native-skia": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@shopify/react-native-skia/-/react-native-skia-2.3.13.tgz", - "integrity": "sha512-gXlD85hqDDC0C1e2on0pTJoV6pOL3ZJBRDbAzAqSa8Q6Y76tHWqsNTTBuipTjzr/9yFxqPp96p/i/P6lMMsvLg==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "canvaskit-wasm": "0.40.0", - "react-reconciler": "0.31.0" - }, - "bin": { - "setup-skia-web": "scripts/setup-canvaskit.js" - }, - "peerDependencies": { - "react": ">=19.0", - "react-native": ">=0.78", - "react-native-reanimated": ">=3.19.1" - }, - "peerDependenciesMeta": { - "react-native": { - "optional": true - }, - "react-native-reanimated": { - "optional": true - } - } - }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -4133,15 +4028,15 @@ } }, "node_modules/@types/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ==", "license": "MIT" }, "node_modules/@types/node": { - "version": "24.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", - "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "version": "25.0.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.2.tgz", + "integrity": "sha512-gWEkeiyYE4vqjON/+Obqcoeffmk0NF15WSBwSs7zwVA2bAbTaE0SJ7P0WNGoJn8uE7fiaV5a7dKYIJriEqOrmA==", "license": "MIT", "dependencies": { "undici-types": "~7.16.0" @@ -4154,13 +4049,13 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.26", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.26.tgz", - "integrity": "sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==", + "version": "18.3.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", + "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", "license": "MIT", "dependencies": { "@types/prop-types": "*", - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/react-native": { @@ -4196,12 +4091,14 @@ } }, "node_modules/@types/react-native-video": { - "version": "5.0.20", - "resolved": "https://registry.npmjs.org/@types/react-native-video/-/react-native-video-5.0.20.tgz", - "integrity": "sha512-CdD4T43uEKzTNJ/RylTDViNuGuyOPWQUEuA1Y9GY8T+HiE9cwYw1zQNqk8a7zz9GHamlPfJQ+bYoEE9OWjZ/6g==", + "version": "5.0.21", + "resolved": "https://registry.npmjs.org/@types/react-native-video/-/react-native-video-5.0.21.tgz", + "integrity": "sha512-6C/9uv12x+QNAjbYFKUWciwSIksNj+xhL8/EZXIN+H/bHYmSMWKZ1oxfIrd+IfXx3edcDZmyR3ByY7r4ptxZow==", "license": "MIT", "dependencies": { - "@types/react": "*", + "@types/react": "*" + }, + "peerDependencies": { "react-native": "*" } }, @@ -4405,12 +4302,6 @@ "url": "https://github.com/sponsors/crutchcorn" } }, - "node_modules/@webgpu/types": { - "version": "0.1.21", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.21.tgz", - "integrity": "sha512-pUrWq3V5PiSGFLeLxoGqReTZmiiXwY3jRkIG5sLLKjyqNxrwm/04b4nw7LSmGWJcKk59XOM/YRTUwOzo4MMlow==", - "license": "BSD-3-Clause" - }, "node_modules/@xmldom/xmldom": { "version": "0.8.11", "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.11.tgz", @@ -4493,16 +4384,15 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", - "optional": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -4710,12 +4600,12 @@ } }, "node_modules/axios-cookiejar-support": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/axios-cookiejar-support/-/axios-cookiejar-support-6.0.4.tgz", - "integrity": "sha512-4Bzj+l63eGwnWDBFdJHeGS6Ij3ytpyqvo//ocsb5kCLN/rKthzk27Afh2iSkZtuudOBkHUWWIcyCb4GKhXqovQ==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/axios-cookiejar-support/-/axios-cookiejar-support-6.0.5.tgz", + "integrity": "sha512-ldPOQCJWB0ipugkTNVB8QRl/5L2UgfmVNVQtS9en1JQJ1wW588PqAmymnwmmgc12HLDzDtsJ28xE2ppj4rD4ng==", "license": "MIT", "dependencies": { - "http-cookie-agent": "^7.0.2" + "http-cookie-agent": "^7.0.3" }, "engines": { "node": ">=20.0.0" @@ -4886,9 +4776,9 @@ } }, "node_modules/babel-preset-expo": { - "version": "54.0.7", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-54.0.7.tgz", - "integrity": "sha512-JENWk0bvxW4I1ftveO8GRtX2t2TH6N4Z0TPvIHxroZ/4SswUfyNsUNbbP7Fm4erj3ar/JHGri5kTZ+s3xdjHZw==", + "version": "54.0.8", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-54.0.8.tgz", + "integrity": "sha512-3ZJ4Q7uQpm8IR/C9xbKhE/IUjGpLm+OIjF8YCedLgqoe/wN1Ns2wLT7HwG6ZXXb6/rzN8IMCiKFQ2F93qlN6GA==", "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.9", @@ -4977,9 +4867,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.8.28", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.28.tgz", - "integrity": "sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ==", + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.7.tgz", + "integrity": "sha512-k9xFKplee6KIio3IDbwj+uaCLpqzOwakOgmqzPezM0sFJlFKcg30vk2wOiAJtkTSfx0SSQDSe8q+mWA/fSH5Zg==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.js" @@ -5088,9 +4978,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", - "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "funding": [ { "type": "opencollective", @@ -5107,11 +4997,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.8.25", - "caniuse-lite": "^1.0.30001754", - "electron-to-chromium": "^1.5.249", + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", - "update-browserslist-db": "^1.1.4" + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -5247,9 +5137,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001755", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001755.tgz", - "integrity": "sha512-44V+Jm6ctPj7R52Na4TLi3Zri4dWUljJd+RDm+j8LtNCc/ihLCT+X1TzoOAkRETEWqjuLnh9581Tl80FvK7jVA==", + "version": "1.0.30001760", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", + "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", "funding": [ { "type": "opencollective", @@ -5266,15 +5156,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/canvaskit-wasm": { - "version": "0.40.0", - "resolved": "https://registry.npmjs.org/canvaskit-wasm/-/canvaskit-wasm-0.40.0.tgz", - "integrity": "sha512-Od2o+ZmoEw9PBdN/yCGvzfu0WVqlufBPEWNG452wY7E9aT8RBE+ChpZF526doOlg7zumO4iCS+RAeht4P0Gbpw==", - "license": "BSD-3-Clause", - "dependencies": { - "@webgpu/types": "0.1.21" - } - }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -5411,26 +5292,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/cliui/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -5643,12 +5504,12 @@ "license": "MIT" }, "node_modules/core-js-compat": { - "version": "3.46.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz", - "integrity": "sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==", + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", + "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==", "license": "MIT", "dependencies": { - "browserslist": "^4.26.3" + "browserslist": "^4.28.0" }, "funding": { "type": "opencollective", @@ -5843,9 +5704,9 @@ } }, "node_modules/csstype": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.2.tgz", - "integrity": "sha512-D80T+tiqkd/8B0xNlbstWDG4x6aqVfO52+OlSUNIdkTvmNw0uQpJLeos2J/2XvpyidAFuTPmpad+tUxLndwj6g==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "license": "MIT" }, "node_modules/dashdash": { @@ -6100,12 +5961,6 @@ "node": ">= 0.4" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -6124,15 +5979,15 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.254", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.254.tgz", - "integrity": "sha512-DcUsWpVhv9svsKRxnSCZ86SjD+sp32SGidNB37KpqXJncp1mfUgKbHvBomE89WJDbfVKw1mdv5+ikrvd43r+Bg==", + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", "license": "ISC" }, "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, "node_modules/encodeurl": { @@ -6357,29 +6212,29 @@ "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" }, "node_modules/expo": { - "version": "54.0.23", - "resolved": "https://registry.npmjs.org/expo/-/expo-54.0.23.tgz", - "integrity": "sha512-b4uQoiRwQ6nwqsT2709RS15CWYNGF3eJtyr1KyLw9WuMAK7u4jjofkhRiO0+3o1C2NbV+WooyYTOZGubQQMBaQ==", + "version": "54.0.29", + "resolved": "https://registry.npmjs.org/expo/-/expo-54.0.29.tgz", + "integrity": "sha512-9C90gyOzV83y2S3XzCbRDCuKYNaiyCzuP9ketv46acHCEZn+QTamPK/DobdghoSiofCmlfoaiD6/SzfxDiHMnw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", - "@expo/cli": "54.0.16", - "@expo/config": "~12.0.10", - "@expo/config-plugins": "~54.0.2", - "@expo/devtools": "0.1.7", - "@expo/fingerprint": "0.15.3", + "@expo/cli": "54.0.19", + "@expo/config": "~12.0.12", + "@expo/config-plugins": "~54.0.4", + "@expo/devtools": "0.1.8", + "@expo/fingerprint": "0.15.4", "@expo/metro": "~54.1.0", - "@expo/metro-config": "54.0.9", + "@expo/metro-config": "54.0.11", "@expo/vector-icons": "^15.0.3", "@ungap/structured-clone": "^1.3.0", - "babel-preset-expo": "~54.0.7", - "expo-asset": "~12.0.9", - "expo-constants": "~18.0.10", - "expo-file-system": "~19.0.17", - "expo-font": "~14.0.9", - "expo-keep-awake": "~15.0.7", - "expo-modules-autolinking": "3.0.21", - "expo-modules-core": "3.0.25", + "babel-preset-expo": "~54.0.8", + "expo-asset": "~12.0.11", + "expo-constants": "~18.0.12", + "expo-file-system": "~19.0.21", + "expo-font": "~14.0.10", + "expo-keep-awake": "~15.0.8", + "expo-modules-autolinking": "3.0.23", + "expo-modules-core": "3.0.29", "pretty-format": "^29.7.0", "react-refresh": "^0.14.2", "whatwg-url-without-unicode": "8.0.0-3" @@ -6409,22 +6264,22 @@ } }, "node_modules/expo-application": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-7.0.7.tgz", - "integrity": "sha512-Jt1/qqnoDUbZ+bK91+dHaZ1vrPDtRBOltRa681EeedkisqguuEeUx4UHqwVyDK2oHWsK6lO3ojetoA4h8OmNcg==", + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-7.0.8.tgz", + "integrity": "sha512-qFGyxk7VJbrNOQWBbE09XUuGuvkOgFS9QfToaK2FdagM2aQ+x3CvGV2DuVgl/l4ZxPgIf3b/MNh9xHpwSwn74Q==", "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-asset": { - "version": "12.0.9", - "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-12.0.9.tgz", - "integrity": "sha512-vrdRoyhGhBmd0nJcssTSk1Ypx3Mbn/eXaaBCQVkL0MJ8IOZpAObAjfD5CTy8+8RofcHEQdh3wwZVCs7crvfOeg==", + "version": "12.0.11", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-12.0.11.tgz", + "integrity": "sha512-pnK/gQ5iritDPBeK54BV35ZpG7yeW5DtgGvJHruIXkyDT9BCoQq3i0AAxfcWG/e4eiRmTzAt5kNVYFJi48uo+A==", "license": "MIT", "dependencies": { - "@expo/image-utils": "^0.8.7", - "expo-constants": "~18.0.9" + "@expo/image-utils": "^0.8.8", + "expo-constants": "~18.0.11" }, "peerDependencies": { "expo": "*", @@ -6433,16 +6288,16 @@ } }, "node_modules/expo-auth-session": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/expo-auth-session/-/expo-auth-session-7.0.8.tgz", - "integrity": "sha512-kpo2Jva+6uVjk6TmNqWAoqTnULXZaEVa9l4uf8JH32uDMt/iZQhM0fauy7Ww+y910Euhv5djCP7cPj8KWv6cmQ==", + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/expo-auth-session/-/expo-auth-session-7.0.10.tgz", + "integrity": "sha512-XDnKkudvhHSKkZfJ+KkodM+anQcrxB71i+h0kKabdLa5YDXTQ81aC38KRc3TMqmnBDHAu0NpfbzEVd9WDFY3Qg==", "license": "MIT", "dependencies": { - "expo-application": "~7.0.7", - "expo-constants": "~18.0.8", - "expo-crypto": "~15.0.7", - "expo-linking": "~8.0.8", - "expo-web-browser": "~15.0.7", + "expo-application": "~7.0.8", + "expo-constants": "~18.0.11", + "expo-crypto": "~15.0.8", + "expo-linking": "~8.0.10", + "expo-web-browser": "~15.0.10", "invariant": "^2.2.4" }, "peerDependencies": { @@ -6451,9 +6306,9 @@ } }, "node_modules/expo-blur": { - "version": "15.0.7", - "resolved": "https://registry.npmjs.org/expo-blur/-/expo-blur-15.0.7.tgz", - "integrity": "sha512-SugQQbQd+zRPy8z2G5qDD4NqhcD7srBF7fN7O7yq6q7ZFK59VWvpDxtMoUkmSfdxgqONsrBN/rLdk00USADrMg==", + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/expo-blur/-/expo-blur-15.0.8.tgz", + "integrity": "sha512-rWyE1NBRZEu9WD+X+5l7gyPRszw7n12cW3IRNAb5i6KFzaBp8cxqT5oeaphJapqURvcqhkOZn2k5EtBSbsuU7w==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -6462,9 +6317,9 @@ } }, "node_modules/expo-brightness": { - "version": "14.0.7", - "resolved": "https://registry.npmjs.org/expo-brightness/-/expo-brightness-14.0.7.tgz", - "integrity": "sha512-wccb/NdQEd45UF0lgNEksZt3E8uzlIcxIx1ZqZYWbHyNvcS3LUj5wxB6+ZgKTLeWu4vLQ+oHe+F0QrkC9ojrig==", + "version": "14.0.8", + "resolved": "https://registry.npmjs.org/expo-brightness/-/expo-brightness-14.0.8.tgz", + "integrity": "sha512-WOg3UxzkHFTKBW3XvROlrVRmnJmZLhGBGd1RdzTfrtt2/MdSzvVmCevqWh4bohkeLABh0Yc9YRo1vFgfT73DWw==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -6472,13 +6327,13 @@ } }, "node_modules/expo-constants": { - "version": "18.0.10", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-18.0.10.tgz", - "integrity": "sha512-Rhtv+X974k0Cahmvx6p7ER5+pNhBC0XbP1lRviL2J1Xl4sT2FBaIuIxF/0I0CbhOsySf0ksqc5caFweAy9Ewiw==", + "version": "18.0.12", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-18.0.12.tgz", + "integrity": "sha512-WzcKYMVNRRu4NcSzfIVRD5aUQFnSpTZgXFrlWmm19xJoDa4S3/PQNi6PNTBRc49xz9h8FT7HMxRKaC8lr0gflA==", "license": "MIT", "dependencies": { - "@expo/config": "~12.0.10", - "@expo/env": "~2.0.7" + "@expo/config": "~12.0.12", + "@expo/env": "~2.0.8" }, "peerDependencies": { "expo": "*", @@ -6486,9 +6341,9 @@ } }, "node_modules/expo-crypto": { - "version": "15.0.7", - "resolved": "https://registry.npmjs.org/expo-crypto/-/expo-crypto-15.0.7.tgz", - "integrity": "sha512-FUo41TwwGT2e5rA45PsjezI868Ch3M6wbCZsmqTWdF/hr+HyPcrp1L//dsh/hsrsyrQdpY/U96Lu71/wXePJeg==", + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/expo-crypto/-/expo-crypto-15.0.8.tgz", + "integrity": "sha512-aF7A914TB66WIlTJvl5J6/itejfY78O7dq3ibvFltL9vnTALJ/7LYHvLT4fwmx9yUNS6ekLBtDGWivFWnj2Fcw==", "license": "MIT", "dependencies": { "base64-js": "^1.3.0" @@ -6498,15 +6353,15 @@ } }, "node_modules/expo-dev-client": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/expo-dev-client/-/expo-dev-client-6.0.17.tgz", - "integrity": "sha512-zVilIum3sqXFbhYhPT6TuxR3ddH/IfHL82FiOTqJUiYaTQqun1I6ogSvU1djhY1eXUYhfYIBieQNWMVjXPxMvw==", + "version": "6.0.20", + "resolved": "https://registry.npmjs.org/expo-dev-client/-/expo-dev-client-6.0.20.tgz", + "integrity": "sha512-5XjoVlj1OxakNxy55j/AUaGPrDOlQlB6XdHLLWAw61w5ffSpUDHDnuZzKzs9xY1eIaogOqTOQaAzZ2ddBkdXLA==", "license": "MIT", "dependencies": { - "expo-dev-launcher": "6.0.17", - "expo-dev-menu": "7.0.16", + "expo-dev-launcher": "6.0.20", + "expo-dev-menu": "7.0.18", "expo-dev-menu-interface": "2.0.0", - "expo-manifests": "~1.0.8", + "expo-manifests": "~1.0.10", "expo-updates-interface": "~2.0.0" }, "peerDependencies": { @@ -6514,22 +6369,23 @@ } }, "node_modules/expo-dev-launcher": { - "version": "6.0.17", - "resolved": "https://registry.npmjs.org/expo-dev-launcher/-/expo-dev-launcher-6.0.17.tgz", - "integrity": "sha512-riLxFXaw6Nvgb27TiQtUvoHkW/zTz0aO7M+qxDBBaEbJMJSFl51KSwOJJBTItVQIE9f9jB8x5L1CfLw81/McZw==", + "version": "6.0.20", + "resolved": "https://registry.npmjs.org/expo-dev-launcher/-/expo-dev-launcher-6.0.20.tgz", + "integrity": "sha512-a04zHEeT9sB0L5EB38fz7sNnUKJ2Ar1pXpcyl60Ki8bXPNCs9rjY7NuYrDkP/irM8+1DklMBqHpyHiLyJ/R+EA==", "license": "MIT", "dependencies": { - "expo-dev-menu": "7.0.16", - "expo-manifests": "~1.0.8" + "ajv": "^8.11.0", + "expo-dev-menu": "7.0.18", + "expo-manifests": "~1.0.10" }, "peerDependencies": { "expo": "*" } }, "node_modules/expo-dev-menu": { - "version": "7.0.16", - "resolved": "https://registry.npmjs.org/expo-dev-menu/-/expo-dev-menu-7.0.16.tgz", - "integrity": "sha512-/kjTjk5tcZV0ixYnV3JyzPXKlMimpBNYaDo4XxBbRFIkTf/vmb/9e1BTR2nALnoa/D3MRwtR43gZYT+W/wfKXw==", + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/expo-dev-menu/-/expo-dev-menu-7.0.18.tgz", + "integrity": "sha512-4kTdlHrnZCAWCT6tZRQHSSjZ7vECFisL4T+nsG/GJDo/jcHNaOVGV5qPV9wzlTxyMk3YOPggRw4+g7Ownrg5eA==", "license": "MIT", "dependencies": { "expo-dev-menu-interface": "2.0.0" @@ -6548,9 +6404,9 @@ } }, "node_modules/expo-device": { - "version": "8.0.9", - "resolved": "https://registry.npmjs.org/expo-device/-/expo-device-8.0.9.tgz", - "integrity": "sha512-XqRpaljDNAYZGZzMpC+b9KZfzfydtkwx3pJAp6ODDH+O/5wjAw+mLc5wQMGJCx8/aqVmMsAokec7iebxDPFZDA==", + "version": "8.0.10", + "resolved": "https://registry.npmjs.org/expo-device/-/expo-device-8.0.10.tgz", + "integrity": "sha512-jd5BxjaF7382JkDMaC+P04aXXknB2UhWaVx5WiQKA05ugm/8GH5uaz9P9ckWdMKZGQVVEOC8MHaUADoT26KmFA==", "license": "MIT", "dependencies": { "ua-parser-js": "^0.7.33" @@ -6560,24 +6416,24 @@ } }, "node_modules/expo-document-picker": { - "version": "14.0.7", - "resolved": "https://registry.npmjs.org/expo-document-picker/-/expo-document-picker-14.0.7.tgz", - "integrity": "sha512-81Jh8RDD0GYBUoSTmIBq30hXXjmkDV1ZY2BNIp1+3HR5PDSh2WmdhD/Ezz5YFsv46hIXHsQc+Kh1q8vn6OLT9Q==", + "version": "14.0.8", + "resolved": "https://registry.npmjs.org/expo-document-picker/-/expo-document-picker-14.0.8.tgz", + "integrity": "sha512-3tyQKpPqWWFlI8p9RiMX1+T1Zge5mEKeBuXWp1h8PEItFMUDSiOJbQ112sfdC6Hxt8wSxreV9bCRl/NgBdt+fA==", "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-eas-client": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/expo-eas-client/-/expo-eas-client-1.0.7.tgz", - "integrity": "sha512-Q/b1X0fM+3beqqvffok14pjxMF600NxopdSr9WJY61fF4xllcVnALS0kEudffp9ihMOfcb5xWYqzKj6jMqYDIw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/expo-eas-client/-/expo-eas-client-1.0.8.tgz", + "integrity": "sha512-5or11NJhSeDoHHI6zyvQDW2cz/yFyE+1Cz8NTs5NK8JzC7J0JrkUgptWtxyfB6Xs/21YRNifd3qgbBN3hfKVgA==", "license": "MIT" }, "node_modules/expo-file-system": { - "version": "19.0.17", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-19.0.17.tgz", - "integrity": "sha512-WwaS01SUFrxBnExn87pg0sCTJjZpf2KAOzfImG0o8yhkU7fbYpihpl/oocXBEsNbj58a8hVt1Y4CVV5c1tzu/g==", + "version": "19.0.21", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-19.0.21.tgz", + "integrity": "sha512-s3DlrDdiscBHtab/6W1osrjGL+C2bvoInPJD7sOwmxfJ5Woynv2oc+Fz1/xVXaE/V7HE/+xrHC/H45tu6lZzzg==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -6585,9 +6441,9 @@ } }, "node_modules/expo-font": { - "version": "14.0.9", - "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-14.0.9.tgz", - "integrity": "sha512-xCoQbR/36qqB6tew/LQ6GWICpaBmHLhg/Loix5Rku/0ZtNaXMJv08M9o1AcrdiGTn/Xf/BnLu6DgS45cWQEHZg==", + "version": "14.0.10", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-14.0.10.tgz", + "integrity": "sha512-UqyNaaLKRpj4pKAP4HZSLnuDQqueaO5tB1c/NWu5vh1/LF9ulItyyg2kF/IpeOp0DeOLk0GY0HrIXaKUMrwB+Q==", "license": "MIT", "dependencies": { "fontfaceobserver": "^2.1.0" @@ -6599,9 +6455,9 @@ } }, "node_modules/expo-glass-effect": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/expo-glass-effect/-/expo-glass-effect-0.1.7.tgz", - "integrity": "sha512-DxminueyL6TWoC9A3omka57XzpxUXLEGpDi/tnlvYwPSihB6lvGp2my+0k97lUKsBHbJg29weMCEQxNa/AyRHA==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/expo-glass-effect/-/expo-glass-effect-0.1.8.tgz", + "integrity": "sha512-9Cp17ax0Fpugue8+Bd7Ndl/dSAvGmt4bQ5mQLw9zc1A2lctUse3cEg9nI7TnDJiwKf+A/VAPN6+3K12JVMYgZg==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -6610,18 +6466,18 @@ } }, "node_modules/expo-haptics": { - "version": "15.0.7", - "resolved": "https://registry.npmjs.org/expo-haptics/-/expo-haptics-15.0.7.tgz", - "integrity": "sha512-7flWsYPrwjJxZ8x82RiJtzsnk1Xp9ahnbd9PhCy3NnsemyMApoWIEUr4waPqFr80DtiLZfhD9VMLL1CKa8AImQ==", + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/expo-haptics/-/expo-haptics-15.0.8.tgz", + "integrity": "sha512-lftutojy8Qs8zaDzzjwM3gKHFZ8bOOEZDCkmh2Ddpe95Ra6kt2izeOfOfKuP/QEh0MZ1j9TfqippyHdRd1ZM9g==", "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-intent-launcher": { - "version": "13.0.7", - "resolved": "https://registry.npmjs.org/expo-intent-launcher/-/expo-intent-launcher-13.0.7.tgz", - "integrity": "sha512-4em7utK59gftgBwokpw+TQkyY27C5JH28LLrM/ZTABIsAMRUEqS+Inzd/xtN0hvxo2Z8aTsd+N1WRcCdOehYdg==", + "version": "13.0.8", + "resolved": "https://registry.npmjs.org/expo-intent-launcher/-/expo-intent-launcher-13.0.8.tgz", + "integrity": "sha512-sgGFotttKKN6dIatjOEJT8M6Arfakus7vIxgshg5VkxarVhZBGJzOJam7rbUlB1O/gQ8em9G8vhEU9AfjEIe7A==", "license": "MIT", "peerDependencies": { "expo": "*" @@ -6634,9 +6490,9 @@ "license": "MIT" }, "node_modules/expo-keep-awake": { - "version": "15.0.7", - "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-15.0.7.tgz", - "integrity": "sha512-CgBNcWVPnrIVII5G54QDqoE125l+zmqR4HR8q+MQaCfHet+dYpS5vX5zii/RMayzGN4jPgA4XYIQ28ePKFjHoA==", + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-15.0.8.tgz", + "integrity": "sha512-YK9M1VrnoH1vLJiQzChZgzDvVimVoriibiDIFLbQMpjYBnvyfUeHJcin/Gx1a+XgupNXy92EQJLgI/9ZuXajYQ==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -6644,9 +6500,9 @@ } }, "node_modules/expo-libvlc-player": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/expo-libvlc-player/-/expo-libvlc-player-2.2.3.tgz", - "integrity": "sha512-HuTmcawtYACeYfX+Ft0RbWRFOh/Wu2OswS4HjSICEW909UY/ZvtHOqPRLym47VjA1oulLHGB7SGGvSgvPd2/4A==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/expo-libvlc-player/-/expo-libvlc-player-2.2.5.tgz", + "integrity": "sha512-Hl0XiRNK5iwPMDRWYouA7+Xzf804GZ/AMVTU87ktUlQMU5bgTUFgmi8QjlOLGEF5LpVp7LDFfQwsDpXP1ggpag==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -6655,9 +6511,9 @@ } }, "node_modules/expo-linear-gradient": { - "version": "15.0.7", - "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-15.0.7.tgz", - "integrity": "sha512-yF+y+9Shpr/OQFfy/wglB/0bykFMbwHBTuMRa5Of/r2P1wbkcacx8rg0JsUWkXH/rn2i2iWdubyqlxSJa3ggZA==", + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-15.0.8.tgz", + "integrity": "sha512-V2d8Wjn0VzhPHO+rrSBtcl+Fo+jUUccdlmQ6OoL9/XQB7Qk3d9lYrqKDJyccwDxmQT10JdST3Tmf2K52NLc3kw==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -6666,12 +6522,12 @@ } }, "node_modules/expo-linking": { - "version": "8.0.8", - "resolved": "https://registry.npmjs.org/expo-linking/-/expo-linking-8.0.8.tgz", - "integrity": "sha512-MyeMcbFDKhXh4sDD1EHwd0uxFQNAc6VCrwBkNvvvufUsTYFq3glTA9Y8a+x78CPpjNqwNAamu74yIaIz7IEJyg==", + "version": "8.0.10", + "resolved": "https://registry.npmjs.org/expo-linking/-/expo-linking-8.0.10.tgz", + "integrity": "sha512-0EKtn4Sk6OYmb/5ZqK8riO0k1Ic+wyT3xExbmDvUYhT7p/cKqlVUExMuOIAt3Cx3KUUU1WCgGmdd493W/D5XjA==", "license": "MIT", "dependencies": { - "expo-constants": "~18.0.8", + "expo-constants": "~18.0.11", "invariant": "^2.2.4" }, "peerDependencies": { @@ -6680,9 +6536,9 @@ } }, "node_modules/expo-localization": { - "version": "17.0.7", - "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-17.0.7.tgz", - "integrity": "sha512-ACg1B0tJLNa+f8mZfAaNrMyNzrrzHAARVH1sHHvh+LolKdQpgSKX69Uroz1Llv4C71furpwBklVStbNcEwVVVA==", + "version": "17.0.8", + "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-17.0.8.tgz", + "integrity": "sha512-UrdwklZBDJ+t+ZszMMiE0SXZ2eJxcquCuQcl6EvGHM9K+e6YqKVRQ+w8qE+iIB3H75v2RJy6MHAaLK+Mqeo04g==", "license": "MIT", "dependencies": { "rtl-detect": "^1.0.2" @@ -6693,12 +6549,12 @@ } }, "node_modules/expo-manifests": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/expo-manifests/-/expo-manifests-1.0.8.tgz", - "integrity": "sha512-nA5PwU2uiUd+2nkDWf9e71AuFAtbrb330g/ecvuu52bmaXtN8J8oiilc9BDvAX0gg2fbtOaZdEdjBYopt1jdlQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/expo-manifests/-/expo-manifests-1.0.10.tgz", + "integrity": "sha512-oxDUnURPcL4ZsOBY6X1DGWGuoZgVAFzp6PISWV7lPP2J0r8u1/ucuChBgpK7u1eLGFp6sDIPwXyEUCkI386XSQ==", "license": "MIT", "dependencies": { - "@expo/config": "~12.0.8", + "@expo/config": "~12.0.11", "expo-json-utils": "~0.15.0" }, "peerDependencies": { @@ -6706,9 +6562,9 @@ } }, "node_modules/expo-modules-autolinking": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-3.0.21.tgz", - "integrity": "sha512-pOtPDLln3Ju8DW1zRW4OwZ702YqZ8g+kM/tEY1sWfv22kWUtxkvK+ytRDRpRdnKEnC28okbhWqeMnmVkSFzP6Q==", + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-3.0.23.tgz", + "integrity": "sha512-YZnaE0G+52xftjH5nsIRaWsoVBY38SQCECclpdgLisdbRY/6Mzo7ndokjauOv3mpFmzMZACHyJNu1YSAffQwTg==", "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -6722,9 +6578,9 @@ } }, "node_modules/expo-modules-core": { - "version": "3.0.25", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-3.0.25.tgz", - "integrity": "sha512-0P8PT8UV6c5/+p8zeVM/FXvBgn/ErtGcMaasqUgbzzBUg94ktbkIrij9t9reGCrir03BYt/Bcpv+EQtYC8JOug==", + "version": "3.0.29", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-3.0.29.tgz", + "integrity": "sha512-LzipcjGqk8gvkrOUf7O2mejNWugPkf3lmd9GkqL9WuNyeN2fRwU0Dn77e3ZUKI3k6sI+DNwjkq4Nu9fNN9WS7Q==", "license": "MIT", "dependencies": { "invariant": "^2.2.4" @@ -6735,18 +6591,18 @@ } }, "node_modules/expo-notifications": { - "version": "0.32.12", - "resolved": "https://registry.npmjs.org/expo-notifications/-/expo-notifications-0.32.12.tgz", - "integrity": "sha512-FVJ5W4rOpKvmrLJ1Sd5pxiVTV4a7ApgTlKro+E5X8M2TBbXmEVOjs09klzdalXTjlzmU/Gu8aRw9xr7Ea/gZdw==", + "version": "0.32.15", + "resolved": "https://registry.npmjs.org/expo-notifications/-/expo-notifications-0.32.15.tgz", + "integrity": "sha512-gnJcauheC2S0Wl0RuJaFkaBRVzCG011j5hlG0TEbsuOCPBuB/F30YEk8yurK8Psv+zHkVfeiJ5AC+nL0LWk0WA==", "license": "MIT", "dependencies": { - "@expo/image-utils": "^0.8.7", + "@expo/image-utils": "^0.8.8", "@ide/backoff": "^1.0.0", "abort-controller": "^3.0.0", "assert": "^2.0.0", "badgin": "^1.1.5", - "expo-application": "~7.0.7", - "expo-constants": "~18.0.9" + "expo-application": "~7.0.8", + "expo-constants": "~18.0.12" }, "peerDependencies": { "expo": "*", @@ -6768,9 +6624,9 @@ } }, "node_modules/expo-screen-orientation": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/expo-screen-orientation/-/expo-screen-orientation-9.0.7.tgz", - "integrity": "sha512-UH/XlB9eMw+I2cyHSkXhAHRAPk83WyA3k5bst7GLu14wRuWiTch9fb6I7qEJK5CN6+XelcWxlBJymys6Fr/FKA==", + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/expo-screen-orientation/-/expo-screen-orientation-9.0.8.tgz", + "integrity": "sha512-qRoPi3E893o3vQHT4h1NKo51+7g2hjRSbDeg1fsSo/u2pOW5s6FCeoacLvD+xofOP33cH2MkE4ua54aWWO7Icw==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -6778,27 +6634,27 @@ } }, "node_modules/expo-server": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/expo-server/-/expo-server-1.0.4.tgz", - "integrity": "sha512-IN06r3oPxFh3plSXdvBL7dx0x6k+0/g0bgxJlNISs6qL5Z+gyPuWS750dpTzOeu37KyBG0RcyO9cXUKzjYgd4A==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/expo-server/-/expo-server-1.0.5.tgz", + "integrity": "sha512-IGR++flYH70rhLyeXF0Phle56/k4cee87WeQ4mamS+MkVAVP+dDlOHf2nN06Z9Y2KhU0Gp1k+y61KkghF7HdhA==", "license": "MIT", "engines": { "node": ">=20.16.0" } }, "node_modules/expo-sharing": { - "version": "14.0.7", - "resolved": "https://registry.npmjs.org/expo-sharing/-/expo-sharing-14.0.7.tgz", - "integrity": "sha512-t/5tR8ZJNH6tMkHXlF7453UafNIfrpfTG+THN9EMLC4Wsi4bJuESPm3NdmWDg2D4LDALJI/LQo0iEnLAd5Sp4g==", + "version": "14.0.8", + "resolved": "https://registry.npmjs.org/expo-sharing/-/expo-sharing-14.0.8.tgz", + "integrity": "sha512-A1pPr2iBrxypFDCWVAESk532HK+db7MFXbvO2sCV9ienaFXAk7lIBm6bkqgE6vzRd9O3RGdEGzYx80cYlc089Q==", "license": "MIT", "peerDependencies": { "expo": "*" } }, "node_modules/expo-status-bar": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-3.0.8.tgz", - "integrity": "sha512-L248XKPhum7tvREoS1VfE0H6dPCaGtoUWzRsUv7hGKdiB4cus33Rc0sxkWkoQ77wE8stlnUlL5lvmT0oqZ3ZBw==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-3.0.9.tgz", + "integrity": "sha512-xyYyVg6V1/SSOZWh4Ni3U129XHCnFHBTcUo0dhWtFDrZbNp/duw5AGsQfb2sVeU0gxWHXSY1+5F0jnKYC7WuOw==", "license": "MIT", "dependencies": { "react-native-is-edge-to-edge": "^1.2.1" @@ -6815,9 +6671,9 @@ "license": "MIT" }, "node_modules/expo-system-ui": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/expo-system-ui/-/expo-system-ui-6.0.8.tgz", - "integrity": "sha512-DzJYqG2fibBSLzPDL4BybGCiilYOtnI1OWhcYFwoM4k0pnEzMBt1Vj8Z67bXglDDuz2HCQPGNtB3tQft5saKqQ==", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/expo-system-ui/-/expo-system-ui-6.0.9.tgz", + "integrity": "sha512-eQTYGzw1V4RYiYHL9xDLYID3Wsec2aZS+ypEssmF64D38aDrqbDgz1a2MSlHLQp2jHXSs3FvojhZ9FVela1Zcg==", "license": "MIT", "dependencies": { "@react-native/normalize-colors": "0.81.5", @@ -6835,23 +6691,23 @@ } }, "node_modules/expo-updates": { - "version": "29.0.12", - "resolved": "https://registry.npmjs.org/expo-updates/-/expo-updates-29.0.12.tgz", - "integrity": "sha512-gE3bU6qi5g8Y1TtBzoeHac3utR0i1Wj1ufThh+zpDyFjFbegFm+gwvNLVCBagZUClYKk/4CKxh5ytnwZmPzH+g==", + "version": "29.0.15", + "resolved": "https://registry.npmjs.org/expo-updates/-/expo-updates-29.0.15.tgz", + "integrity": "sha512-6Qj+g56nnCksKKnEPQFm19dfWvYB5EggQNN3SaLbIj4LI40k/pjQwqYStEuwTU+Ow+PG0AqxIhQ3NvgVPEzLvg==", "license": "MIT", "dependencies": { "@expo/code-signing-certificates": "0.0.5", - "@expo/plist": "^0.4.7", + "@expo/plist": "^0.4.8", "@expo/spawn-async": "^1.7.2", "arg": "4.1.0", "chalk": "^4.1.2", "debug": "^4.3.4", - "expo-eas-client": "~1.0.7", - "expo-manifests": "~1.0.8", + "expo-eas-client": "~1.0.8", + "expo-manifests": "~1.0.10", "expo-structured-headers": "~5.0.0", "expo-updates-interface": "~2.0.0", "getenv": "^2.0.0", - "glob": "^10.4.2", + "glob": "^13.0.0", "ignore": "^5.3.1", "resolve-from": "^5.0.0" }, @@ -6880,9 +6736,9 @@ "license": "MIT" }, "node_modules/expo-web-browser": { - "version": "15.0.9", - "resolved": "https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-15.0.9.tgz", - "integrity": "sha512-Dj8kNFO+oXsxqCDNlUT/GhOrJnm10kAElH++3RplLydogFm5jTzXYWDEeNIDmV+F+BzGYs+sIhxiBf7RyaxXZg==", + "version": "15.0.10", + "resolved": "https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-15.0.10.tgz", + "integrity": "sha512-fvDhW4bhmXAeWFNFiInmsGCK83PAqAcQaFyp/3pE/jbdKmFKoRCWr46uZGIfN4msLK/OODhaQ/+US7GSJNDHJg==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -6937,6 +6793,22 @@ "license": "MIT", "optional": true }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", @@ -7002,6 +6874,23 @@ "node": "*" } }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/file-type": { "version": "16.5.4", "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", @@ -7146,22 +7035,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -7173,9 +7046,9 @@ } }, "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -7353,20 +7226,32 @@ } }, "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", + "minimatch": "^10.1.1", "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "path-scurry": "^2.0.0" }, - "bin": { - "glob": "dist/esm/bin.mjs" + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -7427,6 +7312,30 @@ "node": ">=6" } }, + "node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "optional": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT", + "optional": true + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -8007,21 +7916,6 @@ "node": ">=8" } }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/jest-environment-node": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", @@ -8286,11 +8180,10 @@ "optional": true }, "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT", - "optional": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/json-stable-stringify": { "version": "1.3.0", @@ -9537,9 +9430,9 @@ } }, "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" @@ -9823,15 +9716,6 @@ "node": ">=6" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/ora/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -9891,18 +9775,6 @@ "node": ">=4" } }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/ora/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -9954,12 +9826,6 @@ "node": ">=6" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "license": "BlueOak-1.0.0" - }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -10119,26 +9985,29 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/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" + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", + "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } }, "node_modules/path-type": { "version": "4.0.0", @@ -10276,12 +10145,12 @@ "license": "MIT" }, "node_modules/posthog-react-native": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/posthog-react-native/-/posthog-react-native-4.11.0.tgz", - "integrity": "sha512-f/QCyUrW0qWTfiH78IHpDOf5KQVX/p0POa2Pad4THBM0gfkHXd7jTNoz7sVoRLbfBRyTFFjsXlZKqXUt1mfKtg==", + "version": "4.14.3", + "resolved": "https://registry.npmjs.org/posthog-react-native/-/posthog-react-native-4.14.3.tgz", + "integrity": "sha512-oooOqCcWSRmychTrU5CS6lIZmIkHmk7cIw3py5G6ZRELkWN5qgGc0efflb3FENg9FLOAiwXcxMDzMSehSEKtuw==", "license": "MIT", "dependencies": { - "@posthog/core": "1.5.2" + "@posthog/core": "1.7.1" }, "peerDependencies": { "@react-native-async-storage/async-storage": ">=1.0.0", @@ -10608,9 +10477,9 @@ } }, "node_modules/react-is": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.0.tgz", - "integrity": "sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.3.tgz", + "integrity": "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA==", "license": "MIT" }, "node_modules/react-native": { @@ -10702,9 +10571,9 @@ } }, "node_modules/react-native-bottom-tabs": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/react-native-bottom-tabs/-/react-native-bottom-tabs-1.0.2.tgz", - "integrity": "sha512-eWNuTpJVefKRaROda4ZeWHvW1cUEb0mw8L7FyLEcPPsd7Tp3rfLRrhptl/O/3mAki9gvpzYE8ASE3GwUrjfp+Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-native-bottom-tabs/-/react-native-bottom-tabs-1.1.0.tgz", + "integrity": "sha512-Uu1gvM3i1Hb4DjVvR/38J1QVQEs0RkPc7K6yon99HgvRWWOyLs7kjPDhUswtb8ije4pKW712skIXWJ0lgKzbyQ==", "license": "MIT", "dependencies": { "react-freeze": "^1.0.0", @@ -10769,9 +10638,9 @@ } }, "node_modules/react-native-image-colors": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/react-native-image-colors/-/react-native-image-colors-2.5.0.tgz", - "integrity": "sha512-3zSDgNj5HaZ0PDWaXkc4BpWpZRM5N4gBsoPC7DBfM/+op69Yvwbc0S1T7CnxBWbvShtOvRE+b2BUBadVn+6z/g==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/react-native-image-colors/-/react-native-image-colors-2.5.1.tgz", + "integrity": "sha512-7+M1pu9Q1TDEGSbXfSwFIFUoGW1Ffmwfjbx2QQM895C2gvOzUsdwSS1ae856l6vvj7UWFbGZr1LpQi0VK6Xl4w==", "license": "MIT", "dependencies": { "node-vibrant": "^4.0.3" @@ -10818,10 +10687,9 @@ } }, "node_modules/react-native-mmkv": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/react-native-mmkv/-/react-native-mmkv-4.0.0.tgz", - "integrity": "sha512-Osoy8as2ZLzO1TTsKxc4tX14Qk19qRVMWnS4ZVBwxie9Re5cjt7rqlpDkJczK3H/y3z70EQ6rmKI/cNMCLGAYQ==", - "hasInstallScript": true, + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/react-native-mmkv/-/react-native-mmkv-4.1.0.tgz", + "integrity": "sha512-ia76WnU6dkLZxFkSSflxqFgHT2pIaML763aucEu7nMglF41oEWTdTtBu0o8a1cxbhZOaONk6KF8RQp5fLvPitA==", "license": "MIT", "peerDependencies": { "react": "*", @@ -10830,9 +10698,9 @@ } }, "node_modules/react-native-nitro-modules": { - "version": "0.31.6", - "resolved": "https://registry.npmjs.org/react-native-nitro-modules/-/react-native-nitro-modules-0.31.6.tgz", - "integrity": "sha512-EcKuLgYwOPrWSGC0VqxqTXjxsQBLCjl/1+ryuKwKDA4iyLr9C/8CBCn6sDS3wbmZDlNl+EPWTPU+VWC6SnPW8Q==", + "version": "0.31.10", + "resolved": "https://registry.npmjs.org/react-native-nitro-modules/-/react-native-nitro-modules-0.31.10.tgz", + "integrity": "sha512-hcvjTu9YJE9fMmnAUvhG8CxvYLpOuMQ/2eyi/S6GyrecezF6Rmk/uRQEL6v09BRFWA/xRVZNQVulQPS+2HS3mQ==", "hasInstallScript": true, "license": "MIT", "peerDependencies": { @@ -10896,19 +10764,18 @@ } }, "node_modules/react-native-reanimated": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-4.1.5.tgz", - "integrity": "sha512-UA6VUbxwhRjEw2gSNrvhkusUq3upfD3Cv+AnB07V+kC8kpvwRVI+ivwY95ePbWNFkFpP+Y2Sdw1WHpHWEV+P2Q==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-4.2.0.tgz", + "integrity": "sha512-frhu5b8/m/VvaMWz48V8RxcsXnE3hrlErQ5chr21MzAeDCpY4X14sQjvm+jvu3aOI+7Cz2atdRpyhhIuqxVaXg==", "license": "MIT", "dependencies": { - "react-native-is-edge-to-edge": "^1.2.1", - "semver": "7.7.2" + "react-native-is-edge-to-edge": "1.2.1", + "semver": "7.7.3" }, "peerDependencies": { - "@babel/core": "^7.0.0-0", "react": "*", "react-native": "*", - "react-native-worklets": ">=0.5.0" + "react-native-worklets": ">=0.7.0" } }, "node_modules/react-native-reanimated-carousel": { @@ -10924,9 +10791,9 @@ } }, "node_modules/react-native-reanimated/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -10960,9 +10827,9 @@ } }, "node_modules/react-native-svg": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.15.0.tgz", - "integrity": "sha512-/Wx6F/IZ88B/GcF88bK8K7ZseJDYt+7WGaiggyzLvTowChQ8BM5idmcd4pK+6QJP6a6DmzL2sfOMukFUn/NArg==", + "version": "15.15.1", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.15.1.tgz", + "integrity": "sha512-ZUD1xwc3Hwo4cOmOLumjJVoc7lEf9oQFlHnLmgccLC19fNm6LVEdtB+Cnip6gEi0PG3wfvVzskViEtrySQP8Fw==", "license": "MIT", "dependencies": { "css-select": "^5.1.0", @@ -11138,26 +11005,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/react-native-vector-icons/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/react-native-vector-icons/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/react-native-vector-icons/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -11198,9 +11045,9 @@ } }, "node_modules/react-native-video": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-6.17.0.tgz", - "integrity": "sha512-sslmQo5paSNLmSJ93t3lkC7kl4yFGIc+LWoBdu44hkL4EKG7OIZNd5iaX+/SedAdqecifJrOZHAozxHzVh3TsQ==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-6.18.0.tgz", + "integrity": "sha512-9BjAtAh1uGq6h/GNCCh5yzb/iI9qJHuflwNGExyhoUxbhPD1s+15h+CdpJ2MKKJTXw6J7w+nQOp1Ywa54R8w7Q==", "license": "MIT", "peerDependencies": { "react": "*", @@ -11249,33 +11096,68 @@ } }, "node_modules/react-native-worklets": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/react-native-worklets/-/react-native-worklets-0.6.1.tgz", - "integrity": "sha512-URca8l7c7Uog7gv4mcg9KILdJlnbvwdS5yfXQYf5TDkD2W1VY1sduEKrD+sA3lUPXH/TG1vmXAvNxCNwPMYgGg==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/react-native-worklets/-/react-native-worklets-0.7.1.tgz", + "integrity": "sha512-KNsvR48ULg73QhTlmwPbdJLPsWcyBotrGPsrDRDswb5FYpQaJEThUKc2ncXE4UM5dn/ewLoQHjSjLaKUVPxPhA==", "license": "MIT", "dependencies": { - "@babel/plugin-transform-arrow-functions": "^7.0.0-0", - "@babel/plugin-transform-class-properties": "^7.0.0-0", - "@babel/plugin-transform-classes": "^7.0.0-0", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.0.0-0", - "@babel/plugin-transform-optional-chaining": "^7.0.0-0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0-0", - "@babel/plugin-transform-template-literals": "^7.0.0-0", - "@babel/plugin-transform-unicode-regex": "^7.0.0-0", - "@babel/preset-typescript": "^7.16.7", - "convert-source-map": "^2.0.0", - "semver": "7.7.2" + "@babel/plugin-transform-arrow-functions": "7.27.1", + "@babel/plugin-transform-class-properties": "7.27.1", + "@babel/plugin-transform-classes": "7.28.4", + "@babel/plugin-transform-nullish-coalescing-operator": "7.27.1", + "@babel/plugin-transform-optional-chaining": "7.27.1", + "@babel/plugin-transform-shorthand-properties": "7.27.1", + "@babel/plugin-transform-template-literals": "7.27.1", + "@babel/plugin-transform-unicode-regex": "7.27.1", + "@babel/preset-typescript": "7.27.1", + "convert-source-map": "2.0.0", + "semver": "7.7.3" }, "peerDependencies": { - "@babel/core": "^7.0.0-0", + "@babel/core": "*", "react": "*", "react-native": "*" } }, + "node_modules/react-native-worklets/node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/react-native-worklets/node_modules/@babel/preset-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", + "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/react-native-worklets/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -11407,27 +11289,6 @@ "async-limiter": "~1.0.0" } }, - "node_modules/react-reconciler": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.31.0.tgz", - "integrity": "sha512-7Ob7Z+URmesIsIVRjnLoDGwBEG/tVitidU0nMsqX/eeJaLY89RISO/10ERe0MqmzuKUUB1rmY+h1itMbUHg9BQ==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.25.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "react": "^19.0.0" - } - }, - "node_modules/react-reconciler/node_modules/scheduler": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", - "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", - "license": "MIT" - }, "node_modules/react-refresh": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", @@ -11745,12 +11606,6 @@ "node": ">=4" } }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -12082,9 +11937,9 @@ "license": "ISC" }, "node_modules/sf-symbols-typescript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sf-symbols-typescript/-/sf-symbols-typescript-2.1.0.tgz", - "integrity": "sha512-ezT7gu/SHTPIOEEoG6TF+O0m5eewl0ZDAO4AtdBi5HjsrUI6JdCG17+Q8+aKp0heM06wZKApRCn5olNbs0Wb/A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sf-symbols-typescript/-/sf-symbols-typescript-2.2.0.tgz", + "integrity": "sha512-TPbeg0b7ylrswdGCji8FRGFAKuqbpQlLbL8SOle3j1iHSs5Ob5mhvMAxWN2UItOjgALAB5Zp3fmMfj8mbWvXKw==", "license": "MIT", "engines": { "node": ">=10" @@ -12124,16 +11979,10 @@ } }, "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/simple-plist": { "version": "1.3.1", @@ -12359,24 +12208,6 @@ "license": "MIT" }, "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", @@ -12390,13 +12221,7 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { + "node_modules/string-width/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", @@ -12409,43 +12234,24 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "node": ">=6" } }, "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=6" } }, "node_modules/strip-json-comments": { @@ -12487,17 +12293,17 @@ "license": "MIT" }, "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { @@ -12912,6 +12718,34 @@ "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tmp": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", @@ -13183,9 +13017,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", - "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz", + "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==", "funding": [ { "type": "opencollective", @@ -13489,76 +13323,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -13590,12 +13354,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, "node_modules/ws": { "version": "8.18.3", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", @@ -13693,15 +13451,18 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yargs": { @@ -13731,38 +13492,6 @@ "node": ">=12" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -13774,24 +13503,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.24.6", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", - "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", - "license": "ISC", - "peerDependencies": { - "zod": "^3.24.1" - } } } } diff --git a/package.json b/package.json index 0ec4549..e74ba9b 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,6 @@ "@react-navigation/stack": "^7.2.10", "@sentry/react-native": "^7.6.0", "@shopify/flash-list": "^2.2.0", - "@shopify/react-native-skia": "^2.3.13", "@types/lodash": "^4.17.16", "@types/react-native-video": "^5.0.20", "axios": "^1.12.2", @@ -78,7 +77,7 @@ "react-native-mmkv": "^4.0.0", "react-native-nitro-modules": "^0.31.2", "react-native-paper": "^5.14.5", - "react-native-reanimated": "^4.1.1", + "react-native-reanimated": "^4.2.0", "react-native-reanimated-carousel": "^4.0.3", "react-native-safe-area-context": "~5.6.0", "react-native-screens": "^4.18.0", @@ -88,7 +87,7 @@ "react-native-video": "^6.17.0", "react-native-web": "^0.21.0", "react-native-wheel-color-picker": "^1.3.1", - "react-native-worklets": "^0.6.1" + "react-native-worklets": "^0.7.1" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/src/components/home/CatalogSection.tsx b/src/components/home/CatalogSection.tsx index eab6891..3834781 100644 --- a/src/components/home/CatalogSection.tsx +++ b/src/components/home/CatalogSection.tsx @@ -41,13 +41,13 @@ const calculatePosterLayout = (screenWidth: number) => { const MAX_POSTER_WIDTH = 130; // Reduced maximum for more posters const LEFT_PADDING = 16; // Left padding const SPACING = 8; // Space between posters - + // Calculate available width for posters (reserve space for left padding) const availableWidth = screenWidth - LEFT_PADDING; - + // Try different numbers of full posters to find the best fit let bestLayout = { numFullPosters: 3, posterWidth: 120 }; - + for (let n = 3; n <= 6; n++) { // Calculate poster width needed for N full posters + 0.25 partial poster // Formula: N * posterWidth + (N-1) * spacing + 0.25 * posterWidth = availableWidth - rightPadding @@ -55,12 +55,12 @@ const calculatePosterLayout = (screenWidth: number) => { // We'll use minimal right padding (8px) to maximize space const usableWidth = availableWidth - 8; const posterWidth = (usableWidth - (n - 1) * SPACING) / (n + 0.25); - + if (posterWidth >= MIN_POSTER_WIDTH && posterWidth <= MAX_POSTER_WIDTH) { bestLayout = { numFullPosters: n, posterWidth }; } } - + return { numFullPosters: bestLayout.numFullPosters, posterWidth: bestLayout.posterWidth, @@ -82,8 +82,8 @@ const CatalogSection = ({ catalog }: CatalogSectionProps) => { const renderContentItem = useCallback(({ item }: { item: StreamingContent, index: number }) => { return ( - ); @@ -112,9 +112,8 @@ const CatalogSection = ({ catalog }: CatalogSectionProps) => { }, [itemWidth, separatorWidth, isTV, isLargeTablet, isTablet]); return ( - { /> + onPress={() => navigation.navigate('Catalog', { id: catalog.id, type: catalog.type, @@ -176,7 +175,7 @@ const CatalogSection = ({ catalog }: CatalogSectionProps) => { /> - + { windowSize={isTV ? 4 : isLargeTablet ? 4 : 3} updateCellsBatchingPeriod={50} /> - + ); }; @@ -262,8 +261,8 @@ export default React.memo(CatalogSection, (prevProps, nextProps) => { prevProps.catalog.name === nextProps.catalog.name && prevProps.catalog.items.length === nextProps.catalog.items.length && // Deep compare the first few items to detect changes - prevProps.catalog.items.slice(0, 3).every((item, index) => - nextProps.catalog.items[index] && + prevProps.catalog.items.slice(0, 3).every((item, index) => + nextProps.catalog.items[index] && item.id === nextProps.catalog.items[index].id && item.poster === nextProps.catalog.items[index].poster ) diff --git a/src/components/home/ContinueWatchingSection.tsx b/src/components/home/ContinueWatchingSection.tsx index 40b4251..4c3ae83 100644 --- a/src/components/home/ContinueWatchingSection.tsx +++ b/src/components/home/ContinueWatchingSection.tsx @@ -1157,9 +1157,8 @@ const ContinueWatchingSection = React.forwardRef((props, re } return ( - @@ -1207,7 +1206,7 @@ const ContinueWatchingSection = React.forwardRef((props, re actions={alertActions} onClose={() => setAlertVisible(false)} /> - + ); }); diff --git a/src/components/home/HeroCarousel.tsx b/src/components/home/HeroCarousel.tsx index 9ac167c..a08abcd 100644 --- a/src/components/home/HeroCarousel.tsx +++ b/src/components/home/HeroCarousel.tsx @@ -95,7 +95,7 @@ const HeroCarousel: React.FC = ({ items, loading = false }) = // Optimized: update background as soon as scroll starts, without waiting for momentum end const scrollX = useSharedValue(0); const paginationProgress = useSharedValue(0); - + // Parallel image prefetch: start fetching banners and logos as soon as data arrives const itemsToPreload = useMemo(() => data.slice(0, 12), [data]); useEffect(() => { @@ -121,7 +121,7 @@ const HeroCarousel: React.FC = ({ items, loading = false }) = // no-op: prefetch is best-effort } }, [itemsToPreload]); - + // Comprehensive reset when component mounts/remounts to prevent glitching useEffect(() => { // Start at the first real item for looping @@ -158,7 +158,7 @@ const HeroCarousel: React.FC = ({ items, loading = false }) = }, 50); return () => clearTimeout(timer); }, [windowWidth, windowHeight, interval, loopingEnabled]); - + const scrollHandler = useAnimatedScrollHandler({ onScroll: (event) => { scrollX.value = event.contentOffset.x; @@ -192,12 +192,12 @@ const HeroCarousel: React.FC = ({ items, loading = false }) = }, (idx, prevIdx) => { if (idx == null || idx === prevIdx) return; - + // Debounce updates to reduce JS bridge crossings const now = Date.now(); if (now - lastIndexUpdateRef.current < 100) return; // 100ms debounce lastIndexUpdateRef.current = now; - + // Clamp to bounds to avoid out-of-range access const clamped = Math.max(0, Math.min(idx, data.length - 1)); runOnJS(setActiveIndex)(clamped); @@ -289,11 +289,11 @@ const HeroCarousel: React.FC = ({ items, loading = false }) = } // Memoized background component with improved timing - const BackgroundImage = React.memo(({ - item, + const BackgroundImage = React.memo(({ + item, insets - }: { - item: StreamingContent; + }: { + item: StreamingContent; insets: any; }) => { return ( @@ -317,7 +317,7 @@ const HeroCarousel: React.FC = ({ items, loading = false }) = ) : ( <> = ({ items, loading = false }) = if (!hasData) return null; return ( - + {/* Removed preload images for performance - let FastImage cache handle it naturally */} - {settings.enableHomeHeroBackground && data[activeIndex] && ( - - )} + {settings.enableHomeHeroBackground && data[activeIndex] && ( + + )} {/* Bottom blend to HomeScreen background (not the card) */} {settings.enableHomeHeroBackground && ( = ({ items, loading = false }) = }} /> - + ); }; @@ -467,13 +467,13 @@ interface CarouselCardProps { const CarouselCard: React.FC = memo(({ item, colors, logoFailed, onLogoError, onPressInfo, scrollX, index, flipped, onToggleFlip, interval, cardWidth, cardHeight, isTablet }) => { const [bannerLoaded, setBannerLoaded] = useState(false); const [logoLoaded, setLogoLoaded] = useState(false); - + const bannerOpacity = useSharedValue(0); const logoOpacity = useSharedValue(0); const genresOpacity = useSharedValue(0); const actionsOpacity = useSharedValue(0); const isFlipped = useSharedValue(flipped ? 1 : 0); - + // Reset animations when component mounts/remounts to prevent glitching useEffect(() => { bannerOpacity.value = 0; @@ -484,17 +484,17 @@ const CarouselCard: React.FC = memo(({ item, colors, logoFail setBannerLoaded(false); setLogoLoaded(false); }, [item.id]); - + const inputRange = [ (index - 1) * interval, index * interval, (index + 1) * interval, ]; - + const bannerAnimatedStyle = useAnimatedStyle(() => ({ opacity: bannerOpacity.value, })); - + const logoAnimatedStyle = useAnimatedStyle(() => ({ opacity: logoOpacity.value, })); @@ -538,52 +538,52 @@ const CarouselCard: React.FC = memo(({ item, colors, logoFail const translateX = scrollX.value; const cardOffset = index * interval; const distance = Math.abs(translateX - cardOffset); - + // AGGRESSIVE early exit for cards far from center if (distance > interval * 1.2) { return { opacity: 0 }; } - + const maxDistance = interval * 0.5; const progress = Math.min(distance / maxDistance, 1); const opacity = 1 - progress; const clampedOpacity = Math.max(0, Math.min(1, opacity)); - + return { opacity: clampedOpacity, }; }); - + // ULTRA-OPTIMIZED: Only animate center card and ±1 neighbors const cardAnimatedStyle = useAnimatedStyle(() => { const translateX = scrollX.value; const cardOffset = index * interval; const distance = Math.abs(translateX - cardOffset); - + // AGGRESSIVE early exit for cards far from center if (distance > interval * 1.5) { - return { - transform: [{ scale: isTablet ? 0.95 : 0.9 }], - opacity: isTablet ? 0.85 : 0.7 + return { + transform: [{ scale: isTablet ? 0.95 : 0.9 }], + opacity: isTablet ? 0.85 : 0.7 }; } - + const maxDistance = interval; - + // Scale animation based on distance from center const scale = 1 - (distance / maxDistance) * 0.1; const clampedScale = Math.max(isTablet ? 0.95 : 0.9, Math.min(1, scale)); - + // Opacity animation for cards that are far from center const opacity = 1 - (distance / maxDistance) * 0.3; const clampedOpacity = Math.max(isTablet ? 0.85 : 0.7, Math.min(1, opacity)); - + return { transform: [{ scale: clampedScale }], opacity: clampedOpacity, }; }); - + // TEMPORARILY DISABLED FOR PERFORMANCE TESTING // const bannerParallaxStyle = useAnimatedStyle(() => { // const translateX = scrollX.value; @@ -597,7 +597,7 @@ const CarouselCard: React.FC = memo(({ item, colors, logoFail // transform: [{ translateX: parallaxOffset }], // }; // }); - + // TEMPORARILY DISABLED FOR PERFORMANCE TESTING // const infoParallaxStyle = useAnimatedStyle(() => { // const translateX = scrollX.value; @@ -618,21 +618,21 @@ const CarouselCard: React.FC = memo(({ item, colors, logoFail // opacity: clampedOpacity, // }; // }); - + useEffect(() => { if (bannerLoaded) { - bannerOpacity.value = withTiming(1, { - duration: 250, - easing: Easing.out(Easing.ease) + bannerOpacity.value = withTiming(1, { + duration: 250, + easing: Easing.out(Easing.ease) }); } }, [bannerLoaded]); - + useEffect(() => { if (logoLoaded) { - logoOpacity.value = withTiming(1, { - duration: 300, - easing: Easing.out(Easing.ease) + logoOpacity.value = withTiming(1, { + duration: 300, + easing: Easing.out(Easing.ease) }); } }, [logoLoaded]); @@ -757,23 +757,23 @@ const CarouselCard: React.FC = memo(({ item, colors, logoFail ) : ( - + {item.name} - + )} {item.genres && ( - + {item.genres.slice(0, 3).join(' • ')} - + )} @@ -980,7 +980,7 @@ const styles = StyleSheet.create({ borderWidth: 1, borderColor: 'rgba(255,255,255,0.18)' }, - + info: { position: 'absolute', left: 0, diff --git a/src/components/metadata/CommentsSection.tsx b/src/components/metadata/CommentsSection.tsx index db1cf2a..b443aa7 100644 --- a/src/components/metadata/CommentsSection.tsx +++ b/src/components/metadata/CommentsSection.tsx @@ -200,7 +200,7 @@ const CompactCommentCard: React.FC<{ // Enhanced responsive sizing for tablets and TV screens const deviceWidth = Dimensions.get('window').width; const deviceHeight = Dimensions.get('window').height; - + // Determine device type based on width const getDeviceType = useCallback(() => { if (deviceWidth >= BREAKPOINTS.tv) return 'tv'; @@ -208,13 +208,13 @@ const CompactCommentCard: React.FC<{ if (deviceWidth >= BREAKPOINTS.tablet) return 'tablet'; return 'phone'; }, [deviceWidth]); - + const deviceType = getDeviceType(); const isTablet = deviceType === 'tablet'; const isLargeTablet = deviceType === 'largeTablet'; const isTV = deviceType === 'tv'; const isLargeScreen = isTablet || isLargeTablet || isTV; - + // Enhanced comment card sizing const commentCardWidth = useMemo(() => { switch (deviceType) { @@ -228,7 +228,7 @@ const CompactCommentCard: React.FC<{ return 280; // phone } }, [deviceType]); - + const commentCardHeight = useMemo(() => { switch (deviceType) { case 'tv': @@ -241,7 +241,7 @@ const CompactCommentCard: React.FC<{ return 170; // phone } }, [deviceType]); - + const commentCardSpacing = useMemo(() => { switch (deviceType) { case 'tv': @@ -354,156 +354,156 @@ const CompactCommentCard: React.FC<{ }} activeOpacity={1} > - {/* Trakt Icon - Top Right Corner */} - - - - - {/* Header Section - Fixed at top */} - - - - {username} - - {user.vip && ( - - VIP - - )} + {/* Trakt Icon - Top Right Corner */} + + - - {/* Rating - Show stars */} - {comment.user_stats?.rating && ( + {/* Header Section - Fixed at top */} - {renderCompactStars(comment.user_stats.rating)} - + + {username} + + {user.vip && ( + + VIP + + )} + + + + {/* Rating - Show stars */} + {comment.user_stats?.rating && ( + - {comment.user_stats.rating}/10 - - - )} + {renderCompactStars(comment.user_stats.rating)} + + {comment.user_stats.rating}/10 + + + )} - {/* Comment Preview - Flexible area that fills space */} - - {shouldBlurContent ? ( - ⚠️ This comment contains spoilers. Tap to reveal. - ) : ( - + {shouldBlurContent ? ( + - )} - + ]}>⚠️ This comment contains spoilers. Tap to reveal. + ) : ( + + )} + - {/* Meta Info - Fixed at bottom */} - - - {comment.spoiler && ( + {/* Meta Info - Fixed at bottom */} + + + {comment.spoiler && ( + Spoiler + )} + + Spoiler - )} - - - - {formatRelativeTime(comment.created_at)} - - {comment.likes > 0 && ( - - 👍 {comment.likes} + {formatRelativeTime(comment.created_at)} - )} - {comment.replies > 0 && ( - - 💬 {comment.replies} - - )} + {comment.likes > 0 && ( + + 👍 {comment.likes} + + )} + {comment.replies > 0 && ( + + 💬 {comment.replies} + + )} + - ); @@ -614,105 +614,105 @@ const ExpandedCommentBottomSheet: React.FC<{ nestedScrollEnabled keyboardShouldPersistTaps="handled" > - {/* Close Button */} - - - + {/* Close Button */} + + + - {/* User Info */} - - - - {username} - - {user.vip && ( - - VIP - - )} - - {(() => { - const { datePart, timePart } = formatDateParts(comment.created_at); - return ( - - - {datePart} - - {!!timePart && ( - - {timePart} - - )} - - ); - })()} - - - {/* Rating */} - {comment.user_stats?.rating && ( - - {renderStars(comment.user_stats.rating)} - - {comment.user_stats.rating}/10 - - - )} - - {/* Full Comment (Markdown with inline spoilers) */} - {shouldBlurModalContent ? ( - - - + {/* User Info */} + + + + {username} + + {user.vip && ( + + VIP - Contains spoilers - - - Reveal - - - ) : ( - - - - )} - - {/* Comment Meta */} - - {comment.spoiler && ( - Spoiler )} - - {comment.likes > 0 && ( - - - - {comment.likes} - - - )} - {comment.replies > 0 && ( - - - - {comment.replies} - - - )} - + {(() => { + const { datePart, timePart } = formatDateParts(comment.created_at); + return ( + + + {datePart} + + {!!timePart && ( + + {timePart} + + )} + + ); + })()} + + + {/* Rating */} + {comment.user_stats?.rating && ( + + {renderStars(comment.user_stats.rating)} + + {comment.user_stats.rating}/10 + + + )} + + {/* Full Comment (Markdown with inline spoilers) */} + {shouldBlurModalContent ? ( + + + + + Contains spoilers + + + Reveal + + + ) : ( + + + + )} + + {/* Comment Meta */} + + {comment.spoiler && ( + Spoiler + )} + + {comment.likes > 0 && ( + + + + {comment.likes} + + + )} + {comment.replies > 0 && ( + + + + {comment.replies} + + + )} + + ); @@ -732,7 +732,7 @@ export const CommentsSection: React.FC = ({ // Enhanced responsive sizing for tablets and TV screens const deviceWidth = Dimensions.get('window').width; const deviceHeight = Dimensions.get('window').height; - + // Determine device type based on width const getDeviceType = useCallback(() => { if (deviceWidth >= BREAKPOINTS.tv) return 'tv'; @@ -740,13 +740,13 @@ export const CommentsSection: React.FC = ({ if (deviceWidth >= BREAKPOINTS.tablet) return 'tablet'; return 'phone'; }, [deviceWidth]); - + const deviceType = getDeviceType(); const isTablet = deviceType === 'tablet'; const isLargeTablet = deviceType === 'largeTablet'; const isTV = deviceType === 'tv'; const isLargeScreen = isTablet || isLargeTablet || isTV; - + // Enhanced spacing and padding const horizontalPadding = useMemo(() => { switch (deviceType) { @@ -772,7 +772,7 @@ export const CommentsSection: React.FC = ({ } = useTraktComments({ imdbId, type: type === 'show' ? (season !== undefined && episode !== undefined ? 'episode' : - season !== undefined ? 'season' : 'show') : 'movie', + season !== undefined ? 'season' : 'show') : 'movie', season, episode, enabled: true, @@ -924,8 +924,8 @@ export const CommentsSection: React.FC = ({ } ]}> = ({ ) : ( <> - + Load More @@ -1022,15 +1022,19 @@ export const CommentBottomSheet: React.FC<{ }> = ({ comment, visible, onClose, theme, isSpoilerRevealed, onSpoilerPress }) => { const bottomSheetRef = useRef(null); + // Early return before any Reanimated components are rendered + // This prevents the BottomSheet from initializing when not needed + if (!visible || !comment) { + return null; + } + console.log('CommentBottomSheet: Rendered with visible:', visible, 'comment:', comment?.id); // Calculate the index based on visibility - start at medium height (50%) - const sheetIndex = visible && comment ? 1 : -1; + const sheetIndex = 1; // Always 1 when visible and comment are truthy console.log('CommentBottomSheet: Calculated sheetIndex:', sheetIndex); - if (!comment) return null; - const user = comment.user || {}; const username = user.name || user.username || 'Anonymous User'; const hasSpoiler = comment.spoiler; @@ -1115,100 +1119,100 @@ export const CommentBottomSheet: React.FC<{ nestedScrollEnabled keyboardShouldPersistTaps="handled" > - {/* User Info */} - - - - {username} - - {user.vip && ( - - VIP - - )} - - {(() => { - const { datePart, timePart } = formatDateParts(comment.created_at); - return ( - - - {datePart} - - {!!timePart && ( - - {timePart} - - )} - - ); - })()} - - - {/* Rating */} - {comment.user_stats?.rating && ( - - {renderStars(comment.user_stats.rating)} - - {comment.user_stats.rating}/10 - - - )} - - {/* Full Comment (Markdown with inline spoilers) */} - {shouldBlurModalContent ? ( - - - + {/* User Info */} + + + + {username} + + {user.vip && ( + + VIP - Contains spoilers - - - Reveal - - - ) : ( - - - - )} - - {/* Comment Meta */} - - {comment.spoiler && ( - Spoiler )} - - {comment.likes > 0 && ( - - - - {comment.likes} - - - )} - {comment.replies > 0 && ( - - - - {comment.replies} - - - )} - + {(() => { + const { datePart, timePart } = formatDateParts(comment.created_at); + return ( + + + {datePart} + + {!!timePart && ( + + {timePart} + + )} + + ); + })()} + + + {/* Rating */} + {comment.user_stats?.rating && ( + + {renderStars(comment.user_stats.rating)} + + {comment.user_stats.rating}/10 + + + )} + + {/* Full Comment (Markdown with inline spoilers) */} + {shouldBlurModalContent ? ( + + + + + Contains spoilers + + + Reveal + + + ) : ( + + + + )} + + {/* Comment Meta */} + + {comment.spoiler && ( + Spoiler + )} + + {comment.likes > 0 && ( + + + + {comment.likes} + + + )} + {comment.replies > 0 && ( + + + + {comment.replies} + + + )} + + ); diff --git a/src/components/player/AndroidVideoPlayer.tsx b/src/components/player/AndroidVideoPlayer.tsx index 7e43073..e52a21d 100644 --- a/src/components/player/AndroidVideoPlayer.tsx +++ b/src/components/player/AndroidVideoPlayer.tsx @@ -3124,7 +3124,7 @@ const AndroidVideoPlayer: React.FC = () => { } ]} > - {/* Combined gesture handler for left side - brightness + tap + long press */} + {/* Left side gesture handler - tap + long press (brightness gesture disabled) */} { shouldCancelWhenOutside={false} simultaneousHandlers={[]} > - - - - - + + {/* Combined gesture handler for right side - volume + tap + long press */} diff --git a/src/screens/HomeScreen.tsx b/src/screens/HomeScreen.tsx index 3bdb515..f95da28 100644 --- a/src/screens/HomeScreen.tsx +++ b/src/screens/HomeScreen.tsx @@ -765,7 +765,7 @@ const HomeScreen = () => { ); case 'loadMore': return ( - + { - + ); case 'welcome': return ; diff --git a/src/screens/MetadataScreen.tsx b/src/screens/MetadataScreen.tsx index 4bae260..ccb5f8c 100644 --- a/src/screens/MetadataScreen.tsx +++ b/src/screens/MetadataScreen.tsx @@ -41,7 +41,11 @@ import Animated, { Easing, interpolateColor, withSpring, + createAnimatedComponent, } from 'react-native-reanimated'; + +// Create animated version of SafeAreaView for use with Reanimated styles +const AnimatedSafeAreaView = createAnimatedComponent(SafeAreaView); import { RouteProp } from '@react-navigation/native'; import { NavigationProp } from '@react-navigation/native'; import { RootStackParamList } from '../navigation/AppNavigator'; @@ -911,7 +915,7 @@ const MetadataScreen: React.FC = () => { return ( - @@ -1417,7 +1421,7 @@ const MetadataScreen: React.FC = () => { isSpoilerRevealed={selectedComment ? revealedSpoilers.has(selectedComment.id.toString()) : false} onSpoilerPress={() => selectedComment && handleSpoilerPress(selectedComment)} /> - + ); }; diff --git a/src/screens/SearchScreen.tsx b/src/screens/SearchScreen.tsx index 13d9a5c..9acbacf 100644 --- a/src/screens/SearchScreen.tsx +++ b/src/screens/SearchScreen.tsx @@ -18,7 +18,7 @@ import { Platform, Easing, } from 'react-native'; -import { useNavigation } from '@react-navigation/native'; +import { useNavigation, useRoute, useFocusEffect } from '@react-navigation/native'; import { NavigationProp } from '@react-navigation/native'; import { MaterialIcons, Feather } from '@expo/vector-icons'; import { catalogService, StreamingContent, GroupedSearchResults, AddonSearchResults } from '../services/catalogService'; @@ -235,6 +235,15 @@ const SearchScreen = () => { const addonOrderRankRef = useRef>({}); // Track if this is the initial mount to prevent unnecessary operations const isInitialMount = useRef(true); + // Track mount status for async operations + const isMounted = useRef(true); + + useEffect(() => { + isMounted.current = true; + return () => { + isMounted.current = false; + }; + }, []); // DropUpMenu state const [menuVisible, setMenuVisible] = useState(false); const [selectedItem, setSelectedItem] = useState(null); @@ -380,45 +389,87 @@ const SearchScreen = () => { // Create a stable debounced search function using useMemo const debouncedSearch = useMemo(() => { return debounce(async (searchQuery: string) => { - if (!searchQuery.trim()) { - // Cancel any in-flight live search - liveSearchHandle.current?.cancel(); - liveSearchHandle.current = null; - setResults({ byAddon: [], allResults: [] }); - setSearching(false); - return; + // Cancel any in-flight live search + liveSearchHandle.current?.cancel(); + liveSearchHandle.current = null; + performLiveSearch(searchQuery); + }, 800); + }, []); // Empty dependency array - create once and never recreate + + // Track focus state to strictly prevent updates when blurred (fixes Telemetry crash) + useFocusEffect( + useCallback(() => { + isMounted.current = true; + return () => { + isMounted.current = false; + // Cancel any active searches immediately on blur + if (liveSearchHandle.current) { + liveSearchHandle.current.cancel(); + liveSearchHandle.current = null; + } + debouncedSearch.cancel(); + }; + }, [debouncedSearch]) + ); + + // Live search implementation + const performLiveSearch = async (searchQuery: string) => { + // strict guard: don't search if unmounted or blurred + if (!isMounted.current) return; + + if (!searchQuery || searchQuery.trim().length === 0) { + setResults({ byAddon: [], allResults: [] }); + setSearching(false); + return; + } + + setSearching(true); + setResults({ byAddon: [], allResults: [] }); + // Reset order rank for new search + addonOrderRankRef.current = {}; + + try { + if (liveSearchHandle.current) { + liveSearchHandle.current.cancel(); } - // Cancel prior live search - liveSearchHandle.current?.cancel(); - setResults({ byAddon: [], allResults: [] }); - setSearching(true); + // Pre-fetch addon list to establish a stable order rank + const addons = await catalogService.getAllAddons(); + // ... (rank logic) ... + const rank: Record = {}; + let rankCounter = 0; - logger.info('Starting live search for:', searchQuery); - // Preload addon order to keep sections sorted by installation order - try { - const addons = await catalogService.getAllAddons(); - const rank: Record = {}; - addons.forEach((a, idx) => { rank[a.id] = idx; }); - addonOrderRankRef.current = rank; - } catch { } + // Cinemeta first + rank['com.linvo.cinemeta'] = rankCounter++; + + // Then others + addons.forEach(addon => { + if (addon.id !== 'com.linvo.cinemeta') { + rank[addon.id] = rankCounter++; + } + }); + addonOrderRankRef.current = rank; const handle = catalogService.startLiveSearch(searchQuery, async (section: AddonSearchResults) => { - // Append/update this addon section immediately with minimal changes - setResults(prev => { - const rank = addonOrderRankRef.current; - const getRank = (id: string) => rank[id] ?? Number.MAX_SAFE_INTEGER; + // Prevent updates if component is unmounted or blurred + if (!isMounted.current) return; + // Append/update this addon section... + setResults(prev => { + // ... (existing update logic) ... + if (!isMounted.current) return prev; // Extra guard inside setter + + const getRank = (id: string) => addonOrderRankRef.current[id] ?? Number.MAX_SAFE_INTEGER; + // ... (same logic as before) ... const existingIndex = prev.byAddon.findIndex(s => s.addonId === section.addonId); if (existingIndex >= 0) { - // Update existing section in-place (preserve order and other sections) const copy = prev.byAddon.slice(); copy[existingIndex] = section; return { byAddon: copy, allResults: prev.allResults }; } - // Insert new section at correct position based on rank + // Insert new section const insertRank = getRank(section.addonId); let insertAt = prev.byAddon.length; for (let i = 0; i < prev.byAddon.length; i++) { @@ -442,15 +493,24 @@ const SearchScreen = () => { return { byAddon: nextByAddon, allResults: prev.allResults }; }); - // Save to recents after first result batch try { await saveRecentSearch(searchQuery); } catch { } }); - liveSearchHandle.current = handle; - }, 800); - }, []); // Empty dependency array - create once and never recreate + liveSearchHandle.current = handle; + await handle.done; + + if (isMounted.current) { + setSearching(false); + } + } catch (error) { + if (isMounted.current) { + console.error('Live search error:', error); + setSearching(false); + } + } + }; useEffect(() => { // Skip initial mount to prevent unnecessary operations if (isInitialMount.current) { @@ -503,22 +563,20 @@ const SearchScreen = () => { if (!showRecent || recentSearches.length === 0) return null; return ( - Recent Searches {recentSearches.map((search, index) => ( - { setQuery(search); Keyboard.dismiss(); }} - entering={FadeIn.duration(300).delay(index * 50)} > { > - + ))} - + ); }; @@ -573,7 +631,7 @@ const SearchScreen = () => { return () => unsubscribe(); }, [item.id, item.type]); return ( - { navigation.navigate('Metadata', { id: item.id, type: item.type }); @@ -584,7 +642,6 @@ const SearchScreen = () => { // Do NOT toggle refreshFlag here }} delayLongPress={300} - entering={FadeIn.duration(300).delay(index * 50)} activeOpacity={0.7} > { {item.year} )} - + ); }; @@ -664,7 +721,7 @@ const SearchScreen = () => { ); return ( - + {/* Addon Header */} @@ -679,7 +736,7 @@ const SearchScreen = () => { {/* Movies */} {movieResults.length > 0 && ( - + { showsHorizontalScrollIndicator={false} contentContainerStyle={styles.horizontalListContent} /> - + )} {/* TV Shows */} {seriesResults.length > 0 && ( - + { showsHorizontalScrollIndicator={false} contentContainerStyle={styles.horizontalListContent} /> - + )} {/* Other types */} {otherResults.length > 0 && ( - + { showsHorizontalScrollIndicator={false} contentContainerStyle={styles.horizontalListContent} /> - + )} - + ); }, (prev, next) => { // Only re-render if this section's reference changed @@ -804,13 +861,8 @@ const SearchScreen = () => { }, []); return ( - { /> ) : query.trim().length === 1 ? ( - { Type at least 2 characters to search - + ) : searched && !hasResultsToShow ? ( - { Try different keywords or check your spelling - + ) : ( - {!query.trim() && renderRecentSearches()} @@ -935,7 +984,7 @@ const SearchScreen = () => { addonIndex={addonIndex} /> ))} - + )} {/* DropUpMenu integration for search results */} @@ -981,7 +1030,7 @@ const SearchScreen = () => { }} /> )} - + ); };