1
0
mirror of https://github.com/tooot-app/app synced 2025-06-05 22:19:13 +02:00

Merge branch 'main' into release

This commit is contained in:
xmflsct
2023-05-16 22:31:49 +02:00
22 changed files with 1636 additions and 1926 deletions

View File

@ -7,7 +7,7 @@ on:
jobs: jobs:
build-ios: build-ios:
runs-on: macos-12 runs-on: macos-13
steps: steps:
- uses: tj-actions/branch-names@v6 - uses: tj-actions/branch-names@v6
id: branch id: branch
@ -20,7 +20,7 @@ jobs:
- run: bundle install - run: bundle install
- run: yarn app:build ios - run: yarn app:build ios
env: env:
DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer DEVELOPER_DIR: /Applications/Xcode_14.3.app/Contents/Developer
ENVIRONMENT: ${{ steps.branch.outputs.current_branch }} ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
SENTRY_ENVIRONMENT: ${{ steps.branch.outputs.current_branch }} SENTRY_ENVIRONMENT: ${{ steps.branch.outputs.current_branch }}
LC_ALL: en_US.UTF-8 LC_ALL: en_US.UTF-8
@ -38,7 +38,7 @@ jobs:
GH_PAT_GET_RELEASE: ${{ secrets.GITHUB_TOKEN }} GH_PAT_GET_RELEASE: ${{ secrets.GITHUB_TOKEN }}
build-android: build-android:
runs-on: macos-12 runs-on: macos-13
steps: steps:
- uses: tj-actions/branch-names@v6 - uses: tj-actions/branch-names@v6
id: branch id: branch
@ -67,7 +67,7 @@ jobs:
GH_PAT_GET_RELEASE: ${{ secrets.GITHUB_TOKEN }} GH_PAT_GET_RELEASE: ${{ secrets.GITHUB_TOKEN }}
create-release: create-release:
runs-on: macos-12 runs-on: macos-13
needs: [build-ios, build-android] needs: [build-ios, build-android]
steps: steps:
- uses: tj-actions/branch-names@v6 - uses: tj-actions/branch-names@v6

View File

@ -6,7 +6,7 @@ buildscript {
minSdkVersion = 21 minSdkVersion = 21
compileSdkVersion = 33 compileSdkVersion = 33
targetSdkVersion = 33 targetSdkVersion = 33
kotlinVersion = '1.8.10' kotlinVersion = '1.8.21'
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP. // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
ndkVersion = "23.1.7779620" ndkVersion = "23.1.7779620"

View File

@ -1,2 +1,3 @@
Enjoy toooting! This version includes following improvements and fixes: Enjoy toooting! This version includes following improvements and fixes:
- Added Greek translation - Long press avatar in tab bar to quickly switch to another account
- Fix poll notifications wrongly greyed out

View File

@ -1,3 +1,3 @@
toooting愉快此版本包括以下改进和修复 tooot-ing愉快此版本包括以下改进和修复
- 新增希腊语 - 长按底部菜单头像快速切换账户
- 新增neodb专辑、播客及剧集卡片 - 修复投票通知显示

View File

@ -3,76 +3,76 @@ PODS:
- DoubleConversion (1.1.6) - DoubleConversion (1.1.6)
- EXApplication (5.1.1): - EXApplication (5.1.1):
- ExpoModulesCore - ExpoModulesCore
- EXAV (13.2.1): - EXAV (13.3.0):
- ExpoModulesCore - ExpoModulesCore
- ReactCommon/turbomodule/core - ReactCommon/turbomodule/core
- EXConstants (14.2.1): - EXConstants (14.3.0):
- ExpoModulesCore - ExpoModulesCore
- EXFileSystem (15.2.2): - EXFileSystem (15.3.0):
- ExpoModulesCore - ExpoModulesCore
- EXFont (11.1.1): - EXFont (11.1.1):
- ExpoModulesCore - ExpoModulesCore
- EXNotifications (0.18.1): - EXNotifications (0.18.1):
- ExpoModulesCore - ExpoModulesCore
- Expo (48.0.11): - Expo (48.0.17):
- ExpoModulesCore - ExpoModulesCore
- ExpoCrypto (12.2.2): - ExpoCrypto (12.3.0):
- ExpoModulesCore - ExpoModulesCore
- ExpoHaptics (12.2.1): - ExpoHaptics (12.3.0):
- ExpoModulesCore - ExpoModulesCore
- ExpoImage (1.2.1): - ExpoImage (1.2.3):
- ExpoModulesCore - ExpoModulesCore
- SDWebImage (~> 5.15.0) - SDWebImage (~> 5.15.0)
- SDWebImageAVIFCoder (~> 0.9.4) - SDWebImageAVIFCoder (~> 0.10.0)
- SDWebImageSVGCoder (~> 1.6.1) - SDWebImageSVGCoder (~> 1.6.1)
- SDWebImageWebPCoder (~> 0.9.1) - SDWebImageWebPCoder (~> 0.9.1)
- ExpoKeepAwake (12.0.1): - ExpoKeepAwake (12.0.1):
- ExpoModulesCore - ExpoModulesCore
- ExpoLocalization (14.1.1): - ExpoLocalization (14.2.0):
- ExpoModulesCore - ExpoModulesCore
- ExpoModulesCore (1.2.6): - ExpoModulesCore (1.2.7):
- React-Core - React-Core
- React-RCTAppDelegate - React-RCTAppDelegate
- ReactCommon/turbomodule/core - ReactCommon/turbomodule/core
- ExpoStoreReview (6.2.1): - ExpoSecureStore (12.2.0):
- ExpoModulesCore - ExpoModulesCore
- ExpoVideoThumbnails (7.2.1): - ExpoStoreReview (6.3.0):
- ExpoModulesCore
- ExpoVideoThumbnails (7.3.0):
- ExpoModulesCore - ExpoModulesCore
- ExpoWebBrowser (12.1.1): - ExpoWebBrowser (12.1.1):
- ExpoModulesCore - ExpoModulesCore
- EXScreenCapture (5.1.1): - EXScreenCapture (5.1.1):
- ExpoModulesCore - ExpoModulesCore
- EXScreenOrientation (5.1.1): - EXScreenOrientation (5.2.0):
- ExpoModulesCore - ExpoModulesCore
- React-Core - React-Core
- EXSecureStore (12.1.1): - EXSplashScreen (0.18.2):
- ExpoModulesCore
- EXSplashScreen (0.18.1):
- ExpoModulesCore - ExpoModulesCore
- React-Core - React-Core
- FBLazyVector (0.71.7) - FBLazyVector (0.71.8)
- FBReactNativeSpec (0.71.7): - FBReactNativeSpec (0.71.8):
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.71.7) - RCTRequired (= 0.71.8)
- RCTTypeSafety (= 0.71.7) - RCTTypeSafety (= 0.71.8)
- React-Core (= 0.71.7) - React-Core (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.7) - ReactCommon/turbomodule/core (= 0.71.8)
- fmt (6.2.1) - fmt (6.2.1)
- glog (0.3.5) - glog (0.3.5)
- hermes-engine (0.71.7): - hermes-engine (0.71.8):
- hermes-engine/Pre-built (= 0.71.7) - hermes-engine/Pre-built (= 0.71.8)
- hermes-engine/Pre-built (0.71.7) - hermes-engine/Pre-built (0.71.8)
- libaom (2.0.2): - libaom (3.0.0):
- libvmaf - libvmaf (>= 2.2.0)
- libavif (0.10.1): - libavif (0.11.1):
- libavif/libaom (= 0.10.1) - libavif/libaom (= 0.11.1)
- libavif/core (0.10.1) - libavif/core (0.11.1)
- libavif/libaom (0.10.1): - libavif/libaom (0.11.1):
- libaom (>= 2.0.0) - libaom (>= 2.0.0)
- libavif/core - libavif/core
- libevent (2.1.12) - libevent (2.1.12)
- libvmaf (2.2.0) - libvmaf (2.3.1)
- libwebp (1.2.4): - libwebp (1.2.4):
- libwebp/demux (= 1.2.4) - libwebp/demux (= 1.2.4)
- libwebp/mux (= 1.2.4) - libwebp/mux (= 1.2.4)
@ -82,9 +82,9 @@ PODS:
- libwebp/mux (1.2.4): - libwebp/mux (1.2.4):
- libwebp/demux - libwebp/demux
- libwebp/webp (1.2.4) - libwebp/webp (1.2.4)
- MMKV (1.2.15): - MMKV (1.2.16):
- MMKVCore (~> 1.2.15) - MMKVCore (~> 1.2.16)
- MMKVCore (1.2.15) - MMKVCore (1.2.16)
- RCT-Folly (2021.07.22.00): - RCT-Folly (2021.07.22.00):
- boost - boost
- DoubleConversion - DoubleConversion
@ -102,26 +102,26 @@ PODS:
- fmt (~> 6.2.1) - fmt (~> 6.2.1)
- glog - glog
- libevent - libevent
- RCTRequired (0.71.7) - RCTRequired (0.71.8)
- RCTTypeSafety (0.71.7): - RCTTypeSafety (0.71.8):
- FBLazyVector (= 0.71.7) - FBLazyVector (= 0.71.8)
- RCTRequired (= 0.71.7) - RCTRequired (= 0.71.8)
- React-Core (= 0.71.7) - React-Core (= 0.71.8)
- React (0.71.7): - React (0.71.8):
- React-Core (= 0.71.7) - React-Core (= 0.71.8)
- React-Core/DevSupport (= 0.71.7) - React-Core/DevSupport (= 0.71.8)
- React-Core/RCTWebSocket (= 0.71.7) - React-Core/RCTWebSocket (= 0.71.8)
- React-RCTActionSheet (= 0.71.7) - React-RCTActionSheet (= 0.71.8)
- React-RCTAnimation (= 0.71.7) - React-RCTAnimation (= 0.71.8)
- React-RCTBlob (= 0.71.7) - React-RCTBlob (= 0.71.8)
- React-RCTImage (= 0.71.7) - React-RCTImage (= 0.71.8)
- React-RCTLinking (= 0.71.7) - React-RCTLinking (= 0.71.8)
- React-RCTNetwork (= 0.71.7) - React-RCTNetwork (= 0.71.8)
- React-RCTSettings (= 0.71.7) - React-RCTSettings (= 0.71.8)
- React-RCTText (= 0.71.7) - React-RCTText (= 0.71.8)
- React-RCTVibration (= 0.71.7) - React-RCTVibration (= 0.71.8)
- React-callinvoker (0.71.7) - React-callinvoker (0.71.8)
- React-Codegen (0.71.7): - React-Codegen (0.71.8):
- FBReactNativeSpec - FBReactNativeSpec
- hermes-engine - hermes-engine
- RCT-Folly - RCT-Folly
@ -132,213 +132,213 @@ PODS:
- React-jsiexecutor - React-jsiexecutor
- ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core - ReactCommon/turbomodule/core
- React-Core (0.71.7): - React-Core (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.71.7) - React-Core/Default (= 0.71.8)
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/CoreModulesHeaders (0.71.7): - React-Core/CoreModulesHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/Default (0.71.7): - React-Core/Default (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/DevSupport (0.71.7): - React-Core/DevSupport (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.71.7) - React-Core/Default (= 0.71.8)
- React-Core/RCTWebSocket (= 0.71.7) - React-Core/RCTWebSocket (= 0.71.8)
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-jsinspector (= 0.71.7) - React-jsinspector (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTActionSheetHeaders (0.71.7): - React-Core/RCTActionSheetHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTAnimationHeaders (0.71.7): - React-Core/RCTAnimationHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTBlobHeaders (0.71.7): - React-Core/RCTBlobHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTImageHeaders (0.71.7): - React-Core/RCTImageHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTLinkingHeaders (0.71.7): - React-Core/RCTLinkingHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTNetworkHeaders (0.71.7): - React-Core/RCTNetworkHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTSettingsHeaders (0.71.7): - React-Core/RCTSettingsHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTTextHeaders (0.71.7): - React-Core/RCTTextHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTVibrationHeaders (0.71.7): - React-Core/RCTVibrationHeaders (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-Core/RCTWebSocket (0.71.7): - React-Core/RCTWebSocket (0.71.8):
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.71.7) - React-Core/Default (= 0.71.8)
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-hermes - React-hermes
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- Yoga - Yoga
- React-CoreModules (0.71.7): - React-CoreModules (0.71.8):
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7) - RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.7) - React-Codegen (= 0.71.8)
- React-Core/CoreModulesHeaders (= 0.71.7) - React-Core/CoreModulesHeaders (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-RCTBlob - React-RCTBlob
- React-RCTImage (= 0.71.7) - React-RCTImage (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.7) - ReactCommon/turbomodule/core (= 0.71.8)
- React-cxxreact (0.71.7): - React-cxxreact (0.71.8):
- boost (= 1.76.0) - boost (= 1.76.0)
- DoubleConversion - DoubleConversion
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.7) - React-callinvoker (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-jsinspector (= 0.71.7) - React-jsinspector (= 0.71.8)
- React-logger (= 0.71.7) - React-logger (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- React-runtimeexecutor (= 0.71.7) - React-runtimeexecutor (= 0.71.8)
- React-hermes (0.71.7): - React-hermes (0.71.8):
- DoubleConversion - DoubleConversion
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- RCT-Folly/Futures (= 2021.07.22.00) - RCT-Folly/Futures (= 2021.07.22.00)
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-jsi - React-jsi
- React-jsiexecutor (= 0.71.7) - React-jsiexecutor (= 0.71.8)
- React-jsinspector (= 0.71.7) - React-jsinspector (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- React-jsi (0.71.7): - React-jsi (0.71.8):
- boost (= 1.76.0) - boost (= 1.76.0)
- DoubleConversion - DoubleConversion
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-jsiexecutor (0.71.7): - React-jsiexecutor (0.71.8):
- DoubleConversion - DoubleConversion
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- React-jsinspector (0.71.7) - React-jsinspector (0.71.8)
- React-logger (0.71.7): - React-logger (0.71.8):
- glog - glog
- react-native-blur (4.3.0): - react-native-blur (4.3.2):
- React-Core - React-Core
- react-native-cameraroll (5.3.1): - react-native-cameraroll (5.4.0):
- React-Core - React-Core
- react-native-image-picker (5.3.1): - react-native-image-picker (5.3.1):
- React-Core - React-Core
@ -349,16 +349,16 @@ PODS:
- react-native-mmkv (2.8.0): - react-native-mmkv (2.8.0):
- MMKV (>= 1.2.13) - MMKV (>= 1.2.13)
- React-Core - React-Core
- react-native-netinfo (9.3.9): - react-native-netinfo (9.3.10):
- React-Core - React-Core
- react-native-pager-view (6.2.0): - react-native-pager-view (6.2.0):
- React-Core - React-Core
- react-native-paste-input (0.6.2): - react-native-paste-input (0.6.2):
- React-Core - React-Core
- Swime (= 3.0.6) - Swime (= 3.0.6)
- react-native-quick-base64 (2.0.5): - react-native-quick-base64 (2.0.6):
- React-Core - React-Core
- react-native-safe-area-context (4.5.1): - react-native-safe-area-context (4.5.3):
- RCT-Folly - RCT-Folly
- RCTRequired - RCTRequired
- RCTTypeSafety - RCTTypeSafety
@ -366,97 +366,97 @@ PODS:
- ReactCommon/turbomodule/core - ReactCommon/turbomodule/core
- react-native-segmented-control (2.4.1): - react-native-segmented-control (2.4.1):
- React-Core - React-Core
- React-perflogger (0.71.7) - React-perflogger (0.71.8)
- React-RCTActionSheet (0.71.7): - React-RCTActionSheet (0.71.8):
- React-Core/RCTActionSheetHeaders (= 0.71.7) - React-Core/RCTActionSheetHeaders (= 0.71.8)
- React-RCTAnimation (0.71.7): - React-RCTAnimation (0.71.8):
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7) - RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.7) - React-Codegen (= 0.71.8)
- React-Core/RCTAnimationHeaders (= 0.71.7) - React-Core/RCTAnimationHeaders (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.7) - ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTAppDelegate (0.71.7): - React-RCTAppDelegate (0.71.8):
- RCT-Folly - RCT-Folly
- RCTRequired - RCTRequired
- RCTTypeSafety - RCTTypeSafety
- React-Core - React-Core
- ReactCommon/turbomodule/core - ReactCommon/turbomodule/core
- React-RCTBlob (0.71.7): - React-RCTBlob (0.71.8):
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.71.7) - React-Codegen (= 0.71.8)
- React-Core/RCTBlobHeaders (= 0.71.7) - React-Core/RCTBlobHeaders (= 0.71.8)
- React-Core/RCTWebSocket (= 0.71.7) - React-Core/RCTWebSocket (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-RCTNetwork (= 0.71.7) - React-RCTNetwork (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.7) - ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTImage (0.71.7): - React-RCTImage (0.71.8):
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7) - RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.7) - React-Codegen (= 0.71.8)
- React-Core/RCTImageHeaders (= 0.71.7) - React-Core/RCTImageHeaders (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-RCTNetwork (= 0.71.7) - React-RCTNetwork (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.7) - ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTLinking (0.71.7): - React-RCTLinking (0.71.8):
- React-Codegen (= 0.71.7) - React-Codegen (= 0.71.8)
- React-Core/RCTLinkingHeaders (= 0.71.7) - React-Core/RCTLinkingHeaders (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.7) - ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTNetwork (0.71.7): - React-RCTNetwork (0.71.8):
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7) - RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.7) - React-Codegen (= 0.71.8)
- React-Core/RCTNetworkHeaders (= 0.71.7) - React-Core/RCTNetworkHeaders (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.7) - ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTSettings (0.71.7): - React-RCTSettings (0.71.8):
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7) - RCTTypeSafety (= 0.71.8)
- React-Codegen (= 0.71.7) - React-Codegen (= 0.71.8)
- React-Core/RCTSettingsHeaders (= 0.71.7) - React-Core/RCTSettingsHeaders (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.7) - ReactCommon/turbomodule/core (= 0.71.8)
- React-RCTText (0.71.7): - React-RCTText (0.71.8):
- React-Core/RCTTextHeaders (= 0.71.7) - React-Core/RCTTextHeaders (= 0.71.8)
- React-RCTVibration (0.71.7): - React-RCTVibration (0.71.8):
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.71.7) - React-Codegen (= 0.71.8)
- React-Core/RCTVibrationHeaders (= 0.71.7) - React-Core/RCTVibrationHeaders (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- ReactCommon/turbomodule/core (= 0.71.7) - ReactCommon/turbomodule/core (= 0.71.8)
- React-runtimeexecutor (0.71.7): - React-runtimeexecutor (0.71.8):
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- ReactCommon/turbomodule/bridging (0.71.7): - ReactCommon/turbomodule/bridging (0.71.8):
- DoubleConversion - DoubleConversion
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.7) - React-callinvoker (= 0.71.8)
- React-Core (= 0.71.7) - React-Core (= 0.71.8)
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-logger (= 0.71.7) - React-logger (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- ReactCommon/turbomodule/core (0.71.7): - ReactCommon/turbomodule/core (0.71.8):
- DoubleConversion - DoubleConversion
- glog - glog
- hermes-engine - hermes-engine
- RCT-Folly (= 2021.07.22.00) - RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.7) - React-callinvoker (= 0.71.8)
- React-Core (= 0.71.7) - React-Core (= 0.71.8)
- React-cxxreact (= 0.71.7) - React-cxxreact (= 0.71.8)
- React-jsi (= 0.71.7) - React-jsi (= 0.71.8)
- React-logger (= 0.71.7) - React-logger (= 0.71.8)
- React-perflogger (= 0.71.7) - React-perflogger (= 0.71.8)
- RNCAsyncStorage (1.17.11): - RNCAsyncStorage (1.17.12):
- React-Core - React-Core
- RNCClipboard (1.11.2): - RNCClipboard (1.11.2):
- React-Core - React-Core
- RNGestureHandler (2.9.0): - RNGestureHandler (2.10.0):
- React-Core - React-Core
- RNReanimated (3.0.2): - RNReanimated (3.1.0):
- DoubleConversion - DoubleConversion
- FBLazyVector - FBLazyVector
- FBReactNativeSpec - FBReactNativeSpec
@ -486,27 +486,27 @@ PODS:
- RNScreens (3.20.0): - RNScreens (3.20.0):
- React-Core - React-Core
- React-RCTImage - React-RCTImage
- RNSentry (5.3.1): - RNSentry (5.5.0):
- React-Core - React-Core
- Sentry/HybridSDK (= 8.4.0) - Sentry/HybridSDK (= 8.7.1)
- RNShareMenu (6.0.0): - RNShareMenu (6.0.0):
- React - React
- RNSVG (13.9.0): - RNSVG (13.9.0):
- React-Core - React-Core
- SDWebImage (5.15.5): - SDWebImage (5.15.8):
- SDWebImage/Core (= 5.15.5) - SDWebImage/Core (= 5.15.8)
- SDWebImage/Core (5.15.5) - SDWebImage/Core (5.15.8)
- SDWebImageAVIFCoder (0.9.5): - SDWebImageAVIFCoder (0.10.0):
- libavif (>= 0.9.1) - libavif (>= 0.11.0)
- SDWebImage (~> 5.10) - SDWebImage (~> 5.10)
- SDWebImageSVGCoder (1.6.1): - SDWebImageSVGCoder (1.6.1):
- SDWebImage/Core (~> 5.6) - SDWebImage/Core (~> 5.6)
- SDWebImageWebPCoder (0.9.1): - SDWebImageWebPCoder (0.9.1):
- libwebp (~> 1.0) - libwebp (~> 1.0)
- SDWebImage/Core (~> 5.13) - SDWebImage/Core (~> 5.13)
- Sentry/HybridSDK (8.4.0): - Sentry/HybridSDK (8.7.1):
- SentryPrivate (= 8.4.0) - SentryPrivate (= 8.7.1)
- SentryPrivate (8.4.0) - SentryPrivate (8.7.1)
- Swime (3.0.6) - Swime (3.0.6)
- Yoga (1.14.0) - Yoga (1.14.0)
@ -526,12 +526,12 @@ DEPENDENCIES:
- ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`) - ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`)
- ExpoLocalization (from `../node_modules/expo-localization/ios`) - ExpoLocalization (from `../node_modules/expo-localization/ios`)
- ExpoModulesCore (from `../node_modules/expo-modules-core`) - ExpoModulesCore (from `../node_modules/expo-modules-core`)
- ExpoSecureStore (from `../node_modules/expo-secure-store/ios`)
- ExpoStoreReview (from `../node_modules/expo-store-review/ios`) - ExpoStoreReview (from `../node_modules/expo-store-review/ios`)
- ExpoVideoThumbnails (from `../node_modules/expo-video-thumbnails/ios`) - ExpoVideoThumbnails (from `../node_modules/expo-video-thumbnails/ios`)
- ExpoWebBrowser (from `../node_modules/expo-web-browser/ios`) - ExpoWebBrowser (from `../node_modules/expo-web-browser/ios`)
- EXScreenCapture (from `../node_modules/expo-screen-capture/ios`) - EXScreenCapture (from `../node_modules/expo-screen-capture/ios`)
- EXScreenOrientation (from `../node_modules/expo-screen-orientation/ios`) - EXScreenOrientation (from `../node_modules/expo-screen-orientation/ios`)
- EXSecureStore (from `../node_modules/expo-secure-store/ios`)
- EXSplashScreen (from `../node_modules/expo-splash-screen/ios`) - EXSplashScreen (from `../node_modules/expo-splash-screen/ios`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
@ -637,6 +637,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-localization/ios" :path: "../node_modules/expo-localization/ios"
ExpoModulesCore: ExpoModulesCore:
:path: "../node_modules/expo-modules-core" :path: "../node_modules/expo-modules-core"
ExpoSecureStore:
:path: "../node_modules/expo-secure-store/ios"
ExpoStoreReview: ExpoStoreReview:
:path: "../node_modules/expo-store-review/ios" :path: "../node_modules/expo-store-review/ios"
ExpoVideoThumbnails: ExpoVideoThumbnails:
@ -647,8 +649,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-screen-capture/ios" :path: "../node_modules/expo-screen-capture/ios"
EXScreenOrientation: EXScreenOrientation:
:path: "../node_modules/expo-screen-orientation/ios" :path: "../node_modules/expo-screen-orientation/ios"
EXSecureStore:
:path: "../node_modules/expo-secure-store/ios"
EXSplashScreen: EXSplashScreen:
:path: "../node_modules/expo-splash-screen/ios" :path: "../node_modules/expo-splash-screen/ios"
FBLazyVector: FBLazyVector:
@ -760,93 +760,93 @@ SPEC CHECKSUMS:
boost: 57d2868c099736d80fcd648bf211b4431e51a558 boost: 57d2868c099736d80fcd648bf211b4431e51a558
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
EXApplication: d8f53a7eee90a870a75656280e8d4b85726ea903 EXApplication: d8f53a7eee90a870a75656280e8d4b85726ea903
EXAV: f1f69397ecdcf44cfacd4ff5d338cd1b96891e87 EXAV: c661e742e2ee1986f5a6a030b48d9d3a3507d2f0
EXConstants: f348da07e21b23d2b085e270d7b74f282df1a7d9 EXConstants: 29269f841ed8786d483b753021953264ac04818f
EXFileSystem: 844e86ca9b5375486ecc4ef06d3838d5597d895d EXFileSystem: 0b4a2c08c2dc92146849772145d61c1773144283
EXFont: 6ea3800df746be7233208d80fe379b8ed74f4272 EXFont: 6ea3800df746be7233208d80fe379b8ed74f4272
EXNotifications: dd628737af60fc8cc62dccebacd326b0fbbc0dcb EXNotifications: dd628737af60fc8cc62dccebacd326b0fbbc0dcb
Expo: 81418098ffb16914b2e190f54e06db923248e4a1 Expo: d351b4546895fb99ae4e5a1bc39df770ab9dc7d1
ExpoCrypto: 9105610a09cd6290b900bd82fc5d190e489125a3 ExpoCrypto: 1582deaebe922a39f18bf28ec4723ef18d12b13e
ExpoHaptics: 5156bc5160d8e04c170dd6e645a71154951a2ad9 ExpoHaptics: fb64dfe302cba07591bf1679ecb9531dadfc13cf
ExpoImage: 09d394e082cdd18d946f10a522d566dfca019fb8 ExpoImage: 60f8d8182e8e13b5f5c2bb6bc860c933b2fe6c25
ExpoKeepAwake: 69f5f627670d62318410392d03e0b5db0f85759a ExpoKeepAwake: 69f5f627670d62318410392d03e0b5db0f85759a
ExpoLocalization: f26cd431ad9ea3533c5b08c4fabd879176a794bb ExpoLocalization: c1201ba5cfcfb187972138e58c07cc708c5399db
ExpoModulesCore: 6e0259511f4c4341b6b8357db393624df2280828 ExpoModulesCore: 653958063a301098b541ae4dfed1ac0b98db607b
ExpoStoreReview: d057dcca4b9c95f3c9db11bd2e168dab9cba59f3 ExpoSecureStore: 69a8b8e66e53afbd1c88b97a95a22af7fde9f99b
ExpoVideoThumbnails: 0021303b614a89fcc5df8b59d9d37ddf14a7d4cf ExpoStoreReview: 69f68b07656f26540f2b38f971527609860930c8
ExpoVideoThumbnails: 4c5aa4a1ed34041844da7f8ba2967630d2573bdc
ExpoWebBrowser: 033d34c478d9986da2f1679729041423837626e0 ExpoWebBrowser: 033d34c478d9986da2f1679729041423837626e0
EXScreenCapture: d9284f4a6508c86d0d463805b93672397d18de0f EXScreenCapture: d9284f4a6508c86d0d463805b93672397d18de0f
EXScreenOrientation: 52220f8f2477ed25a37e3b2cdbbaa8635d250256 EXScreenOrientation: d6f2277d20a76206f1ec5268d6c727e758e10d05
EXSecureStore: e8923258361cc406d0401af380f12bd05b2b720f EXSplashScreen: 0e0a9ba0cf7553094e93213099bd7b42e6e237e9
EXSplashScreen: cd7fb052dff5ba8311d5c2455ecbebffe1b7a8ca FBLazyVector: f637f31eacba90d4fdeff3fa41608b8f361c173b
FBLazyVector: a89a0525bc7ca174675045c2b492b5280d5a2470 FBReactNativeSpec: 0d9a4f4de7ab614c49e98c00aedfd3bfbda33d59
FBReactNativeSpec: 7714e6bc1e9ea23df6c4cb42f0b2fd9c6a3a559c
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
hermes-engine: 4438d2b8bf8bebaba1b1ac0451160bab59e491f8 hermes-engine: 47986d26692ae75ee7a17ab049caee8864f855de
libaom: 9bb51e0f8f9192245e3ca2a1c9e4375d9cbccc52 libaom: 144606b1da4b5915a1054383c3a4459ccdb3c661
libavif: e242998ccec1c83bcba0bbdc256f460ad5077348 libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
libvmaf: 8d61aabc2f4ed3e6591cf7406fa00a223ec11289 libvmaf: 27f523f1e63c694d14d534cd0fddd2fab0ae8711
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
MMKV: 7f34558bbb5a33b0eaefae2de4b6a20a2ffdad6f MMKV: 784471ce430a2e2d16afef9053d63fab1b357d9e
MMKVCore: ddf41b9d9262f058419f9ba7598719af56c02cd3 MMKVCore: 9cfef4c48c6c46f66226fc2e4634d78490206a48
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
RCTRequired: 5a4a30ac20c86eeadd6844a9328f78d4168cf9b2 RCTRequired: 8af6a32dfc2b65ec82193c2dee6e1011ff22ac2a
RCTTypeSafety: 279fc5861a89f0f37db3a585f27f971485b4b734 RCTTypeSafety: bee9dd161c175896c680d47ef1d9eaacf2b587f4
React: 88307a9be3bd0e71a6822271cf28b84a587fb97f React: d850475db9ba8006a8b875d79e1e0d6ac8a0f8b6
React-callinvoker: 35fb980c454104ebe82f0afb9826830089248e08 React-callinvoker: 6a0c75475ddc17c9ed54e4ff0478074a18fd7ab5
React-Codegen: a8dbde3b7476d5c19437d2adb9e8ea1b426b9595 React-Codegen: 786571642e87add634e7f4d299c85314ec6cc158
React-Core: 385cb6fa78762c6409ff39faeb0dd9ad664b6e84 React-Core: 1adfab153f59e4f56e09b97a153089f466d7b8aa
React-CoreModules: c2b7db313b04d9b71954ffd55d0c2e46bc40e9fb React-CoreModules: 958d236715415d4ccdd5fa35c516cf0356637393
React-cxxreact: 845fefb889132e5d004ff818f7a599e32c52e7d6 React-cxxreact: 2e7a6283807ce8755c3d501735acd400bec3b5cd
React-hermes: 86135f35e1dd2dfccfb97afe96d0c06f6a3970c4 React-hermes: 8102c3112ba32207c3052619be8cfae14bf99d84
React-jsi: 39c116aa6c3d6f3d9874eff6998a670b47882a28 React-jsi: dd29264f041a587e91f994e4be97e86c127742b2
React-jsiexecutor: eaa5f71eb8f6861cf0e57f1a0f52aeb020d9e18e React-jsiexecutor: 747911ab5921641b4ed7e4900065896597142125
React-jsinspector: 9885f6f94d231b95a739ef7bb50536fb87ce7539 React-jsinspector: c712f9e3bb9ba4122d6b82b4f906448b8a281580
React-logger: 3f8ebad1be1bf3299d1ab6d7f971802d7395c7ef React-logger: 342f358b8decfbf8f272367f4eacf4b6154061be
react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3 react-native-blur: cfdad7b3c01d725ab62a8a729f42ea463998afa2
react-native-cameraroll: f3050460fe1708378698c16686bfaa5f34099be2 react-native-cameraroll: 8ffb0af7a5e5de225fd667610e2979fc1f0c2151
react-native-image-picker: ec9b713e248760bfa0f879f0715391de4651a7cb react-native-image-picker: ec9b713e248760bfa0f879f0715391de4651a7cb
react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5 react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5
react-native-language-detection: f414937fa715108ab50a6269a3de0bcb95e4ceb0 react-native-language-detection: f414937fa715108ab50a6269a3de0bcb95e4ceb0
react-native-mmkv: 7da5e18e55c04a9af9a7e0ab9792a1e8d33765a1 react-native-mmkv: 7da5e18e55c04a9af9a7e0ab9792a1e8d33765a1
react-native-netinfo: 22c082970cbd99071a4e5aa7a612ac20d66b08f0 react-native-netinfo: ccbe1085dffd16592791d550189772e13bf479e2
react-native-pager-view: 0ccb8bf60e2ebd38b1f3669fa3650ecce81db2df react-native-pager-view: 0ccb8bf60e2ebd38b1f3669fa3650ecce81db2df
react-native-paste-input: 3392800944a47c00dddbff23c31c281482209679 react-native-paste-input: 3392800944a47c00dddbff23c31c281482209679
react-native-quick-base64: e657e9197e61b60a9dec49807843052b830da254 react-native-quick-base64: 62290829c619fbabca4c41cfec75ae759d08fc1c
react-native-safe-area-context: f5549f36508b1b7497434baa0cd97d7e470920d4 react-native-safe-area-context: b8979f5eda6ed5903d4dbc885be3846ea3daa753
react-native-segmented-control: 0e4b5d93911e2234f110057df2b41738b326ab3e react-native-segmented-control: 0e4b5d93911e2234f110057df2b41738b326ab3e
React-perflogger: 2d505bbe298e3b7bacdd9e542b15535be07220f6 React-perflogger: d21f182895de9d1b077f8a3cd00011095c8c9100
React-RCTActionSheet: 0e96e4560bd733c9b37efbf68f5b1a47615892fb React-RCTActionSheet: 0151f83ef92d2a7139bba7dfdbc8066632a6d47b
React-RCTAnimation: fd138e26f120371c87e406745a27535e2c8a04ef React-RCTAnimation: 5ec9c0705bb2297549c120fe6473aa3e4a01e215
React-RCTAppDelegate: 4a9fd1230a98dc3d4382f8a934dc9f50834d8335 React-RCTAppDelegate: 9895fd1b6d1176d88c4b10ddc169b2e1300c91f0
React-RCTBlob: 38a7185f06a0ce8153a023e63b406a28d67b955d React-RCTBlob: f3634eb45b6e7480037655e1ca93d1136ac984dd
React-RCTImage: 92b0966e7c1cadda889e961c474397ad5180e194 React-RCTImage: 3c12cb32dec49549ae62ed6cba4018db43841ffc
React-RCTLinking: b80f8d0c6e94c54294b0048def51f57eaa9a27af React-RCTLinking: 310e930ee335ef25481b4a173d9edb64b77895f9
React-RCTNetwork: 491b0c65ac22edbd6695d12d084b4943103b009b React-RCTNetwork: b6837841fe88303b0c04c1e3c01992b30f1f5498
React-RCTSettings: 97af3e8abe0023349ec015910df3bda1a0380117 React-RCTSettings: 600d91fe25fa7c16b0ff891304082440f2904b89
React-RCTText: 33c85753bd714d527d2ae538dc56ec24c6783d84 React-RCTText: a0a19f749088280c6def5397ed6211b811e7eef3
React-RCTVibration: 08f132cad9896458776f37c112e71d60aef1c6ae React-RCTVibration: 43ffd976a25f6057a7cf95ea3648ba4e00287f89
React-runtimeexecutor: c5c89f8f543842dd864b63ded1b0bbb9c9445328 React-runtimeexecutor: 7c51ae9d4b3e9608a2366e39ccaa606aa551b9ed
ReactCommon: dbfbe2f7f3c5ce4ce44f43f2fd0d5950d1eb67c5 ReactCommon: 85c98ab0a509e70bf5ee5d9715cf68dbf495b84c
RNCAsyncStorage: 8616bd5a58af409453ea4e1b246521bb76578d60 RNCAsyncStorage: 09fc8595e6d6f6d5abf16b23a56b257d9c6b7c5b
RNCClipboard: 3f0451a8100393908bea5c5c5b16f96d45f30bfc RNCClipboard: 3f0451a8100393908bea5c5c5b16f96d45f30bfc
RNGestureHandler: 071d7a9ad81e8b83fe7663b303d132406a7d8f39 RNGestureHandler: e145476da655f3dbc48ef2f0a08cf7a34338c02b
RNReanimated: f0dd6b881808e635ef0673f89642937d6c141314 RNReanimated: b1220a0e5168745283ff5d53bfc7d2144b2cee1b
RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f
RNSentry: 68d5b2339fc7cd864e8076279345cc90174fa583 RNSentry: 4fb2cd7d2d6cb94423c24884488206ef881da136
RNShareMenu: cb9dac548c8bf147d06f0bf07296ad51ea9f5fc3 RNShareMenu: cb9dac548c8bf147d06f0bf07296ad51ea9f5fc3
RNSVG: 53c661b76829783cdaf9b7a57258f3d3b4c28315 RNSVG: 53c661b76829783cdaf9b7a57258f3d3b4c28315
SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe SDWebImage: cb032eba469c54e0000e78bcb0a13cdde0a52798
SDWebImageAVIFCoder: d759e21cf4efb640cc97250566aa556ad8bb877c SDWebImageAVIFCoder: 4aeea8fdf65af5c18525ecb5bdd8b8ed9bb45019
SDWebImageSVGCoder: 6fc109f9c2a82ab44510fff410b88b1a6c271ee8 SDWebImageSVGCoder: 6fc109f9c2a82ab44510fff410b88b1a6c271ee8
SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0 SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0
Sentry: 16d46dd5ca10e7f4469a2611805a3de123188add Sentry: 11776f6a25a128808d793d0d41bb7ad873b5ae4f
SentryPrivate: 2bb4f8d9ff558b25ac70b66c1dedc58a7c43630b SentryPrivate: b3c448eacdabe9eab7679a2e0af609c608f91572
Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b
Yoga: d56980c8914db0b51692f55533409e844b66133c Yoga: 065f0b74dba4832d6e328238de46eb72c5de9556
PODFILE CHECKSUM: 61a84f1ad8a466fbbbf09e0f8bb3ed30b2d5e301 PODFILE CHECKSUM: 61a84f1ad8a466fbbbf09e0f8bb3ed30b2d5e301
COCOAPODS: 1.12.0 COCOAPODS: 1.12.1

View File

@ -1,6 +1,6 @@
{ {
"name": "tooot", "name": "tooot",
"version": "4.9.4", "version": "4.9.5",
"description": "tooot for Mastodon", "description": "tooot for Mastodon",
"author": "xmflsct <me@xmflsct.com>", "author": "xmflsct <me@xmflsct.com>",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
@ -19,92 +19,92 @@
}, },
"dependencies": { "dependencies": {
"@expo/react-native-action-sheet": "^4.0.1", "@expo/react-native-action-sheet": "^4.0.1",
"@formatjs/intl-datetimeformat": "^6.7.0", "@formatjs/intl-datetimeformat": "^6.8.0",
"@formatjs/intl-getcanonicallocales": "^2.1.0", "@formatjs/intl-getcanonicallocales": "^2.2.0",
"@formatjs/intl-locale": "^3.2.1", "@formatjs/intl-locale": "^3.3.0",
"@formatjs/intl-numberformat": "^8.4.1", "@formatjs/intl-numberformat": "^8.5.0",
"@formatjs/intl-pluralrules": "^5.2.1", "@formatjs/intl-pluralrules": "^5.2.2",
"@formatjs/intl-relativetimeformat": "^11.2.1", "@formatjs/intl-relativetimeformat": "^11.2.2",
"@mattermost/react-native-paste-input": "^0.6.2", "@mattermost/react-native-paste-input": "^0.6.2",
"@neverdull-agency/expo-unlimited-secure-store": "^1.0.10", "@neverdull-agency/expo-unlimited-secure-store": "^1.0.10",
"@react-native-async-storage/async-storage": "~1.17.11", "@react-native-async-storage/async-storage": "~1.17.11",
"@react-native-camera-roll/camera-roll": "^5.3.1", "@react-native-camera-roll/camera-roll": "^5.4.0",
"@react-native-clipboard/clipboard": "^1.11.2", "@react-native-clipboard/clipboard": "^1.11.2",
"@react-native-community/blur": "^4.3.0", "@react-native-community/blur": "^4.3.2",
"@react-native-community/netinfo": "9.3.9", "@react-native-community/netinfo": "9.3.10",
"@react-native-firebase/app": "^17.4.2", "@react-native-firebase/app": "^17.5.0",
"@react-native-menu/menu": "^0.7.3", "@react-native-menu/menu": "^0.7.3",
"@react-native-segmented-control/segmented-control": "^2.4.1", "@react-native-segmented-control/segmented-control": "^2.4.1",
"@react-navigation/bottom-tabs": "^6.5.7", "@react-navigation/bottom-tabs": "^6.5.7",
"@react-navigation/native": "^6.1.6", "@react-navigation/native": "^6.1.6",
"@react-navigation/native-stack": "^6.9.12", "@react-navigation/native-stack": "^6.9.12",
"@react-navigation/stack": "^6.3.16", "@react-navigation/stack": "^6.3.16",
"@sentry/react-native": "5.3.1", "@sentry/react-native": "5.5.0",
"@sharcoux/slider": "^6.1.2", "@sharcoux/slider": "^6.1.2",
"@tanstack/react-query": "^4.29.3", "@tanstack/react-query": "^4.29.7",
"axios": "^1.3.6", "axios": "^1.4.0",
"diff": "^5.1.0", "diff": "^5.1.0",
"expo": "48.0.11", "expo": "48.0.17",
"expo-auth-session": "^4.0.3", "expo-auth-session": "^4.1.0",
"expo-av": "^13.2.1", "expo-av": "^13.3.0",
"expo-constants": "^14.2.1", "expo-constants": "^14.3.0",
"expo-crypto": "^12.2.2", "expo-crypto": "^12.3.0",
"expo-file-system": "^15.2.2", "expo-file-system": "^15.3.0",
"expo-haptics": "^12.2.1", "expo-haptics": "^12.3.0",
"expo-image": "^1.2.1", "expo-image": "^1.2.3",
"expo-linking": "^4.0.1", "expo-linking": "^4.1.0",
"expo-localization": "^14.1.1", "expo-localization": "^14.2.0",
"expo-notifications": "^0.18.1", "expo-notifications": "^0.18.1",
"expo-screen-capture": "^5.1.1", "expo-screen-capture": "5.1.1",
"expo-screen-orientation": "^5.1.1", "expo-screen-orientation": "^5.2.0",
"expo-secure-store": "^12.1.1", "expo-secure-store": "^12.1.1",
"expo-splash-screen": "^0.18.1", "expo-splash-screen": "^0.18.2",
"expo-store-review": "^6.2.1", "expo-store-review": "^6.3.0",
"expo-video-thumbnails": "^7.2.1", "expo-video-thumbnails": "^7.3.0",
"expo-web-browser": "~12.1.1", "expo-web-browser": "~12.1.1",
"htmlparser2": "^8.0.2", "htmlparser2": "^9.0.0",
"i18next": "^22.4.15", "i18next": "^22.4.15",
"linkify-it": "^4.0.1", "linkify-it": "^4.0.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-i18next": "^12.2.0", "react-i18next": "^12.2.2",
"react-intl": "^6.4.1", "react-intl": "^6.4.2",
"react-native": "^0.71.7", "react-native": "^0.71.8",
"react-native-flash-message": "^0.4.1", "react-native-flash-message": "^0.4.1",
"react-native-gesture-handler": "~2.9.0", "react-native-gesture-handler": "~2.10.0",
"react-native-image-picker": "^5.3.1", "react-native-image-picker": "^5.3.1",
"react-native-ios-context-menu": "^1.15.3", "react-native-ios-context-menu": "^1.15.3",
"react-native-language-detection": "^0.2.2", "react-native-language-detection": "^0.2.2",
"react-native-mmkv": "~2.8.0", "react-native-mmkv": "~2.8.0",
"react-native-pager-view": "^6.2.0", "react-native-pager-view": "^6.2.0",
"react-native-quick-base64": "^2.0.5", "react-native-quick-base64": "^2.0.6",
"react-native-reanimated": "^3.0.2", "react-native-reanimated": "^3.1.0",
"react-native-reanimated-zoom": "^0.3.3", "react-native-reanimated-zoom": "^0.3.3",
"react-native-safe-area-context": "^4.5.1", "react-native-safe-area-context": "^4.5.3",
"react-native-screens": "^3.20.0", "react-native-screens": "^3.20.0",
"react-native-share-menu": "^6.0.0", "react-native-share-menu": "^6.0.0",
"react-native-svg": "^13.9.0", "react-native-svg": "^13.9.0",
"react-native-swipe-list-view": "^3.2.9", "react-native-swipe-list-view": "^3.2.9",
"react-native-tab-view": "^3.5.1", "react-native-tab-view": "^3.5.1",
"rn-placeholder": "^3.0.3", "rn-placeholder": "^3.0.3",
"zeego": "^1.4.2" "zeego": "^1.6.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.21.4", "@babel/core": "^7.21.8",
"@babel/plugin-proposal-optional-chaining": "^7.21.0", "@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@babel/preset-typescript": "^7.21.4", "@babel/preset-typescript": "^7.21.5",
"@expo/config": "^8.0.2", "@expo/config": "^8.0.4",
"@types/diff": "^5.0.3", "@types/diff": "^5.0.3",
"@types/linkify-it": "^3.0.2", "@types/linkify-it": "^3.0.2",
"@types/lodash": "^4.14.194", "@types/lodash": "^4.14.194",
"@types/react": "^18.0.37", "@types/react": "^18.2.6",
"@types/react-dom": "^18.0.11", "@types/react-dom": "^18.2.4",
"@types/react-native-share-menu": "^5.0.2", "@types/react-native-share-menu": "^5.0.2",
"babel-plugin-module-resolver": "^5.0.0", "babel-plugin-module-resolver": "^5.0.0",
"babel-plugin-transform-remove-console": "^6.9.4", "babel-plugin-transform-remove-console": "^6.9.4",
"chalk": "^4.1.2", "chalk": "^4.1.2",
"deprecated-react-native-prop-types": "^4.0.0", "deprecated-react-native-prop-types": "^4.1.0",
"dotenv": "^16.0.3", "dotenv": "^16.0.3",
"react-native-clean-project": "^4.0.1", "react-native-clean-project": "^4.0.1",
"typescript": "^5.0.4" "typescript": "^5.0.4"

View File

@ -52,7 +52,7 @@ const ComponentInstance: React.FC<Props> = ({
!!domain.length && !!domain.length &&
!!errorCode && !!errorCode &&
!!(Linking.parse(`https://${domain}/`).hostname === domain) && !!(Linking.parse(`https://${domain}/`).hostname === domain) &&
errorCode === 401 (errorCode === 401 || errorCode === 500)
const instanceQuery = useInstanceQuery({ const instanceQuery = useInstanceQuery({
domain, domain,
@ -80,7 +80,7 @@ const ComponentInstance: React.FC<Props> = ({
clientSecret, clientSecret,
scopes: variables.scopes, scopes: variables.scopes,
redirectUri, redirectUri,
usePKCE: !['pawoo.net', 'mao.mastodonhub.com'].includes(domain) usePKCE: !['pawoo.net'].includes(domain)
}) })
await request.makeAuthUrlAsync(discovery) await request.makeAuthUrlAsync(discovery)
@ -131,7 +131,8 @@ const ComponentInstance: React.FC<Props> = ({
((instanceQuery.data as Mastodon.Instance_V1)?.uri ((instanceQuery.data as Mastodon.Instance_V1)?.uri
? Linking.parse((instanceQuery.data as Mastodon.Instance_V1).uri).hostname ? Linking.parse((instanceQuery.data as Mastodon.Instance_V1).uri).hostname
: undefined) || : undefined) ||
(instanceQuery.data as Mastodon.Instance_V1)?.uri, (instanceQuery.data as Mastodon.Instance_V1)?.uri ||
domain,
'auth.account.avatar_static': avatar_static, 'auth.account.avatar_static': avatar_static,
version: instanceQuery.data?.version || '0', version: instanceQuery.data?.version || '0',
preferences: undefined, preferences: undefined,

View File

@ -62,12 +62,14 @@ const TimelineNotifications: React.FC<Props> = ({ notification, queryKey }) => {
<View <View
style={{ style={{
opacity: opacity: [
notification.type === 'follow' || 'follow',
notification.type === 'follow_request' || 'follow_request',
notification.type === 'mention' || 'mention',
notification.type === 'status' || 'status',
notification.type === 'admin.sign_up' 'poll',
'admin.sign_up'
].includes(notification.type)
? 1 ? 1
: 0.5 : 0.5
}} }}

View File

@ -10,6 +10,7 @@ import React, { useContext } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import { Pressable, StyleSheet, View } from 'react-native' import { Pressable, StyleSheet, View } from 'react-native'
import StatusContext from './Context' import StatusContext from './Context'
import GracefullyImage from '@components/GracefullyImage'
export interface Props { export interface Props {
action: Mastodon.Notification['type'] | 'reblog' | 'pinned' action: Mastodon.Notification['type'] | 'reblog' | 'pinned'
@ -39,6 +40,25 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
) )
const onPress = () => navigation.push('Tab-Shared-Account', { account }) const onPress = () => navigation.push('Tab-Shared-Account', { account })
const miniAvatar = (
<GracefullyImage
sources={{
default: { uri: account.avatar },
static: { uri: account.avatar_static }
}}
dimension={{
width: StyleConstants.Avatar.XS / 1.5,
height: StyleConstants.Avatar.XS / 1.5
}}
style={{
borderRadius: 99,
overflow: 'hidden',
marginRight: StyleConstants.Spacing.S
}}
dim
withoutTransition
/>
)
const children = () => { const children = () => {
switch (action) { switch (action) {
@ -63,7 +83,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor} color={iconColor}
style={styles.icon} style={styles.icon}
/> />
<Pressable onPress={onPress}> <Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{miniAvatar}
{content(t('shared.actioned.favourite', { name }))} {content(t('shared.actioned.favourite', { name }))}
</Pressable> </Pressable>
</> </>
@ -77,7 +98,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor} color={iconColor}
style={styles.icon} style={styles.icon}
/> />
<Pressable onPress={onPress}> <Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{miniAvatar}
{content(t('shared.actioned.follow', { name }))} {content(t('shared.actioned.follow', { name }))}
</Pressable> </Pressable>
</> </>
@ -91,7 +113,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor} color={iconColor}
style={styles.icon} style={styles.icon}
/> />
<Pressable onPress={onPress}> <Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{miniAvatar}
{content(t('shared.actioned.follow_request', { name }))} {content(t('shared.actioned.follow_request', { name }))}
</Pressable> </Pressable>
</> </>
@ -118,7 +141,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor} color={iconColor}
style={styles.icon} style={styles.icon}
/> />
<Pressable onPress={onPress}> <Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{!myself ? miniAvatar : null}
{content( {content(
isNotification isNotification
? t('shared.actioned.reblog.notification', { name }) ? t('shared.actioned.reblog.notification', { name })
@ -138,7 +162,8 @@ const TimelineActioned: React.FC<Props> = ({ action, isNotification, ...rest })
color={iconColor} color={iconColor}
style={styles.icon} style={styles.icon}
/> />
<Pressable onPress={onPress}> <Pressable onPress={onPress} style={{ flexDirection: 'row', alignItems: 'center' }}>
{miniAvatar}
{content(t('shared.actioned.status', { name }))} {content(t('shared.actioned.status', { name }))}
</Pressable> </Pressable>
</> </>

View File

@ -39,6 +39,7 @@ const TimelineHeaderAndroid: React.FC = () => {
<View <View
style={{ style={{
padding: StyleConstants.Spacing.L, padding: StyleConstants.Spacing.L,
paddingBottom: StyleConstants.Spacing.S,
backgroundColor: colors.backgroundDefault backgroundColor: colors.backgroundDefault
}} }}
> >

View File

@ -11,11 +11,11 @@
}, },
"right": { "right": {
"button": { "button": {
"default": "Допіс", "default": "Апублікаваць",
"conversation": "Асабістае паведамленне", "conversation": "Асабістае паведамленне",
"reply": "Адказаць", "reply": "Адказаць",
"deleteEdit": "Допіс", "deleteEdit": "Апублікаваць",
"edit": "Допіс", "edit": "Апублікаваць",
"share": "Допіс" "share": "Допіс"
}, },
"alert": { "alert": {

View File

@ -153,13 +153,13 @@
"refresh": "Actualitza" "refresh": "Actualitza"
}, },
"count": { "count": {
"voters_one": "{{count}} usuari ha votat", "voters_one": "{{count}} vot",
"voters_other": "{{count}} usuaris han votat", "voters_other": "{{count}} vots",
"votes_one": "{{count}} vot", "votes_one": "{{count}} vot",
"votes_other": "{{count}} vots" "votes_other": "{{count}} vots"
}, },
"expiration": { "expiration": {
"expired": "Votació finalitzada", "expired": "Finalitzada",
"until": "Finalitza <0 />" "until": "Finalitza <0 />"
} }
} }

View File

@ -153,13 +153,13 @@
"refresh": "Actualizar" "refresh": "Actualizar"
}, },
"count": { "count": {
"voters_one": "{{count}} usuario ha votado", "voters_one": "{{count}} voto",
"voters_other": "{{count}} usuarios han votado", "voters_other": "{{count}} votos",
"votes_one": "{{count}} voto", "votes_one": "{{count}} voto",
"votes_other": "{{count}} votos" "votes_other": "{{count}} votos"
}, },
"expiration": { "expiration": {
"expired": "Votación expirada", "expired": "Finalizado",
"until": "Expira <0 />" "until": "Expira <0 />"
} }
} }

View File

@ -17,7 +17,6 @@ import {
Dimensions, Dimensions,
NativeScrollEvent, NativeScrollEvent,
NativeSyntheticEvent, NativeSyntheticEvent,
Platform,
Pressable, Pressable,
StyleSheet, StyleSheet,
View View
@ -198,7 +197,7 @@ const ScreenAnnouncements: React.FC<RootStackScreenProps<'Screen-Announcements'>
) )
} }
return Platform.OS === 'ios' ? ( return (
<BlurView <BlurView
blurType={mode} blurType={mode}
blurAmount={20} blurAmount={20}
@ -244,45 +243,6 @@ const ScreenAnnouncements: React.FC<RootStackScreenProps<'Screen-Announcements'>
</View> </View>
</SafeAreaView> </SafeAreaView>
</BlurView> </BlurView>
) : (
<SafeAreaView style={{ flex: 1, backgroundColor: colors.backgroundDefault }}>
<FlatList
horizontal
data={query.data}
pagingEnabled
renderItem={renderItem}
showsHorizontalScrollIndicator={false}
onMomentumScrollEnd={onMomentumScrollEnd}
ListEmptyComponent={ListEmptyComponent}
/>
<View
style={{
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
minHeight: 49
}}
>
{query.data && query.data.length > 1 ? (
<>
{query.data.map((d, i) => (
<View
key={i}
style={{
width: StyleConstants.Spacing.S,
height: StyleConstants.Spacing.S,
borderRadius: StyleConstants.BorderRadius,
borderWidth: 1,
borderColor: colors.primaryDefault,
backgroundColor: i === index ? colors.primaryDefault : undefined,
marginLeft: i === query.data.length ? 0 : StyleConstants.Spacing.S
}}
/>
))}
</>
) : null}
</View>
</SafeAreaView>
) )
} }

View File

@ -1,7 +1,6 @@
import Button from '@components/Button' import Button from '@components/Button'
import haptics from '@components/haptics' import haptics from '@components/haptics'
import { removeAccount, useGlobalStorage } from '@utils/storage/actions' import { removeAccount, useGlobalStorage } from '@utils/storage/actions'
import { StyleConstants } from '@utils/styles/constants'
import React from 'react' import React from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import { Alert } from 'react-native' import { Alert } from 'react-native'
@ -15,11 +14,6 @@ const Logout: React.FC = () => {
<Button <Button
type='text' type='text'
content={t('screenTabs:me.root.logout.button')} content={t('screenTabs:me.root.logout.button')}
style={{
marginHorizontal: StyleConstants.Spacing.Global.PagePadding * 2,
marginTop: StyleConstants.Spacing.Global.PagePadding,
marginBottom: StyleConstants.Spacing.Global.PagePadding * 2
}}
destructive destructive
onPress={() => onPress={() =>
Alert.alert( Alert.alert(
@ -43,6 +37,7 @@ const Logout: React.FC = () => {
] ]
) )
} }
style={{ flex: 1 }}
/> />
) )
} }

View File

@ -1,6 +1,5 @@
import Button from '@components/Button' import Button from '@components/Button'
import { useNavigation } from '@react-navigation/native' import { useNavigation } from '@react-navigation/native'
import { StyleConstants } from '@utils/styles/constants'
import React from 'react' import React from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
@ -12,11 +11,8 @@ const AccountInformationSwitch: React.FC = () => {
<Button <Button
type='text' type='text'
content={t('me.stacks.switch.name')} content={t('me.stacks.switch.name')}
style={{
marginHorizontal: StyleConstants.Spacing.Global.PagePadding * 2,
marginTop: StyleConstants.Spacing.Global.PagePadding
}}
onPress={() => navigation.navigate('Tab-Me-Switch')} onPress={() => navigation.navigate('Tab-Me-Switch')}
style={{ flex: 1 }}
/> />
) )
} }

View File

@ -9,7 +9,9 @@ import AccountContext from '@screens/Tabs/Shared/Account/Context'
import AccountNav from '@screens/Tabs/Shared/Account/Nav' import AccountNav from '@screens/Tabs/Shared/Account/Nav'
import { useProfileQuery } from '@utils/queryHooks/profile' import { useProfileQuery } from '@utils/queryHooks/profile'
import { useGlobalStorage } from '@utils/storage/actions' import { useGlobalStorage } from '@utils/storage/actions'
import { StyleConstants } from '@utils/styles/constants'
import React, { useRef } from 'react' import React, { useRef } from 'react'
import { View } from 'react-native'
import Animated, { useAnimatedScrollHandler, useSharedValue } from 'react-native-reanimated' import Animated, { useAnimatedScrollHandler, useSharedValue } from 'react-native-reanimated'
const TabMeRoot: React.FC = () => { const TabMeRoot: React.FC = () => {
@ -39,8 +41,20 @@ const TabMeRoot: React.FC = () => {
{accountActive ? <MyInfo /> : <ComponentInstance />} {accountActive ? <MyInfo /> : <ComponentInstance />}
{accountActive ? <Collections /> : null} {accountActive ? <Collections /> : null}
<Settings /> <Settings />
{accountActive ? <AccountInformationSwitch /> : null} {accountActive ? (
{accountActive ? <Logout /> : null} <View
style={{
flexDirection: 'row',
marginHorizontal: StyleConstants.Spacing.Global.PagePadding,
marginTop: StyleConstants.Spacing.S,
marginBottom: StyleConstants.Spacing.XL,
gap: StyleConstants.Spacing.M
}}
>
<Logout />
<AccountInformationSwitch />
</View>
) : null}
</Animated.ScrollView> </Animated.ScrollView>
</AccountContext.Provider> </AccountContext.Provider>
) )

View File

@ -1,12 +1,20 @@
import GracefullyImage from '@components/GracefullyImage' import GracefullyImage from '@components/GracefullyImage'
import haptics from '@components/haptics'
import Icon from '@components/Icon' import Icon from '@components/Icon'
import haptics from '@components/haptics'
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs' import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'
import { ScreenTabsStackParamList } from '@utils/navigation/navigators' import { ScreenTabsStackParamList } from '@utils/navigation/navigators'
import { getGlobalStorage, useAccountStorage, useGlobalStorage } from '@utils/storage/actions' import {
getGlobalStorage,
getReadableAccounts,
setAccount,
useAccountStorage,
useGlobalStorage
} from '@utils/storage/actions'
import { useTheme } from '@utils/styles/ThemeManager' import { useTheme } from '@utils/styles/ThemeManager'
import { StyleConstants } from '@utils/styles/constants'
import React from 'react' import React from 'react'
import { Platform, View } from 'react-native' import { Platform, View } from 'react-native'
import * as ContextMenu from 'zeego/context-menu'
import TabLocal from './Local' import TabLocal from './Local'
import TabMe from './Me' import TabMe from './Me'
import TabNotifications from './Notifications' import TabNotifications from './Notifications'
@ -50,7 +58,13 @@ const ScreenTabs = () => {
return <Icon name='bell' size={size} color={color} /> return <Icon name='bell' size={size} color={color} />
case 'Tab-Me': case 'Tab-Me':
return ( return (
<View key={avatarStatic} style={{ flexDirection: 'row', alignItems: 'center' }}> <>
<ContextMenu.Root onOpenChange={() => haptics('Light')}>
<ContextMenu.Trigger>
<View
key={avatarStatic}
style={{ flexDirection: 'row', alignItems: 'center' }}
>
<GracefullyImage <GracefullyImage
sources={{ default: { uri: avatarStatic } }} sources={{ default: { uri: avatarStatic } }}
dimension={{ width: size, height: size }} dimension={{ width: size, height: size }}
@ -63,6 +77,51 @@ const ScreenTabs = () => {
/> />
<Icon name='more-vertical' size={size / 1.5} color={colors.secondary} /> <Icon name='more-vertical' size={size / 1.5} color={colors.secondary} />
</View> </View>
</ContextMenu.Trigger>
<ContextMenu.Content>
<ContextMenu.Preview preferredCommitStyle='pop'>
{() => (
<View
key={avatarStatic}
style={{
flexDirection: 'row',
alignItems: 'center',
padding: StyleConstants.Spacing.M
}}
>
<GracefullyImage
sources={{ default: { uri: avatarStatic } }}
dimension={{ width: size, height: size }}
style={{
borderRadius: 99,
overflow: 'hidden',
borderWidth: 2,
borderColor: colors.primaryDefault
}}
/>
</View>
)}
</ContextMenu.Preview>
{getReadableAccounts().map(account => (
<ContextMenu.CheckboxItem
key={account.key}
value={account.active ? 'on' : 'off'}
disabled={account.active}
onValueChange={async () => {
if (!account.active) {
await setAccount(account.key)
haptics('Light')
}
}}
>
<ContextMenu.ItemTitle children={account.acct} />
</ContextMenu.CheckboxItem>
))}
</ContextMenu.Content>
</ContextMenu.Root>
</>
) )
default: default:
return <Icon name='alert-octagon' size={size} color={color} /> return <Icon name='alert-octagon' size={size} color={color} />
@ -88,13 +147,13 @@ const ScreenTabs = () => {
<Tab.Screen <Tab.Screen
name='Tab-Me' name='Tab-Me'
component={TabMe} component={TabMe}
listeners={({ navigation }) => ({ // listeners={({ navigation }) => ({
tabLongPress: () => { // tabLongPress: () => {
haptics('Light') // haptics('Light')
navigation.navigate('Tab-Me', { screen: 'Tab-Me-Root' }) // navigation.navigate('Tab-Me', { screen: 'Tab-Me-Root' })
navigation.navigate('Tab-Me', { screen: 'Tab-Me-Switch' }) // navigation.navigate('Tab-Me', { screen: 'Tab-Me-Switch' })
} // }
})} // })}
/> />
</Tab.Navigator> </Tab.Navigator>
) )

View File

@ -19,12 +19,11 @@ import { useInstanceQuery } from '@utils/queryHooks/instance'
import { usePreferencesQuery } from '@utils/queryHooks/preferences' import { usePreferencesQuery } from '@utils/queryHooks/preferences'
import { useProfileQuery } from '@utils/queryHooks/profile' import { useProfileQuery } from '@utils/queryHooks/profile'
import { useFollowedTagsQuery } from '@utils/queryHooks/tags' import { useFollowedTagsQuery } from '@utils/queryHooks/tags'
import { setAccount, setGlobalStorage, useGlobalStorage } from '@utils/storage/actions' import { setGlobalStorage, useGlobalStorage } from '@utils/storage/actions'
import { useTheme } from '@utils/styles/ThemeManager' import { useTheme } from '@utils/styles/ThemeManager'
import { themes } from '@utils/styles/themes' import { themes } from '@utils/styles/themes'
import * as Linking from 'expo-linking'
import { addScreenshotListener } from 'expo-screen-capture' import { addScreenshotListener } from 'expo-screen-capture'
import React, { useEffect, useState } from 'react' import React, { useEffect } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import { IntlProvider } from 'react-intl' import { IntlProvider } from 'react-intl'
import { Alert, Platform, StatusBar } from 'react-native' import { Alert, Platform, StatusBar } from 'react-native'

View File

@ -34,5 +34,7 @@ const features: { feature: Features; version: number }[] = [
] ]
export const featureCheck = (feature: Features, v?: string): boolean => export const featureCheck = (feature: Features, v?: string): boolean =>
(features.find(f => f.feature === feature)?.version || 999) <= v
? (features.find(f => f.feature === feature)?.version || 999) <=
parseFloat(v || getAccountStorage.string('version')) parseFloat(v || getAccountStorage.string('version'))
: false

View File

@ -248,7 +248,6 @@ export const setAccount = async (account: string) => {
storage.account = temp storage.account = temp
setGlobalStorage('account.active', account) setGlobalStorage('account.active', account)
await queryClient.resetQueries() await queryClient.resetQueries()
queryClient.clear()
await apiGeneral<Mastodon.Account>({ await apiGeneral<Mastodon.Account>({
method: 'get', method: 'get',

2578
yarn.lock

File diff suppressed because it is too large Load Diff