From e592a81ff5582a9f73cb979a0ac9dd339ac877e6 Mon Sep 17 00:00:00 2001
From: lovegaoshi <106490582+lovegaoshi@users.noreply.github.com>
Date: Fri, 2 Feb 2024 13:00:15 -0800
Subject: [PATCH 1/3] fix: fade out

---
 src/components/player/controls/usePlayerControls.ts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/components/player/controls/usePlayerControls.ts b/src/components/player/controls/usePlayerControls.ts
index 4bb5fe947..631b1d47b 100644
--- a/src/components/player/controls/usePlayerControls.ts
+++ b/src/components/player/controls/usePlayerControls.ts
@@ -46,6 +46,7 @@ export default () => {
   useTrackPlayerEvents([Event.PlaybackProgressUpdated], event => {
     saveLastPlayDuration(event.position);
     if (
+      fadeIntervalSec > 0 &&
       event.duration > 0 &&
       event.position >
         Math.min(bRepeatDuration, event.duration) - fadeIntervalSec

From 7e5d0939b5dcda5c58dcbcc36080033c6511dcaf Mon Sep 17 00:00:00 2001
From: lovegaoshi <106490582+lovegaoshi@users.noreply.github.com>
Date: Fri, 2 Feb 2024 22:55:34 -0800
Subject: [PATCH 2/3] chore: dep upgrade

---
 package.json |  2 +-
 yarn.lock    | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/package.json b/package.json
index d8ebf071f..e8a709a25 100644
--- a/package.json
+++ b/package.json
@@ -123,7 +123,7 @@
     "@types/jest": "^29.5.12",
     "@types/md5": "^2.3.5",
     "@types/node": "^20.11.16",
-    "@types/react": "^18.2.51",
+    "@types/react": "^18.2.52",
     "@types/react-native": "^0.73.0",
     "@types/react-native-background-timer": "^2.0.2",
     "@types/react-native-share-menu": "^5.0.5",
diff --git a/yarn.lock b/yarn.lock
index bbd5f28a5..a5dd25e31 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3999,10 +3999,10 @@
     "@types/scheduler" "*"
     csstype "^3.0.2"
 
-"@types/react@^18.2.51":
-  version "18.2.51"
-  resolved "https://registry.npmjs.org/@types/react/-/react-18.2.51.tgz#01ede6dfc712796257a3443bf8d613149e5c322a"
-  integrity sha512-XeoMaU4CzyjdRr3c4IQQtiH7Rpo18V07rYZUucEZQwOUEtGgTXv7e6igQiQ+xnV6MbMe1qjEmKdgMNnfppnXfg==
+"@types/react@^18.2.52":
+  version "18.2.52"
+  resolved "https://registry.npmjs.org/@types/react/-/react-18.2.52.tgz#83ca0c62bd1ff31464dac4cf1937e55c78f77aa2"
+  integrity sha512-E/YjWh3tH+qsLKaUzgpZb5AY0ChVa+ZJzF7ogehVILrFpdQk6nC/WXOv0bfFEABbXbgNxLBGU7IIZByPKb6eBw==
   dependencies:
     "@types/prop-types" "*"
     "@types/scheduler" "*"
@@ -11845,7 +11845,7 @@ react-native-tab-view@^3.5.1:
 
 "react-native-track-player@git+https://lovegaoshi@github.com/lovegaoshi/react-native-track-player.git#APM":
   version "4.0.1"
-  resolved "git+https://lovegaoshi@github.com/lovegaoshi/react-native-track-player.git#db916b1645cc96e7d90a6ebd67a4446bd81f8003"
+  resolved "git+https://lovegaoshi@github.com/lovegaoshi/react-native-track-player.git#740e01e7f4260555c547ce8bb1f83d4efc641131"
 
 react-native-url-polyfill@^2.0.0:
   version "2.0.0"

From 55dd935c349b32e1c4d68d881f5b05d9e23307c7 Mon Sep 17 00:00:00 2001
From: lovegaoshi <106490582+lovegaoshi@users.noreply.github.com>
Date: Mon, 5 Feb 2024 10:48:01 -0800
Subject: [PATCH 3/3] chore: res migration

---
 package.json                                  |  12 +-
 src/assets/icons/heart-outline.png            | Bin 449 -> 0 bytes
 src/assets/icons/heart.png                    | Bin 336 -> 0 bytes
 src/assets/icons/repeatModeRepeat.png         | Bin 280 -> 0 bytes
 src/assets/icons/repeatModeRepeatTrack.png    | Bin 317 -> 0 bytes
 src/assets/icons/repeatModeShuffle.png        | Bin 444 -> 0 bytes
 src/assets/icons/repeatModeSuggest.png        | Bin 27262 -> 0 bytes
 .../player/TrackInfo/FavoriteButton.tsx       |   4 +-
 src/stores/playingList.ts                     |  10 +-
 yarn.lock                                     | 138 +++++++++---------
 10 files changed, 81 insertions(+), 83 deletions(-)
 delete mode 100644 src/assets/icons/heart-outline.png
 delete mode 100644 src/assets/icons/heart.png
 delete mode 100644 src/assets/icons/repeatModeRepeat.png
 delete mode 100644 src/assets/icons/repeatModeRepeatTrack.png
 delete mode 100644 src/assets/icons/repeatModeShuffle.png
 delete mode 100644 src/assets/icons/repeatModeSuggest.png

diff --git a/package.json b/package.json
index e8a709a25..eafec4818 100644
--- a/package.json
+++ b/package.json
@@ -72,7 +72,7 @@
     "postinstall-postinstall": "^2.1.0",
     "qs": "^6.11.2",
     "react": "18.2.0",
-    "react-i18next": "^14.0.1",
+    "react-i18next": "^14.0.3",
     "react-native": "0.73.3",
     "react-native-app-auth": "^7.0.0",
     "react-native-background-timer": "git+https://github.com/lovegaoshi/react-native-background-timer.git",
@@ -80,7 +80,7 @@
     "react-native-blob-util": "^0.19.6",
     "react-native-code-push": "^8.1.1",
     "react-native-draggable-flatlist": "^4.0.1",
-    "react-native-gesture-handler": "^2.14.1",
+    "react-native-gesture-handler": "^2.15.0",
     "react-native-get-random-values": "^1.10.0",
     "react-native-lyric": "git+https://github.com/lovegaoshi/react-native-lyric.git",
     "react-native-pager-view": "^6.2.3",
@@ -123,15 +123,15 @@
     "@types/jest": "^29.5.12",
     "@types/md5": "^2.3.5",
     "@types/node": "^20.11.16",
-    "@types/react": "^18.2.52",
+    "@types/react": "^18.2.53",
     "@types/react-native": "^0.73.0",
     "@types/react-native-background-timer": "^2.0.2",
     "@types/react-native-share-menu": "^5.0.5",
     "@types/react-native-video": "^5.0.19",
     "@types/react-test-renderer": "^18.0.6",
     "@types/uuid": "^9.0.8",
-    "@typescript-eslint/eslint-plugin": "^6.20.0",
-    "@typescript-eslint/parser": "^6.20.0",
+    "@typescript-eslint/eslint-plugin": "^6.21.0",
+    "@typescript-eslint/parser": "^6.21.0",
     "@welldone-software/why-did-you-render": "^8.0.1",
     "argparse": "^2.0.1",
     "babel-jest": "^29.6.4",
@@ -148,7 +148,7 @@
     "gts": "^5.2.0",
     "jest": "^29.2.1",
     "metro-react-native-babel-preset": "0.77.0",
-    "prettier": "^3.2.4",
+    "prettier": "^3.2.5",
     "react-native-clean-project": "^4.0.1",
     "react-native-dotenv": "^3.4.8",
     "react-test-renderer": "18.2.0",
diff --git a/src/assets/icons/heart-outline.png b/src/assets/icons/heart-outline.png
deleted file mode 100644
index 86c21d944dfb2dc9c18ea6b7b25f96bacab87e20..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 449
zcmV;y0Y3hTP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00006VoOIv0RI60
z0RN!9r;`8x0d`45K~zYI?UcVSLs1mRKl;PaScFBS20<7)w2O$4h?&X6%6}pL4T&F#
z1(BLf1`#n^YzA!&L?qHut-&+g?@M3n-M+p)8{g#QzI)F1e9yV}-Fx95U0@v810H}n
zP|$qR!<mw=C{9W9u^{nf;2m&$tPZRL8^EW9^9C&0#3z8Nh<P9fq<{>tFaMX!QO6l^
za>{Ykpzlgtk-VjWEl;PL7LHqF*DqL7Fl$Lp04uVDg_D&=(Jxq2Fl9;Z1Sx6MTu00k
zeAbwbP+&yklV5=gjjIs~thH!0VGgsrGBDhQcp9ikW7bAG72y&{h7eBzSIRwUM;yf5
zU<Wt^;vI;`fg|OVfPtWd4Dh0a1DgL+D|&z(abK|?@gJC>v7g(PA~BD68JO-=+{GgB
zL1VkT|D+c<R;&svgcWx&k6F3{oCAHB%XB7RMU6y44s&rF%t^V{_ah<pJP4z}9gWBC
r9`pMCDu#d?;Ff65Nn7;G{t&(a1v_a9ihHh800000NkvXXu0mjflGee$

diff --git a/src/assets/icons/heart.png b/src/assets/icons/heart.png
deleted file mode 100644
index e96ce1438f17492b4c3c0fd0de2bce3b34cd6a2c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 336
zcmV-W0k8gvP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00006VoOIv0RI60
z0RN!9r;`8x0R>4!K~zYI?bN+41W_2q@gEJX&?q#5kWi=;J`z!L6<ifAK;j;_1dUF?
z4ha#7WbHBv6njoG#eD3n)A1xvGUv^E{?B>OWQKo@phcYE9y#v9db!ZE5^9~$lZEv{
z6Z`-@e3v-KA&&4_(esA=D)<um6&s_!g6n#ERg;`HY;5D>vVbgMKqo@S3IQLOD80P)
z$}tJ!h2nD}I6TFNV!&m>fQz!?wsh}cvnu&K0sO3Pv>AghcvN_X>AC<|!^;TpSFAU|
zqc+fO0q<dJSa{SP-iLtqvD+3NwPP@P6}%e`@++<4p#=V@#ho{49ybN}t-;?nsb+D7
iYs{sFM@<F)A^iY31j7ig+8s~;0000<MNUMnLSTXsM3FrJ

diff --git a/src/assets/icons/repeatModeRepeat.png b/src/assets/icons/repeatModeRepeat.png
deleted file mode 100644
index 8cdbbc2d300bf28ed1344248f2b5580b646d328a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 280
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?3oVGw3ym^DWND0s@#
z#W5tK@$IyOe1{BpoO$El+3U0K$XV5}wJ^$g-j&-@&vT=q7HD+EK6u5JmT53O1BNWP
zTfDz88HLR_qSd%v=(~nB`?l)eo0%>y`G4f%iQ^f|7+AkvX3<zt%Mrj85b#}Kfyjds
z%Wk)(pZATwsr`68-=;-BT(`|o(QjKe=dXyAXhMqcO##d8ft(_2Cs;N3CU6DFE?9Hk
zuTYw?j4NID^|SqA8|+WmIp+LhO;cH;aE6uPuj4ePL_LNVdc`XXN|{{)Z7LZOG<E;k
TuAiy^^c91rtDnm{r-UW|ea2<t

diff --git a/src/assets/icons/repeatModeRepeatTrack.png b/src/assets/icons/repeatModeRepeatTrack.png
deleted file mode 100644
index d7b32d625e3b6c197e0699d350c47e53d8d30442..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 317
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?3oVGw3ym^DWNDEQvf
z#W5tK@$EE6zQYPUEZalnr!9Yb`Im9kidB<3wy51;^OozB-dOIy*r4JW*0`CuCrBV>
zk-`oa$AZqL2SV<QrJZ5S{R`C$y&o(;5_?*Y>GaxvD;mt+*>5y^c6`Nh2Hsb@IWH{u
zwyrTGf%(Im8TnHGE;}e~NR*G!I-tEUPqw&U@!URJ?%S8WeSUPGNeR_@b@zm9#zdyg
zm1p<@6m6fDwcKx9&2)w5A+KUR_t!f|uI1}8-2WhVKC?9A&Vi7IYrHzIHwW7EFi5xV
zb$jt4squsOP5X|c<q0lIA}$4t2mUD)H*)APe6f8tt#vcAisz?itSKj~{y%@F>Iw8Z
NgQu&X%Q~loCIDrPf1CgS

diff --git a/src/assets/icons/repeatModeShuffle.png b/src/assets/icons/repeatModeShuffle.png
deleted file mode 100644
index c91816666a263d1e9da38d497acecc16fe922b1f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 444
zcmV;t0Ym<YP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00009a7bBm000XU
z000XU0RWnu7ytkPZb?KzRA_<im`zT@Fc3!HqN?B+&>NNX|1!Q!7aR#8K-_|spG9LS
zO2?@akDV6Hld`d$$@}C*>;c0t48yq01lR+WQauO!Mn1_*faki{0a$1hB|bzl`&PjN
zu+%6_T!>^UPSRtAP(ccDL?^@!_#txu2!~iD)ZEoIvhRQ=6k<J~mLxCjggT)Rn;tc`
zoXa2UaYyC=kQSm#-s8v|0Ky@*9q+`*dmNbqfE?ltxD(cHkmb8}%_+JDX@>X!9)&eS
z<cm@PFTjH^clGj~sW5gk@)B!g`62&|;+XtctdQkX&P&DUBY$7eD~dkyGvJ-mVeTqe
zBFjs6g&FYKSTlNvKJruGRan~<!YR6*A<195YR-W#;zBqw9_E$|zbDUyciSOcV@{nE
zc~4ge*BVzPBtN8A^d!{EdZk<lA53j@Ng=WX$RY2kfNwGe2+5b~lO`jz7E3mHlW8}1
mOLwSMxasz~VHk$-fB6F^W@CUr49QUd0000<MNUMnLSTY`Ww{Li

diff --git a/src/assets/icons/repeatModeSuggest.png b/src/assets/icons/repeatModeSuggest.png
deleted file mode 100644
index c74aaffecc23d46fcbd7c61ca823c4637832c4bf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 27262
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

diff --git a/src/components/player/TrackInfo/FavoriteButton.tsx b/src/components/player/TrackInfo/FavoriteButton.tsx
index bf847508a..b79c8a625 100644
--- a/src/components/player/TrackInfo/FavoriteButton.tsx
+++ b/src/components/player/TrackInfo/FavoriteButton.tsx
@@ -38,9 +38,7 @@ export default ({ track }: NoxComponent.TrackProps) => {
     if (Platform.OS === 'android') {
       const newRNTPOptions = {
         ...getAppStoreState().RNTPOptions,
-        forwardIcon: heart
-          ? require('@assets/icons/heart.png')
-          : require('@assets/icons/heart-outline.png'),
+        forwardIcon: heart ? 1 : 0,
       };
       TrackPlayer.updateOptions(newRNTPOptions);
       setRNTPOptions(newRNTPOptions);
diff --git a/src/stores/playingList.ts b/src/stores/playingList.ts
index f7a619cf4..7adbe9c50 100644
--- a/src/stores/playingList.ts
+++ b/src/stores/playingList.ts
@@ -88,7 +88,7 @@ export const getNextSong = (song: NoxMedia.Song) => {
 export const getPlaybackModeNotifIcon = (
   state?: string
 ): [number, RepeatMode] => {
-  let nextIcon = require('@assets/icons/repeatModeRepeat.png');
+  let nextIcon = 2;
   if (!state) {
     state = playlistStore.getState().playmode;
   }
@@ -100,17 +100,17 @@ export const getPlaybackModeNotifIcon = (
   let TPRepeatMode = RepeatMode.Off;
   switch (state) {
     case NoxRepeatMode.REPEAT:
-      nextIcon = require('@assets/icons/repeatModeRepeat.png');
+      nextIcon = 2;
       break;
     case NoxRepeatMode.REPEAT_TRACK:
-      nextIcon = require('@assets/icons/repeatModeRepeatTrack.png');
+      nextIcon = 3;
       TPRepeatMode = RepeatMode.Track;
       break;
     case NoxRepeatMode.SUGGEST:
-      nextIcon = require('@assets/icons/repeatModeSuggest.png');
+      nextIcon = 5;
       break;
     case NoxRepeatMode.SHUFFLE:
-      nextIcon = require('@assets/icons/repeatModeShuffle.png');
+      nextIcon = 4;
       break;
     default:
       break;
diff --git a/yarn.lock b/yarn.lock
index a5dd25e31..232ca561b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1416,7 +1416,7 @@
   resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
   integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
 
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.1", "@babel/runtime@^7.22.5", "@babel/runtime@^7.23.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.1", "@babel/runtime@^7.23.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4":
   version "7.23.7"
   resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz#dd7c88deeb218a0f8bd34d5db1aa242e0f203193"
   integrity sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==
@@ -3999,10 +3999,10 @@
     "@types/scheduler" "*"
     csstype "^3.0.2"
 
-"@types/react@^18.2.52":
-  version "18.2.52"
-  resolved "https://registry.npmjs.org/@types/react/-/react-18.2.52.tgz#83ca0c62bd1ff31464dac4cf1937e55c78f77aa2"
-  integrity sha512-E/YjWh3tH+qsLKaUzgpZb5AY0ChVa+ZJzF7ogehVILrFpdQk6nC/WXOv0bfFEABbXbgNxLBGU7IIZByPKb6eBw==
+"@types/react@^18.2.53":
+  version "18.2.53"
+  resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.53.tgz#09c21b4621aaad5fed6a5045b33a7430749d8dc5"
+  integrity sha512-52IHsMDT8qATp9B9zoOyobW8W3/0QhaJQTw1HwRj0UY2yBpCAQ7+S/CqHYQ8niAm3p4ji+rWUQ9UCib0GxQ60w==
   dependencies:
     "@types/prop-types" "*"
     "@types/scheduler" "*"
@@ -4068,16 +4068,16 @@
     semver "^7.3.7"
     tsutils "^3.21.0"
 
-"@typescript-eslint/eslint-plugin@^6.20.0":
-  version "6.20.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz#9cf31546d2d5e884602626d89b0e0d2168ac25ed"
-  integrity sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==
+"@typescript-eslint/eslint-plugin@^6.21.0":
+  version "6.21.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3"
+  integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==
   dependencies:
     "@eslint-community/regexpp" "^4.5.1"
-    "@typescript-eslint/scope-manager" "6.20.0"
-    "@typescript-eslint/type-utils" "6.20.0"
-    "@typescript-eslint/utils" "6.20.0"
-    "@typescript-eslint/visitor-keys" "6.20.0"
+    "@typescript-eslint/scope-manager" "6.21.0"
+    "@typescript-eslint/type-utils" "6.21.0"
+    "@typescript-eslint/utils" "6.21.0"
+    "@typescript-eslint/visitor-keys" "6.21.0"
     debug "^4.3.4"
     graphemer "^1.4.0"
     ignore "^5.2.4"
@@ -4095,15 +4095,15 @@
     "@typescript-eslint/typescript-estree" "5.62.0"
     debug "^4.3.4"
 
-"@typescript-eslint/parser@^6.20.0":
-  version "6.20.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz#17e314177304bdf498527e3c4b112e41287b7416"
-  integrity sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==
+"@typescript-eslint/parser@^6.21.0":
+  version "6.21.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b"
+  integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==
   dependencies:
-    "@typescript-eslint/scope-manager" "6.20.0"
-    "@typescript-eslint/types" "6.20.0"
-    "@typescript-eslint/typescript-estree" "6.20.0"
-    "@typescript-eslint/visitor-keys" "6.20.0"
+    "@typescript-eslint/scope-manager" "6.21.0"
+    "@typescript-eslint/types" "6.21.0"
+    "@typescript-eslint/typescript-estree" "6.21.0"
+    "@typescript-eslint/visitor-keys" "6.21.0"
     debug "^4.3.4"
 
 "@typescript-eslint/scope-manager@5.62.0":
@@ -4114,13 +4114,13 @@
     "@typescript-eslint/types" "5.62.0"
     "@typescript-eslint/visitor-keys" "5.62.0"
 
-"@typescript-eslint/scope-manager@6.20.0":
-  version "6.20.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz#8a926e60f6c47feb5bab878246dc2ae465730151"
-  integrity sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==
+"@typescript-eslint/scope-manager@6.21.0":
+  version "6.21.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1"
+  integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==
   dependencies:
-    "@typescript-eslint/types" "6.20.0"
-    "@typescript-eslint/visitor-keys" "6.20.0"
+    "@typescript-eslint/types" "6.21.0"
+    "@typescript-eslint/visitor-keys" "6.21.0"
 
 "@typescript-eslint/type-utils@5.62.0":
   version "5.62.0"
@@ -4132,13 +4132,13 @@
     debug "^4.3.4"
     tsutils "^3.21.0"
 
-"@typescript-eslint/type-utils@6.20.0":
-  version "6.20.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz#d395475cd0f3610dd80c7d8716fa0db767da3831"
-  integrity sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==
+"@typescript-eslint/type-utils@6.21.0":
+  version "6.21.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e"
+  integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==
   dependencies:
-    "@typescript-eslint/typescript-estree" "6.20.0"
-    "@typescript-eslint/utils" "6.20.0"
+    "@typescript-eslint/typescript-estree" "6.21.0"
+    "@typescript-eslint/utils" "6.21.0"
     debug "^4.3.4"
     ts-api-utils "^1.0.1"
 
@@ -4147,10 +4147,10 @@
   resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
   integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
 
-"@typescript-eslint/types@6.20.0":
-  version "6.20.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz#5ccd74c29011ae7714ae6973e4ec0c634708b448"
-  integrity sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==
+"@typescript-eslint/types@6.21.0":
+  version "6.21.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d"
+  integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==
 
 "@typescript-eslint/typescript-estree@5.62.0":
   version "5.62.0"
@@ -4165,13 +4165,13 @@
     semver "^7.3.7"
     tsutils "^3.21.0"
 
-"@typescript-eslint/typescript-estree@6.20.0":
-  version "6.20.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz#5b2d0975949e6bdd8d45ee1471461ef5fadc5542"
-  integrity sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==
+"@typescript-eslint/typescript-estree@6.21.0":
+  version "6.21.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46"
+  integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==
   dependencies:
-    "@typescript-eslint/types" "6.20.0"
-    "@typescript-eslint/visitor-keys" "6.20.0"
+    "@typescript-eslint/types" "6.21.0"
+    "@typescript-eslint/visitor-keys" "6.21.0"
     debug "^4.3.4"
     globby "^11.1.0"
     is-glob "^4.0.3"
@@ -4193,17 +4193,17 @@
     eslint-scope "^5.1.1"
     semver "^7.3.7"
 
-"@typescript-eslint/utils@6.20.0":
-  version "6.20.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.20.0.tgz#0e52afcfaa51af5656490ba4b7437cc3aa28633d"
-  integrity sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==
+"@typescript-eslint/utils@6.21.0":
+  version "6.21.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134"
+  integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==
   dependencies:
     "@eslint-community/eslint-utils" "^4.4.0"
     "@types/json-schema" "^7.0.12"
     "@types/semver" "^7.5.0"
-    "@typescript-eslint/scope-manager" "6.20.0"
-    "@typescript-eslint/types" "6.20.0"
-    "@typescript-eslint/typescript-estree" "6.20.0"
+    "@typescript-eslint/scope-manager" "6.21.0"
+    "@typescript-eslint/types" "6.21.0"
+    "@typescript-eslint/typescript-estree" "6.21.0"
     semver "^7.5.4"
 
 "@typescript-eslint/visitor-keys@5.62.0":
@@ -4214,12 +4214,12 @@
     "@typescript-eslint/types" "5.62.0"
     eslint-visitor-keys "^3.3.0"
 
-"@typescript-eslint/visitor-keys@6.20.0":
-  version "6.20.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz#f7ada27f2803de89df0edd9fd7be22c05ce6a498"
-  integrity sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==
+"@typescript-eslint/visitor-keys@6.21.0":
+  version "6.21.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47"
+  integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==
   dependencies:
-    "@typescript-eslint/types" "6.20.0"
+    "@typescript-eslint/types" "6.21.0"
     eslint-visitor-keys "^3.4.1"
 
 "@ungap/structured-clone@^1.2.0":
@@ -11400,10 +11400,10 @@ prettier@^2.7.1:
   resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
   integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
 
-prettier@^3.2.4:
-  version "3.2.4"
-  resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.4.tgz#4723cadeac2ce7c9227de758e5ff9b14e075f283"
-  integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==
+prettier@^3.2.5:
+  version "3.2.5"
+  resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368"
+  integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==
 
 pretty-bytes@5.6.0:
   version "5.6.0"
@@ -11627,12 +11627,12 @@ react-freeze@^1.0.0:
   resolved "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz#5e3ca90e682fed1d73a7cb50c2c7402b3e85618d"
   integrity sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==
 
-react-i18next@^14.0.1:
-  version "14.0.1"
-  resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-14.0.1.tgz#75351b25be076ad7391360b5a111b59ca87e0b63"
-  integrity sha512-TMV8hFismBmpMdIehoFHin/okfvgjFhp723RYgIqB4XyhDobVMyukyM3Z8wtTRmajyFMZrBl/OaaXF2P6WjUAw==
+react-i18next@^14.0.3:
+  version "14.0.3"
+  resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-14.0.3.tgz#831b07d0f633a3db316ad0f85be7cb578bb4d2b3"
+  integrity sha512-Zav2EEnrQNmCawnzj0l7xitj7jipC7kBNG3o6Cl75NwGndvdp/wu3LSVwJpyAc3eSWMwRFYZ5uNi43CtFUDf/g==
   dependencies:
-    "@babel/runtime" "^7.22.5"
+    "@babel/runtime" "^7.23.9"
     html-parse-stringify "^3.0.1"
 
 "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0:
@@ -11728,10 +11728,10 @@ react-native-flipper@^0.164.0:
   resolved "https://registry.yarnpkg.com/react-native-flipper/-/react-native-flipper-0.164.0.tgz#64f6269a86a13a72e30f53ba9f5281d2073a7697"
   integrity sha512-iJhIe3rqx6okuzBp4AJsTa2b8VRAOGzoLRFx/4HGbaGvu8AurZjz8TTQkhJsRma8dsHN2b6KKZPvGGW3wdWzvA==
 
-react-native-gesture-handler@^2.14.1:
-  version "2.14.1"
-  resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.14.1.tgz#930640231024b7921435ab476aa501dd4a6b2e01"
-  integrity sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA==
+react-native-gesture-handler@^2.15.0:
+  version "2.15.0"
+  resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.15.0.tgz#f8e6c0451a7bdf065edb7b9be605480db402baa0"
+  integrity sha512-cmMGW8k86o/xgVTBZZOPohvR5re4Vh65PUxH4HbBBJAYTog4aN4wTVTUlnoky01HuSN8/X4h3tI/K3XLPoDnsg==
   dependencies:
     "@egjs/hammerjs" "^2.0.17"
     hoist-non-react-statics "^3.3.0"
@@ -11845,7 +11845,7 @@ react-native-tab-view@^3.5.1:
 
 "react-native-track-player@git+https://lovegaoshi@github.com/lovegaoshi/react-native-track-player.git#APM":
   version "4.0.1"
-  resolved "git+https://lovegaoshi@github.com/lovegaoshi/react-native-track-player.git#740e01e7f4260555c547ce8bb1f83d4efc641131"
+  resolved "git+https://lovegaoshi@github.com/lovegaoshi/react-native-track-player.git#bb8d846436b17805933a5ddd4a74392561536323"
 
 react-native-url-polyfill@^2.0.0:
   version "2.0.0"