diff --git a/package.json b/package.json index d694d26c31..8658247bb5 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,6 @@ "@mattermost/react-native-paste-input": "^0.6.4", "@miblanchard/react-native-slider": "^2.3.1", "@react-native-async-storage/async-storage": "1.21.0", - "@react-native-camera-roll/camera-roll": "^5.2.2", "@react-native-clipboard/clipboard": "^1.10.0", "@react-native-community/blur": "^4.3.0", "@react-native-community/datetimepicker": "7.6.1", @@ -110,6 +109,7 @@ "expo-image": "~1.10.3", "expo-image-manipulator": "^11.8.0", "expo-image-picker": "~14.7.1", + "expo-linear-gradient": "^12.7.2", "expo-linking": "^6.2.2", "expo-localization": "~14.8.2", "expo-media-library": "~15.9.1", @@ -135,21 +135,17 @@ "lodash.samplesize": "^4.2.0", "lodash.set": "^4.3.2", "lodash.shuffle": "^4.2.0", - "lru_map": "^0.4.1", "mobx": "^6.6.1", "mobx-react-lite": "^3.4.0", "mobx-utils": "^6.0.6", "nanoid": "^5.0.5", - "normalize-url": "^8.0.0", "patch-package": "^6.5.1", "postinstall-postinstall": "^2.1.0", "psl": "^1.9.0", "react": "18.2.0", "react-avatar-editor": "^13.0.0", - "react-circular-progressbar": "^2.1.0", "react-dom": "^18.2.0", "react-native": "0.73.2", - "react-native-appstate-hook": "^1.0.6", "react-native-drawer-layout": "^4.0.0-alpha.3", "react-native-fs": "^2.20.0", "react-native-gesture-handler": "~2.14.0", @@ -157,7 +153,6 @@ "react-native-haptic-feedback": "^1.14.0", "react-native-image-crop-picker": "^0.38.1", "react-native-ios-context-menu": "^1.15.3", - "react-native-linear-gradient": "^2.6.2", "react-native-pager-view": "6.2.3", "react-native-picker-select": "^8.1.0", "react-native-progress": "bluesky-social/react-native-progress", @@ -171,7 +166,6 @@ "react-native-uuid": "^2.0.1", "react-native-version-number": "^0.3.6", "react-native-web": "~0.19.6", - "react-native-web-linear-gradient": "^1.1.2", "react-native-web-webview": "^1.0.2", "react-native-webview": "13.6.4", "react-responsive": "^9.0.2", @@ -179,7 +173,6 @@ "sentry-expo": "~7.0.1", "tippy.js": "^6.3.7", "tlds": "^1.234.0", - "use-deep-compare": "^1.1.0", "zeego": "^1.6.2", "zod": "^3.20.2" }, diff --git a/src/components/Button.tsx b/src/components/Button.tsx index 5361be963a..a6d0ee1dc2 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -11,7 +11,7 @@ import { StyleSheet, StyleProp, } from 'react-native' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {useTheme, atoms as a, tokens, android, flatten} from '#/alf' import {Props as SVGIconProps} from '#/components/icons/common' diff --git a/src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx b/src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx index dec53d2edb..e754f10c5d 100644 --- a/src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx +++ b/src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx @@ -1,6 +1,6 @@ import React from 'react' import {View} from 'react-native' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {Image} from 'expo-image' import {useLingui} from '@lingui/react' import {msg} from '@lingui/macro' diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx index 2855d4232c..0586c8a483 100644 --- a/src/view/com/composer/Composer.tsx +++ b/src/view/com/composer/Composer.tsx @@ -13,7 +13,7 @@ import { View, } from 'react-native' import {useSafeAreaInsets} from 'react-native-safe-area-context' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {RichText} from '@atproto/api' import {useAnalytics} from 'lib/analytics/analytics' diff --git a/src/view/com/modals/AltImage.tsx b/src/view/com/modals/AltImage.tsx index 17ce05cda8..6fcf8005ec 100644 --- a/src/view/com/modals/AltImage.tsx +++ b/src/view/com/modals/AltImage.tsx @@ -17,7 +17,7 @@ import {MAX_ALT_TEXT} from 'lib/constants' import {useTheme} from 'lib/ThemeContext' import {useIsKeyboardVisible} from 'lib/hooks/useIsKeyboardVisible' import {Text} from '../util/text/Text' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {isWeb} from 'platform/detection' import {ImageModel} from 'state/models/media/image' import {useLingui} from '@lingui/react' diff --git a/src/view/com/modals/ContentFilteringSettings.tsx b/src/view/com/modals/ContentFilteringSettings.tsx index 328d23dc29..1e06f93fdb 100644 --- a/src/view/com/modals/ContentFilteringSettings.tsx +++ b/src/view/com/modals/ContentFilteringSettings.tsx @@ -1,7 +1,7 @@ import React from 'react' import {LabelPreference} from '@atproto/api' import {StyleSheet, Pressable, View, Linking} from 'react-native' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {ScrollView} from './util' import {s, colors, gradients} from 'lib/styles' import {Text} from '../util/text/Text' diff --git a/src/view/com/modals/CreateOrEditList.tsx b/src/view/com/modals/CreateOrEditList.tsx index 0e11fcffd5..b466c1fdd6 100644 --- a/src/view/com/modals/CreateOrEditList.tsx +++ b/src/view/com/modals/CreateOrEditList.tsx @@ -13,7 +13,7 @@ import { AppBskyRichtextFacet, RichText as RichTextAPI, } from '@atproto/api' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {Image as RNImage} from 'react-native-image-crop-picker' import {Text} from '../util/text/Text' import {ErrorMessage} from '../util/error/ErrorMessage' diff --git a/src/view/com/modals/DeleteAccount.tsx b/src/view/com/modals/DeleteAccount.tsx index 40d78cfe0c..a0bbdef60f 100644 --- a/src/view/com/modals/DeleteAccount.tsx +++ b/src/view/com/modals/DeleteAccount.tsx @@ -7,7 +7,7 @@ import { View, } from 'react-native' import {TextInput, ScrollView} from './util' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import * as Toast from '../util/Toast' import {Text} from '../util/text/Text' import {s, colors, gradients} from 'lib/styles' diff --git a/src/view/com/modals/EditImage.tsx b/src/view/com/modals/EditImage.tsx index 3b35ffee21..b83562b939 100644 --- a/src/view/com/modals/EditImage.tsx +++ b/src/view/com/modals/EditImage.tsx @@ -5,7 +5,7 @@ import {useWindowDimensions} from 'react-native' import {gradients, s} from 'lib/styles' import {useTheme} from 'lib/ThemeContext' import {Text} from '../util/text/Text' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import ImageEditor, {Position} from 'react-avatar-editor' import {TextInput} from './util' diff --git a/src/view/com/modals/EditProfile.tsx b/src/view/com/modals/EditProfile.tsx index 097b7b0d1b..10b54bf8b9 100644 --- a/src/view/com/modals/EditProfile.tsx +++ b/src/view/com/modals/EditProfile.tsx @@ -9,7 +9,7 @@ import { TouchableOpacity, View, } from 'react-native' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {Image as RNImage} from 'react-native-image-crop-picker' import {AppBskyActorDefs} from '@atproto/api' import {Text} from '../util/text/Text' diff --git a/src/view/com/modals/EmbedConsent.tsx b/src/view/com/modals/EmbedConsent.tsx index 04104c52e1..5a09da9931 100644 --- a/src/view/com/modals/EmbedConsent.tsx +++ b/src/view/com/modals/EmbedConsent.tsx @@ -1,6 +1,6 @@ import React from 'react' import {StyleSheet, TouchableOpacity, View} from 'react-native' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {s, colors, gradients} from 'lib/styles' import {Text} from '../util/text/Text' import {ScrollView} from './util' diff --git a/src/view/com/modals/Repost.tsx b/src/view/com/modals/Repost.tsx index 6e4881adcd..561a121e2d 100644 --- a/src/view/com/modals/Repost.tsx +++ b/src/view/com/modals/Repost.tsx @@ -1,6 +1,6 @@ import React from 'react' import {StyleSheet, TouchableOpacity, View} from 'react-native' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {s, colors, gradients} from 'lib/styles' import {Text} from '../util/text/Text' import {usePalette} from 'lib/hooks/usePalette' diff --git a/src/view/com/modals/Waitlist.tsx b/src/view/com/modals/Waitlist.tsx index 263dd27a2f..b0df189836 100644 --- a/src/view/com/modals/Waitlist.tsx +++ b/src/view/com/modals/Waitlist.tsx @@ -10,7 +10,7 @@ import { FontAwesomeIcon, FontAwesomeIconStyle, } from '@fortawesome/react-native-fontawesome' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {Text} from '../util/text/Text' import {s, gradients} from 'lib/styles' import {usePalette} from 'lib/hooks/usePalette' diff --git a/src/view/com/modals/crop-image/CropImage.web.tsx b/src/view/com/modals/crop-image/CropImage.web.tsx index 6f094a1fdf..3fd198d25d 100644 --- a/src/view/com/modals/crop-image/CropImage.web.tsx +++ b/src/view/com/modals/crop-image/CropImage.web.tsx @@ -2,7 +2,7 @@ import React from 'react' import {StyleSheet, TouchableOpacity, View} from 'react-native' import ImageEditor from 'react-avatar-editor' import {Slider} from '@miblanchard/react-native-slider' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {Text} from 'view/com/util/text/Text' import {Dimensions} from 'lib/media/types' import {getDataUriSize} from 'lib/media/util' diff --git a/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx b/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx index 91e11a19ca..62d7cdf5e3 100644 --- a/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx +++ b/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx @@ -1,6 +1,6 @@ import React from 'react' import {StyleSheet, Text, View, Pressable} from 'react-native' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {s, colors, gradients} from 'lib/styles' import {usePalette} from 'lib/hooks/usePalette' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' diff --git a/src/view/com/modals/report/SendReportButton.tsx b/src/view/com/modals/report/SendReportButton.tsx index 40c239bffe..74d2950162 100644 --- a/src/view/com/modals/report/SendReportButton.tsx +++ b/src/view/com/modals/report/SendReportButton.tsx @@ -1,5 +1,5 @@ import React from 'react' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import { ActivityIndicator, StyleSheet, diff --git a/src/view/com/util/fab/FABInner.tsx b/src/view/com/util/fab/FABInner.tsx index 27a16117bd..4ff4796e3c 100644 --- a/src/view/com/util/fab/FABInner.tsx +++ b/src/view/com/util/fab/FABInner.tsx @@ -1,6 +1,6 @@ import React, {ComponentProps} from 'react' import {StyleSheet, TouchableWithoutFeedback} from 'react-native' -import LinearGradient from 'react-native-linear-gradient' +import {LinearGradient} from 'expo-linear-gradient' import {gradients} from 'lib/styles' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {useSafeAreaInsets} from 'react-native-safe-area-context' diff --git a/yarn.lock b/yarn.lock index ceb712ce27..105e942dce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4664,11 +4664,6 @@ dependencies: merge-options "^3.0.4" -"@react-native-camera-roll/camera-roll@^5.2.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@react-native-camera-roll/camera-roll/-/camera-roll-5.7.2.tgz#db11525ae26c8a61630c424aebd323a7c784a921" - integrity sha512-s8VAUG1Kvi+tEJkLHObmOJdXAL/uclnXJ/IdnJtx2fCKiWA3Ho0ln9gDQqCYHHHHu+sXk7wovsH/I2/AYy0brg== - "@react-native-clipboard/clipboard@^1.10.0": version "1.11.2" resolved "https://registry.yarnpkg.com/@react-native-clipboard/clipboard/-/clipboard-1.11.2.tgz#e826d0336b34e67294aaffa6878308900bc7d197" @@ -10483,11 +10478,6 @@ deprecated-react-native-prop-types@^5.0.0: invariant "^2.2.4" prop-types "^15.8.1" -dequal@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-1.0.0.tgz#41c6065e70de738541c82cdbedea5292277a017e" - integrity sha512-/Nd1EQbQbI9UbSHrMiKZjFLrXSnU328iQdZKPQf78XQI6C+gutkFUeoHpG5J08Ioa6HeRbRNFpSIclh1xyG0mw== - dequal@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" @@ -11765,6 +11755,11 @@ expo-keep-awake@~12.8.1: resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-12.8.1.tgz#3c8df9d86c265741b5e7bdd36965aa0c6fc17df0" integrity sha512-P/VZFV02Rzgj13skMwH+ceGOGZSEdaUu5n7pCS3wThh2LppZjPJ7sBxUwyzeLa3DXEVUtwLZi+BiQ91wPwy9Gg== +expo-linear-gradient@^12.7.2: + version "12.7.2" + resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-12.7.2.tgz#2ff9593eae8448ac5630be1a36ce6133c4a6f074" + integrity sha512-Wwb2EF18ywgrlTodcXJ6Yt/UEcKitRMdXPNyP/IokmeKh4emoq9DxZJpZdkXm3HUTLlbRpi6/t32jrFVqXB9AQ== + expo-linking@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-6.2.2.tgz#b7e148068ae49fd9ad814428c16fdf7a236e8aca" @@ -15538,11 +15533,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru_map@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.4.1.tgz#f7b4046283c79fb7370c36f8fca6aee4324b0a98" - integrity sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg== - magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" @@ -16379,11 +16369,6 @@ normalize-url@^6.0.1: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== -normalize-url@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.0.tgz#593dbd284f743e8dcf6a5ddf8fadff149c82701a" - integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== - npm-package-arg@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-7.0.0.tgz#52cdf08b491c0c59df687c4c925a89102ef794a5" @@ -18296,11 +18281,6 @@ react-avatar-editor@^13.0.0: "@babel/runtime" "^7.12.5" prop-types "^15.7.2" -react-circular-progressbar@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/react-circular-progressbar/-/react-circular-progressbar-2.1.0.tgz#99e5ae499c21de82223b498289e96f66adb8fa3a" - integrity sha512-xp4THTrod4aLpGy68FX/k1Q3nzrfHUjUe5v6FsdwXBl3YVMwgeXYQKDrku7n/D6qsJA9CuunarAboC2xCiKs1g== - react-dev-utils@^12.0.1: version "12.0.1" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" @@ -18372,11 +18352,6 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-native-appstate-hook@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/react-native-appstate-hook/-/react-native-appstate-hook-1.0.6.tgz#cbc16e7b89cfaea034cabd999f00e99053cabd06" - integrity sha512-0hPVyf5yLxCSVrrNEuGqN1ZnSSj3Ye2gZex0NtcK/AHYwMc0rXWFNZjBKOoZSouspqu3hXBbQ6NOUSTzrME1AQ== - react-native-dotenv@^3.3.1: version "3.4.9" resolved "https://registry.yarnpkg.com/react-native-dotenv/-/react-native-dotenv-3.4.9.tgz#621c5b0c1d0c5c7f569bfe5a1d804bec7885c010" @@ -18434,11 +18409,6 @@ react-native-ios-context-menu@^1.15.3: dependencies: "@dominicstop/ts-event-emitter" "^1.1.0" -react-native-linear-gradient@^2.6.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/react-native-linear-gradient/-/react-native-linear-gradient-2.8.2.tgz#9811c91751be673ef928ef4aa3ff3a70b82935d6" - integrity sha512-hgmCsgzd58WNcDCyPtKrvxsaoETjb/jLGxis/dmU3Aqm2u4ICIduj4ECjbil7B7pm9OnuTkmpwXu08XV2mpg8g== - react-native-pager-view@6.2.3: version "6.2.3" resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-6.2.3.tgz#698f6387fdf06cecc3d8d4792604419cb89cb775" @@ -18515,11 +18485,6 @@ react-native-version-number@^0.3.6: resolved "https://registry.yarnpkg.com/react-native-version-number/-/react-native-version-number-0.3.6.tgz#dd8b1435fc217df0a166d7e4a61fdc993f3e7437" integrity sha512-TdyXiK90NiwmSbmAUlUBOV6WI1QGoqtvZZzI5zQY4fKl67B3ZrZn/h+Wy/OYIKKFMfePSiyfeIs8LtHGOZ/NgA== -react-native-web-linear-gradient@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/react-native-web-linear-gradient/-/react-native-web-linear-gradient-1.1.2.tgz#33f85f7085a0bb5ffa5106faf02ed105b92a9ed7" - integrity sha512-SmUnpwT49CEe78pXvIvYf72Es8Pv+ZYKCnEOgb2zAKpEUDMo0+xElfRJhwt5nfI8krJ5WbFPKnoDgD0uUjAN1A== - react-native-web-webview@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/react-native-web-webview/-/react-native-web-webview-1.0.2.tgz#c215efa70c17589f2c8d640b1f1dc669b18c6e02" @@ -21037,13 +21002,6 @@ use-callback-ref@^1.3.0: dependencies: tslib "^2.0.0" -use-deep-compare@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/use-deep-compare/-/use-deep-compare-1.1.0.tgz#85580dde751f68400bf6ef7e043c7f986595cef8" - integrity sha512-6yY3zmKNCJ1jjIivfZMZMReZjr8e6iC6Uqtp701jvWJ6ejC/usXD+JjmslZDPJQgX8P4B1Oi5XSLHkOLeYSJsA== - dependencies: - dequal "1.0.0" - use-latest-callback@^0.1.5: version "0.1.6" resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.6.tgz#3fa6e7babbb5f9bfa24b5094b22939e1e92ebcf6"