Bluesky app fork with some witchin' additions 💫

Upgrade Lingui to v5 (#9905)

authored by samuel.fm and committed by

GitHub 9ec06971 75242b9b

+1297 -935
+3 -1
.gitignore
··· 110 110 111 111 # i18n 112 112 src/locale/locales/_build/ 113 - src/locale/locales/**/*.js 113 + src/locale/locales/**/messages.js 114 + src/locale/locales/**/messages.mjs 115 + src/locale/locales/**/messages.ts 114 116 115 117 # local builds 116 118 *.apk
+2 -1
CLAUDE.md
··· 271 271 All user-facing strings must be wrapped for translation using Lingui. 272 272 273 273 ```tsx 274 - import {msg, Trans, plural} from '@lingui/macro' 274 + import {msg, plural} from '@lingui/core/macro' 275 + import {Trans} from '@lingui/react/macro' 275 276 import {useLingui} from '@lingui/react' 276 277 277 278 function MyComponent() {
+6
__tests__/lib/string.test.ts
··· 1 1 import {RichText} from '@atproto/api' 2 + import {i18n} from '@lingui/core' 2 3 3 4 import {parseEmbedPlayerFromUrl} from '#/lib/strings/embed-player' 4 5 import { ··· 6 7 createStarterPackLinkFromAndroidReferrer, 7 8 parseStarterPackUri, 8 9 } from '#/lib/strings/starter-pack' 10 + import {messages} from '#/locale/locales/en/messages' 9 11 import {tenorUrlToBskyGifUrl} from '#/state/queries/tenor' 10 12 import {cleanError} from '../../src/lib/strings/errors' 11 13 import {createFullHandle, makeValidHandle} from '../../src/lib/strings/handles' ··· 202 204 }) 203 205 204 206 describe('cleanError', () => { 207 + // cleanError uses lingui 208 + i18n.loadAndActivate({locale: 'en', messages}) 209 + 205 210 const inputs = [ 206 211 'TypeError: Network request failed', 207 212 'Error: Aborted', ··· 327 332 expect(outputRT.text).toEqual(outputs[i][0]) 328 333 expect(outputRT.facets?.length).toEqual(outputs[i][1].length) 329 334 for (let j = 0; j < outputs[i][1].length; j++) { 335 + // @ts-expect-error whatever 330 336 expect(outputRT.facets![j].features[0].uri).toEqual(outputs[i][1][j]) 331 337 } 332 338 }
+1 -1
babel.config.js
··· 16 16 ], 17 17 ], 18 18 plugins: [ 19 - 'macros', 19 + '@lingui/babel-plugin-lingui-macro', 20 20 ['babel-plugin-react-compiler', {target: '19'}], 21 21 [ 22 22 'module:react-native-dotenv',
+20 -5
docs/localization.md
··· 73 73 ```jsx 74 74 // After 75 75 import { Text } from "react-native"; 76 - import { Trans } from "@lingui/macro"; 76 + import { Trans } from "@lingui/react/macro"; 77 77 78 78 <Text><Trans>Hello World</Trans></Text> 79 79 ``` ··· 90 90 ``` 91 91 In this case, you can use the `useLingui()` hook: 92 92 ```jsx 93 - import { msg } from "@lingui/macro"; 93 + import { msg } from "@lingui/core/macro"; 94 94 import { useLingui } from "@lingui/react"; 95 95 96 96 const { _ } = useLingui(); 97 97 return <Text accessibilityLabel={_(msg`Label is here`)}>{text}</Text> 98 98 ``` 99 99 100 - If you want to do this outside of a React component, you can use the `t` macro instead (note: this won't react to changes if the locale is switched dynamically within the app): 100 + NEW: the latest Lingui version introduced a new macro version of the `useLingui` hook which lets you do this: 101 + 102 + ```jsx 103 + import { useLingui } from "@lingui/react/macro"; 104 + 105 + const { t } = useLingui(); 106 + return <Text accessibilityLabel={t`Label is here`}>{text}</Text> 107 + ``` 108 + 109 + If you want to do this outside of a React component, you can use the global `t` macro instead (note: this won't react to changes if the locale is switched dynamically within the app): 101 110 ```jsx 102 - import { t } from "@lingui/macro"; 111 + import { t } from "@lingui/core/macro"; 103 112 113 + // not ideal - t only gets called once at module evaluation time 104 114 const text = t`Hello World`; 115 + 116 + // however, this is suitable for strings that are ephemeral: 117 + function sayHello() { 118 + Toast.show(t`Hello World`); // Each time the toast shows, the current locale at that moment is used 119 + } 105 120 ``` 106 121 107 122 We can then run `yarn intl:extract` to update the catalog in `src/locale/locales/{locale}/messages.po`. This will add the new string to the catalog. ··· 121 136 These pitfalls are memoization pitfalls that will cause the components to not re-render when the locale is changed -- causing stale translations to be shown. 122 137 123 138 ```jsx 124 - import { msg } from "@lingui/macro"; 139 + import { msg } from "@lingui/core/macro"; 125 140 import { i18n } from "@lingui/core"; 126 141 127 142 const welcomeMessage = msg`Welcome!`;
+6 -4
lingui.config.js lingui.config.ts
··· 1 - /** @type {import('@lingui/conf').LinguiConfig} */ 2 - module.exports = { 1 + import {defineConfig} from '@lingui/cli' 2 + 3 + export default defineConfig({ 4 + sourceLocale: 'en', 3 5 locales: [ 4 6 'en', 5 7 'an', ··· 49 51 include: ['src'], 50 52 }, 51 53 ], 52 - format: 'po', 53 - } 54 + compileNamespace: 'ts', 55 + })
+5 -5
package.json
··· 59 59 "intl:extract": "lingui extract --clean --locale en", 60 60 "intl:extract:all": "lingui extract --clean", 61 61 "intl:compile": "lingui compile", 62 - "intl:compile-if-needed": "is-ci || [ -f src/locale/locales/en/messages.js ] || yarn intl:compile", 62 + "intl:compile-if-needed": "is-ci || [ -f src/locale/locales/en/messages.ts ] || yarn intl:compile", 63 63 "intl:pull": "crowdin download translations --verbose -b main", 64 64 "intl:push": "crowdin push translations --verbose -b main", 65 65 "intl:push-sources": "crowdin push sources --verbose -b main", ··· 97 97 "@growthbook/growthbook-react": "^1.6.5", 98 98 "@haileyok/bluesky-video": "0.3.2", 99 99 "@ipld/dag-cbor": "^9.2.0", 100 - "@lingui/react": "^4.14.1", 100 + "@lingui/core": "^5.9.2", 101 + "@lingui/react": "^5.9.2", 101 102 "@mattermost/react-native-paste-input": "mattermost/react-native-paste-input", 102 103 "@miblanchard/react-native-slider": "^2.6.0", 103 104 "@mozzius/expo-dynamic-app-icon": "^1.8.0", ··· 236 237 "@babel/runtime": "^7.26.0", 237 238 "@eslint/js": "^9.39.2", 238 239 "@expo/config-plugins": "~54.0.1", 239 - "@lingui/cli": "^4.14.1", 240 - "@lingui/macro": "^4.14.1", 240 + "@lingui/babel-plugin-lingui-macro": "^5.9.2", 241 + "@lingui/cli": "^5.9.2", 241 242 "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", 242 243 "@react-native/babel-preset": "0.81.5", 243 244 "@react-native/eslint-config": "^0.81.5", ··· 252 253 "@types/react": "^19.1.12", 253 254 "@types/react-dom": "^19.1.9", 254 255 "babel-jest": "^29.7.0", 255 - "babel-plugin-macros": "^3.1.0", 256 256 "babel-plugin-module-resolver": "^5.0.2", 257 257 "babel-plugin-react-compiler": "^19.1.0-rc.3", 258 258 "babel-preset-expo": "~54.0.0",
-10
patches/@lingui+core+4.14.1.patch
··· 1 - diff --git a/node_modules/@lingui/core/dist/index.mjs b/node_modules/@lingui/core/dist/index.mjs 2 - index 9759736..881f67b 100644 3 - --- a/node_modules/@lingui/core/dist/index.mjs 4 - +++ b/node_modules/@lingui/core/dist/index.mjs 5 - @@ -1,4 +1,4 @@ 6 - -import unraw from 'unraw'; 7 - +import { unraw } from 'unraw'; 8 - import { compileMessage } from '@lingui/message-utils/compileMessage'; 9 - 10 - const isString = (s) => typeof s === "string";
+1 -1
src/App.native.tsx
··· 11 11 import * as ScreenOrientation from 'expo-screen-orientation' 12 12 import * as SplashScreen from 'expo-splash-screen' 13 13 import * as SystemUI from 'expo-system-ui' 14 - import {msg} from '@lingui/macro' 14 + import {msg} from '@lingui/core/macro' 15 15 import {useLingui} from '@lingui/react' 16 16 import * as Sentry from '@sentry/react-native' 17 17
+1 -1
src/App.web.tsx
··· 4 4 5 5 import {Fragment, useEffect, useState} from 'react' 6 6 import {SafeAreaProvider} from 'react-native-safe-area-context' 7 - import {msg} from '@lingui/macro' 7 + import {msg} from '@lingui/core/macro' 8 8 import {useLingui} from '@lingui/react' 9 9 import * as Sentry from '@sentry/react-native' 10 10
+1 -1
src/Navigation.tsx
··· 2 2 import * as Linking from 'expo-linking' 3 3 import * as Notifications from 'expo-notifications' 4 4 import {i18n, type MessageDescriptor} from '@lingui/core' 5 - import {msg} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import { 7 7 type BottomTabBarProps, 8 8 createBottomTabNavigator,
+2 -1
src/ageAssurance/components/NoAccessScreen.tsx
··· 1 1 import {useCallback, useEffect} from 'react' 2 2 import {ScrollView, View} from 'react-native' 3 3 import {useSafeAreaInsets} from 'react-native-safe-area-context' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import { 8 9 SupportCode,
+2 -1
src/ageAssurance/components/RedirectOverlay.tsx
··· 9 9 } from 'react' 10 10 import {Dimensions, View} from 'react-native' 11 11 import * as Linking from 'expo-linking' 12 - import {msg, Trans} from '@lingui/macro' 12 + import {msg} from '@lingui/core/macro' 13 13 import {useLingui} from '@lingui/react' 14 + import {Trans} from '@lingui/react/macro' 14 15 15 16 import {retry} from '#/lib/async/retry' 16 17 import {wait} from '#/lib/async/wait'
+2 -1
src/components/AccountList.tsx
··· 1 1 import React, {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyActorDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {isJwtExpired} from '#/lib/jwt' 8 9 import {sanitizeDisplayName} from '#/lib/strings/display-names'
+1 -1
src/components/AppLanguageDropdown.tsx
··· 1 1 import React from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 import {useQueryClient} from '@tanstack/react-query' 5 5
+1 -1
src/components/ContextMenu/Backdrop.ios.tsx
··· 7 7 useAnimatedStyle, 8 8 } from 'react-native-reanimated' 9 9 import {BlurView} from 'expo-blur' 10 - import {msg} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 12 13 13 import {atoms as a, useTheme} from '#/alf'
+1 -1
src/components/ContextMenu/Backdrop.tsx
··· 5 5 type SharedValue, 6 6 useAnimatedStyle, 7 7 } from 'react-native-reanimated' 8 - import {msg} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 10 11 11 import {atoms as a, useTheme} from '#/alf'
+1 -1
src/components/ContextMenu/index.tsx
··· 40 40 } from 'react-native-safe-area-context' 41 41 import {captureRef} from 'react-native-view-shot' 42 42 import {Image, type ImageErrorEventData} from 'expo-image' 43 - import {msg} from '@lingui/macro' 43 + import {msg} from '@lingui/core/macro' 44 44 import {useLingui} from '@lingui/react' 45 45 import {useIsFocused} from '@react-navigation/native' 46 46 import flattenReactChildren from 'react-keyed-flatten-children'
+1 -1
src/components/Dialog/index.tsx
··· 21 21 useAnimatedStyle, 22 22 } from 'react-native-reanimated' 23 23 import {useSafeAreaInsets} from 'react-native-safe-area-context' 24 - import {msg} from '@lingui/macro' 24 + import {msg} from '@lingui/core/macro' 25 25 import {useLingui} from '@lingui/react' 26 26 27 27 import {ScrollProvider} from '#/lib/ScrollContext'
+1 -1
src/components/Dialog/index.web.tsx
··· 8 8 View, 9 9 type ViewStyle, 10 10 } from 'react-native' 11 - import {msg} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 13 import {DismissableLayer, FocusGuards, FocusScope} from 'radix-ui/internal' 14 14 import {RemoveScrollBar} from 'react-remove-scroll-bar'
+2 -1
src/components/Error.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {useGoBack} from '#/lib/hooks/useGoBack' 6 7 import {CenteredView} from '#/view/com/util/Views'
+2 -1
src/components/FeedCard.tsx
··· 6 6 AtUri, 7 7 RichText as RichTextApi, 8 8 } from '@atproto/api' 9 - import {msg, Plural, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Plural, Trans} from '@lingui/react/macro' 11 12 import {useQueryClient} from '@tanstack/react-query' 12 13 13 14 import {sanitizeHandle} from '#/lib/strings/handles'
+2 -1
src/components/FeedInterstitials.tsx
··· 8 8 LinearTransition, 9 9 } from 'react-native-reanimated' 10 10 import {type AppBskyFeedDefs, AtUri} from '@atproto/api' 11 - import {msg, Trans} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 + import {Trans} from '@lingui/react/macro' 13 14 import {useNavigation} from '@react-navigation/native' 14 15 15 16 import {type NavigationProp} from '#/lib/routes/types'
+1 -1
src/components/FocusScope/index.tsx
··· 14 14 Text, 15 15 View, 16 16 } from 'react-native' 17 - import {msg} from '@lingui/macro' 17 + import {msg} from '@lingui/core/macro' 18 18 import {useLingui} from '@lingui/react' 19 19 20 20 import {useA11y} from '#/state/a11y'
+1 -1
src/components/InterestTabs.tsx
··· 5 5 View, 6 6 type ViewStyle, 7 7 } from 'react-native' 8 - import {msg} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 10 11 11 import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
+1 -1
src/components/InternationalPhoneCodeSelect.tsx
··· 1 1 import {Fragment, useMemo} from 'react' 2 2 import {Text as RNText} from 'react-native' 3 3 import {Image} from 'expo-image' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {
+3 -3
src/components/KnownFollowers.tsx
··· 5 5 moderateProfile, 6 6 type ModerationOpts, 7 7 } from '@atproto/api' 8 - import {msg, Plural, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Plural, Trans} from '@lingui/react/macro' 10 11 11 12 import {makeProfileLink} from '#/lib/routes/links' 12 13 import {sanitizeDisplayName} from '#/lib/strings/display-names' ··· 205 206 one="# other" 206 207 other="# others" 207 208 /> 208 - </Trans> 209 + </Trans> // only 2 209 210 ) : ( 210 - // only 2 211 211 <Trans> 212 212 Followed by{' '} 213 213 <Text emoji key={slice[0].profile.did} style={textStyle}>
+2 -1
src/components/LabelingServiceCard/index.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type AppBskyLabelerDefs} from '@atproto/api' 3 - import {msg, Plural, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Plural, Trans} from '@lingui/react/macro' 5 6 import type React from 'react' 6 7 7 8 import {getLabelingServiceTitle} from '#/lib/moderation'
+1 -1
src/components/LanguageSelect.tsx
··· 1 1 import React from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {sanitizeAppLanguageSetting} from '#/locale/helpers'
+1 -1
src/components/Layout/Header/index.tsx
··· 1 1 import {createContext, useCallback, useContext} from 'react' 2 2 import {type GestureResponderEvent, Keyboard, View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import {useNavigation} from '@react-navigation/native' 6 6
+1 -1
src/components/LikedByList.tsx
··· 1 1 import React from 'react' 2 2 import {type AppBskyFeedGetLikes as GetLikes} from '@atproto/api' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
+2 -1
src/components/ListCard.tsx
··· 6 6 moderateUserList, 7 7 type ModerationUI, 8 8 } from '@atproto/api' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 import {useQueryClient} from '@tanstack/react-query' 12 13 13 14 import {sanitizeHandle} from '#/lib/strings/handles'
+2 -1
src/components/Lists.tsx
··· 1 1 import {memo} from 'react' 2 2 import {type StyleProp, View, type ViewStyle} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {cleanError} from '#/lib/strings/errors' 7 8 import {
+1 -1
src/components/MediaPreview.tsx
··· 1 1 import {type StyleProp, StyleSheet, View, type ViewStyle} from 'react-native' 2 2 import {Image} from 'expo-image' 3 3 import {type AppBskyFeedDefs} from '@atproto/api' 4 - import {Trans} from '@lingui/macro' 4 + import {Trans} from '@lingui/react/macro' 5 5 6 6 import {isTenorGifUri} from '#/lib/strings/embed-player' 7 7 import {atoms as a, useTheme} from '#/alf'
+2 -1
src/components/Menu/index.tsx
··· 6 6 View, 7 7 type ViewStyle, 8 8 } from 'react-native' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 import flattenReactChildren from 'react-keyed-flatten-children' 12 13 13 14 import {atoms as a, useTheme} from '#/alf'
+1 -1
src/components/Menu/index.web.tsx
··· 6 6 View, 7 7 type ViewStyle, 8 8 } from 'react-native' 9 - import {msg} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 import {DropdownMenu} from 'radix-ui' 12 12
+3 -2
src/components/NewskieDialog.tsx
··· 1 1 import {useMemo, useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyActorDefs, moderateProfile} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {differenceInSeconds} from 'date-fns' 7 8 8 9 import {HITSLOP_10} from '#/lib/constants' ··· 29 30 const {_} = useLingui() 30 31 const control = useDialogControl() 31 32 32 - const createdAt = profile.createdAt as string | undefined 33 + const createdAt = profile.createdAt 33 34 34 35 const [now] = useState(() => Date.now()) 35 36 const daysOld = useMemo(() => {
+1 -1
src/components/Pills.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {BSKY_LABELER_DID, type ModerationCause} from '@atproto/api' 4 - import {Trans} from '@lingui/macro' 4 + import {Trans} from '@lingui/react/macro' 5 5 6 6 import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription' 7 7 import {UserAvatar} from '#/view/com/util/UserAvatar'
+1 -1
src/components/PolicyUpdateOverlay/Badge.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {Logo} from '#/view/icons/Logo' 5 5 import {atoms as a, useTheme} from '#/alf'
+2 -1
src/components/PolicyUpdateOverlay/updates/202508/index.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useA11y} from '#/state/a11y' 7 8 import {atoms as a, useTheme} from '#/alf'
+1 -2
src/components/Post/Embed/ExternalEmbed/ExternalGif.tsx
··· 6 6 } from 'react-native' 7 7 import {Image} from 'expo-image' 8 8 import {type AppBskyEmbedExternal} from '@atproto/api' 9 - import {msg} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 12 12 import {type EmbedPlayerParams} from '#/lib/strings/embed-player' ··· 94 94 source={params.source} 95 95 onAccept={load} 96 96 /> 97 - 98 97 <Pressable 99 98 style={[ 100 99 {height: 300},
+1 -1
src/components/Post/Embed/ExternalEmbed/ExternalPlayer.tsx
··· 17 17 import {WebView} from 'react-native-webview' 18 18 import {Image} from 'expo-image' 19 19 import {type AppBskyEmbedExternal} from '@atproto/api' 20 - import {msg} from '@lingui/macro' 20 + import {msg} from '@lingui/core/macro' 21 21 import {useLingui} from '@lingui/react' 22 22 import {useNavigation} from '@react-navigation/native' 23 23
+1 -1
src/components/Post/Embed/ExternalEmbed/Gif.tsx
··· 1 1 import {useRef, useState} from 'react' 2 2 import {type StyleProp, View, type ViewStyle} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {clamp} from '#/lib/numbers'
+1 -1
src/components/Post/Embed/ExternalEmbed/index.tsx
··· 2 2 import {type StyleProp, View, type ViewStyle} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {type AppBskyEmbedExternal} from '@atproto/api' 5 - import {msg} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 7 8 8 import {parseAltFromGIFDescription} from '#/lib/gif-alt-text'
+2 -1
src/components/Post/Embed/VideoEmbed/GifPresentationControls.tsx
··· 4 4 TouchableOpacity, 5 5 View, 6 6 } from 'react-native' 7 - import {msg, Trans} from '@lingui/macro' 7 + import {msg} from '@lingui/core/macro' 8 8 import {useLingui} from '@lingui/react' 9 + import {Trans} from '@lingui/react/macro' 9 10 10 11 import {HITSLOP_20} from '#/lib/constants' 11 12 import {atoms as a, useTheme} from '#/alf'
+1 -1
src/components/Post/Embed/VideoEmbed/VideoEmbedInner/TimeIndicator.tsx
··· 1 1 import {type StyleProp, type ViewStyle} from 'react-native' 2 2 import {View} from 'react-native' 3 - import {msg, plural} from '@lingui/macro' 3 + import {msg, plural} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {atoms as a, useTheme} from '#/alf'
+1 -1
src/components/Post/Embed/VideoEmbed/VideoEmbedInner/VideoEmbedInnerNative.tsx
··· 2 2 import {Pressable, type StyleProp, View, type ViewStyle} from 'react-native' 3 3 import {type AppBskyEmbedVideo} from '@atproto/api' 4 4 import {BlueskyVideoView} from '@haileyok/bluesky-video' 5 - import {msg} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 7 8 8 import {HITSLOP_30} from '#/lib/constants'
+1 -1
src/components/Post/Embed/VideoEmbed/VideoEmbedInner/VideoEmbedInnerWeb.tsx
··· 1 1 import {useEffect, useId, useRef, useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyEmbedVideo} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import type * as HlsTypes from 'hls.js' 7 7
+2 -1
src/components/Post/Embed/VideoEmbed/VideoEmbedInner/VideoFallback.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {atoms as a, useTheme} from '#/alf' 6 7 import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+1 -1
src/components/Post/Embed/VideoEmbed/VideoEmbedInner/web-controls/Scrubber.tsx
··· 1 1 import {useCallback, useEffect, useRef, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {clamp} from '#/lib/numbers'
+2 -1
src/components/Post/Embed/VideoEmbed/VideoEmbedInner/web-controls/VideoControls.tsx
··· 1 1 import {useCallback, useEffect, useRef, useState} from 'react' 2 2 import {Pressable, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import type Hls from 'hls.js' 6 7 7 8 import {clamp} from '#/lib/numbers'
+1 -1
src/components/Post/Embed/VideoEmbed/VideoEmbedInner/web-controls/VolumeControl.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 3 import Animated, {FadeIn, FadeOut} from 'react-native-reanimated' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {atoms as a} from '#/alf'
+2 -1
src/components/Post/Embed/VideoEmbed/index.tsx
··· 2 2 import {ActivityIndicator, View} from 'react-native' 3 3 import {ImageBackground} from 'expo-image' 4 4 import {type AppBskyEmbedVideo} from '@atproto/api' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import {ErrorBoundary} from '#/view/com/util/ErrorBoundary' 9 10 import {atoms as a, platform} from '#/alf'
+1 -1
src/components/Post/Embed/VideoEmbed/index.web.tsx
··· 8 8 } from 'react' 9 9 import {View} from 'react-native' 10 10 import {type AppBskyEmbedVideo} from '@atproto/api' 11 - import {msg} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 13 14 14 import {ErrorBoundary} from '#/view/com/util/ErrorBoundary'
+1 -1
src/components/Post/Embed/index.tsx
··· 8 8 moderatePost, 9 9 RichText as RichTextAPI, 10 10 } from '@atproto/api' 11 - import {Trans} from '@lingui/macro' 11 + import {Trans} from '@lingui/react/macro' 12 12 import {useQueryClient} from '@tanstack/react-query' 13 13 14 14 import {makeProfileLink} from '#/lib/routes/links'
+1 -1
src/components/Post/PostRepliedTo.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {useSession} from '#/state/session' 5 5 import {UserInfoText} from '#/view/com/util/UserInfoText'
+2 -1
src/components/Post/ShowMoreTextButton.tsx
··· 1 1 import {useCallback, useMemo} from 'react' 2 2 import {LayoutAnimation, type TextStyle} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {HITSLOP_10} from '#/lib/constants' 7 8 import {atoms as a, flatten, type TextStyleProp, useTheme} from '#/alf'
+2 -1
src/components/PostControls/BookmarkButton.tsx
··· 1 1 import {memo} from 'react' 2 2 import {type Insets} from 'react-native' 3 3 import {type AppBskyFeedDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import type React from 'react' 7 8 8 9 import {useCleanError} from '#/lib/hooks/useCleanError'
+1 -1
src/components/PostControls/DiscoverDebug.tsx
··· 1 1 import {Pressable} from 'react-native' 2 2 import * as Clipboard from 'expo-clipboard' 3 - import {t} from '@lingui/macro' 3 + import {t} from '@lingui/core/macro' 4 4 5 5 import {DISCOVER_DEBUG_DIDS} from '#/lib/constants' 6 6 import {useSession} from '#/state/session'
+1 -1
src/components/PostControls/PostMenu/PostMenuItems.tsx
··· 13 13 AtUri, 14 14 type RichText as RichTextAPI, 15 15 } from '@atproto/api' 16 - import {msg, plural} from '@lingui/macro' 16 + import {msg, plural} from '@lingui/core/macro' 17 17 import {useLingui} from '@lingui/react' 18 18 import {useNavigation} from '@react-navigation/native' 19 19
+1 -1
src/components/PostControls/PostMenu/index.tsx
··· 6 6 type AppBskyFeedThreadgate, 7 7 type RichText as RichTextAPI, 8 8 } from '@atproto/api' 9 - import {msg} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 12 12 import {type Shadow} from '#/state/cache/post-shadow'
+2 -1
src/components/PostControls/RepostButton.tsx
··· 1 1 import {memo, useCallback} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, plural, Trans} from '@lingui/macro' 3 + import {msg, plural} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useHaptics} from '#/lib/haptics' 7 8 import {useRequireAuth} from '#/state/session'
+2 -3
src/components/PostControls/RepostButton.web.tsx
··· 1 - import {msg} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 3 4 - import {useRequireAuth} from '#/state/session' 5 - import {useSession} from '#/state/session' 4 + import {useRequireAuth, useSession} from '#/state/session' 6 5 import {EventStopper} from '#/view/com/util/EventStopper' 7 6 import {useTheme} from '#/alf' 8 7 import {CloseQuote_Stroke2_Corner1_Rounded as Quote} from '#/components/icons/Quote'
+2 -1
src/components/PostControls/ShareMenu/RecentChats.tsx
··· 1 1 import {ScrollView, View} from 'react-native' 2 2 import {moderateProfile, type ModerationOpts} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useNavigation} from '@react-navigation/native' 6 7 7 8 import {isBlockedOrBlocking, isMuted} from '#/lib/moderation/blocked-and-muted'
+2 -1
src/components/PostControls/ShareMenu/ShareMenuItems.tsx
··· 1 1 import {memo, useMemo} from 'react' 2 2 import * as ExpoClipboard from 'expo-clipboard' 3 3 import {AtUri} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useNavigation} from '@react-navigation/native' 7 8 8 9 import {makeProfileLink} from '#/lib/routes/links'
+2 -1
src/components/PostControls/ShareMenu/ShareMenuItems.web.tsx
··· 1 1 import {memo, useMemo} from 'react' 2 2 import {AtUri} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useNavigation} from '@react-navigation/native' 6 7 7 8 import {makeProfileLink} from '#/lib/routes/links'
+1 -1
src/components/PostControls/ShareMenu/index.tsx
··· 7 7 AtUri, 8 8 type RichText as RichTextAPI, 9 9 } from '@atproto/api' 10 - import {msg} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 12 13 13 import {makeProfileLink} from '#/lib/routes/links'
+1 -1
src/components/PostControls/index.tsx
··· 6 6 type AppBskyFeedThreadgate, 7 7 type RichText as RichTextAPI, 8 8 } from '@atproto/api' 9 - import {msg, plural} from '@lingui/macro' 9 + import {msg, plural} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 12 12 import {CountWheel} from '#/lib/custom-animations/CountWheel'
+1 -1
src/components/ProfileCard.tsx
··· 11 11 type ModerationOpts, 12 12 RichText as RichTextApi, 13 13 } from '@atproto/api' 14 - import {msg} from '@lingui/macro' 14 + import {msg} from '@lingui/core/macro' 15 15 import {useLingui} from '@lingui/react' 16 16 17 17 import {getModerationCauseKey} from '#/lib/moderation'
+1 -1
src/components/ProfileHoverCard/index.web.tsx
··· 6 6 type ModerationOpts, 7 7 } from '@atproto/api' 8 8 import {flip, offset, shift, size, useFloating} from '@floating-ui/react-dom' 9 - import {msg, plural} from '@lingui/macro' 9 + import {msg, plural} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 import {useNavigation} from '@react-navigation/native' 12 12
+2 -1
src/components/ProgressGuide/FollowDialog.tsx
··· 6 6 type ViewToken, 7 7 } from 'react-native' 8 8 import {type ModerationOpts} from '@atproto/api' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 12 13 import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' 13 14 import {popularInterests, useInterestsDisplayNames} from '#/lib/interests'
+2 -1
src/components/ProgressGuide/List.tsx
··· 5 5 View, 6 6 type ViewStyle, 7 7 } from 'react-native' 8 - import {msg, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 11 12 import {useProfileFollowsQuery} from '#/state/queries/profile-follows' 12 13 import {useSession} from '#/state/session'
+1 -1
src/components/ProgressGuide/Toast.tsx
··· 8 8 withTiming, 9 9 } from 'react-native-reanimated' 10 10 import {useSafeAreaInsets} from 'react-native-safe-area-context' 11 - import {msg} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 13 14 14 import {atoms as a, useTheme} from '#/alf'
+1 -1
src/components/Prompt.tsx
··· 1 1 import {createContext, useCallback, useContext, useId, useMemo} from 'react' 2 2 import {type GestureResponderEvent, View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {atoms as a, useTheme, type ViewStyleProp, web} from '#/alf'
+2 -1
src/components/RichTextTag.tsx
··· 1 1 import React from 'react' 2 2 import {type StyleProp, Text as RNText, type TextStyle} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useNavigation} from '@react-navigation/native' 6 7 7 8 import {type NavigationProp} from '#/lib/routes/types'
+2 -3
src/components/Select/index.tsx
··· 7 7 useState, 8 8 } from 'react' 9 9 import {View} from 'react-native' 10 - import {msg} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 12 13 - import {useTheme} from '#/alf' 14 - import {atoms as a} from '#/alf' 13 + import {atoms as a, useTheme} from '#/alf' 15 14 import {Button, ButtonIcon, ButtonText} from '#/components/Button' 16 15 import * as Dialog from '#/components/Dialog' 17 16 import {useInteractionState} from '#/components/hooks/useInteractionState'
+1 -1
src/components/StarterPack/Main/PostsList.tsx
··· 1 1 import React, {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {type FeedDescriptor} from '#/state/queries/post-feed'
+2 -1
src/components/StarterPack/ProfileStarterPacks.tsx
··· 8 8 type ViewStyle, 9 9 } from 'react-native' 10 10 import {type AppBskyGraphDefs} from '@atproto/api' 11 - import {msg, Trans} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 + import {Trans} from '@lingui/react/macro' 13 14 import {useNavigation} from '@react-navigation/native' 14 15 15 16 import {useGenerateStarterPackMutation} from '#/lib/generate-starterpack'
+2 -3
src/components/StarterPack/QrCode.tsx
··· 4 4 import QRCode from 'react-native-qrcode-styled' 5 5 import type ViewShot from 'react-native-view-shot' 6 6 import {type AppBskyGraphDefs, AppBskyGraphStarterpack} from '@atproto/api' 7 - import {Trans} from '@lingui/macro' 7 + import {Trans} from '@lingui/react/macro' 8 8 9 9 import {Logo} from '#/view/icons/Logo' 10 10 import {Logotype} from '#/view/icons/Logotype' 11 - import {useTheme} from '#/alf' 12 - import {atoms as a} from '#/alf' 11 + import {atoms as a, useTheme} from '#/alf' 13 12 import {LinearGradientBackground} from '#/components/LinearGradientBackground' 14 13 import {Text} from '#/components/Typography' 15 14 import {IS_WEB} from '#/env'
+2 -1
src/components/StarterPack/QrCodeDialog.tsx
··· 5 5 import {createAssetAsync} from 'expo-media-library' 6 6 import * as Sharing from 'expo-sharing' 7 7 import {type AppBskyGraphDefs, AppBskyGraphStarterpack} from '@atproto/api' 8 - import {msg, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 11 12 import {logger} from '#/logger' 12 13 import {atoms as a, useBreakpoints} from '#/alf'
+2 -1
src/components/StarterPack/ShareDialog.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {Image} from 'expo-image' 3 3 import {type AppBskyGraphDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {useSaveImageToMediaLibrary} from '#/lib/media/save-image' 8 9 import {shareUrl} from '#/lib/sharing'
+12 -3
src/components/StarterPack/StarterPackCard.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {AppBskyGraphStarterpack, AtUri} from '@atproto/api' 5 - import {msg, Plural, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Plural, Trans} from '@lingui/react/macro' 7 8 import {useQueryClient} from '@tanstack/react-query' 8 9 9 10 import {sanitizeHandle} from '#/lib/strings/handles' ··· 126 127 127 128 return { 128 129 to: `/starter-pack/${handleOrDid}/${rkey}`, 129 - label: AppBskyGraphStarterpack.isRecord(view.record) 130 + label: bsky.dangerousIsType<AppBskyGraphStarterpack.Record>( 131 + view.record, 132 + AppBskyGraphStarterpack.isRecord, 133 + ) 130 134 ? _(msg`Navigate to ${view.record.name}`) 131 135 : _(msg`Navigate to starter pack`), 132 136 precache, ··· 150 154 return {rkey, handleOrDid: creator.handle || creator.did} 151 155 }, [starterPack]) 152 156 153 - if (!AppBskyGraphStarterpack.isRecord(record)) { 157 + if ( 158 + !bsky.dangerousIsType<AppBskyGraphStarterpack.Record>( 159 + record, 160 + AppBskyGraphStarterpack.isRecord, 161 + ) 162 + ) { 154 163 return null 155 164 } 156 165
+2 -1
src/components/StarterPack/Wizard/WizardEditListDialog.tsx
··· 6 6 type AppBskyFeedDefs, 7 7 type ModerationOpts, 8 8 } from '@atproto/api' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 12 13 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender' 13 14 import {type ListMethods} from '#/view/com/util/List'
+2 -1
src/components/StarterPack/Wizard/WizardListCard.tsx
··· 7 7 type ModerationOpts, 8 8 type ModerationUI, 9 9 } from '@atproto/api' 10 - import {msg, Trans} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 + import {Trans} from '@lingui/react/macro' 12 13 13 14 import {DISCOVER_FEED_URI, STARTER_PACK_MAX_SIZE} from '#/lib/constants' 14 15 import {sanitizeDisplayName} from '#/lib/strings/display-names'
+1 -1
src/components/TrendingTopics.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AtUri} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {PressableScale} from '#/lib/custom-animations/PressableScale'
+1 -1
src/components/VideoPostCard.tsx
··· 9 9 AppBskyFeedPost, 10 10 type ModerationDecision, 11 11 } from '@atproto/api' 12 - import {msg} from '@lingui/macro' 12 + import {msg} from '@lingui/core/macro' 13 13 import {useLingui} from '@lingui/react' 14 14 15 15 import {sanitizeHandle} from '#/lib/strings/handles'
+2 -1
src/components/WelcomeModal.tsx
··· 1 1 import {useEffect, useState} from 'react' 2 2 import {Pressable, View} from 'react-native' 3 3 import {ImageBackground} from 'expo-image' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {FocusGuards, FocusScope} from 'radix-ui/internal' 7 8 8 9 import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+2 -1
src/components/WhoCanReply.tsx
··· 12 12 type AppBskyGraphDefs, 13 13 AtUri, 14 14 } from '@atproto/api' 15 - import {msg, Trans} from '@lingui/macro' 15 + import {msg} from '@lingui/core/macro' 16 16 import {useLingui} from '@lingui/react' 17 + import {Trans} from '@lingui/react/macro' 17 18 18 19 import {HITSLOP_10} from '#/lib/constants' 19 20 import {makeListLink, makeProfileLink} from '#/lib/routes/links'
+2 -1
src/components/activity-notifications/SubscribeProfileButton.tsx
··· 1 1 import {useCallback, useEffect, useState} from 'react' 2 2 import {type ModerationOpts} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useRequireEmailVerification} from '#/lib/hooks/useRequireEmailVerification' 7 8 import {createSanitizedDisplayName} from '#/lib/moderation/create-sanitized-display-name'
+2 -1
src/components/activity-notifications/SubscribeProfileDialog.tsx
··· 6 6 type ModerationOpts, 7 7 type Un$Typed, 8 8 } from '@atproto/api' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 import { 12 13 type InfiniteData, 13 14 useMutation,
+2 -1
src/components/ageAssurance/AgeAssuranceAccountCard.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {dateDiff, useGetTimeAgo} from '#/lib/hooks/useTimeAgo' 6 7 import {atoms as a, useBreakpoints, useTheme, type ViewStyleProp} from '#/alf'
+2 -1
src/components/ageAssurance/AgeAssuranceAdmonition.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {atoms as a, select, useTheme, type ViewStyleProp} from '#/alf' 6 7 import {AgeAssuranceConfigUnavailableError} from '#/components/ageAssurance/AgeAssuranceErrors'
+2 -1
src/components/ageAssurance/AgeAssuranceAppealDialog.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {ToolsOzoneReportDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useMutation} from '@tanstack/react-query' 7 8 8 9 import {BLUESKY_MOD_SERVICE_HEADERS} from '#/lib/constants'
+1 -1
src/components/ageAssurance/AgeAssuranceBadge.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {atoms as a, select, useTheme} from '#/alf' 5 5 import {ShieldCheck_Stroke2_Corner0_Rounded as Shield} from '#/components/icons/Shield'
+1 -1
src/components/ageAssurance/AgeAssuranceDismissibleFeedBanner.tsx
··· 1 1 import {useMemo} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {Nux, useNux, useSaveNux} from '#/state/queries/nuxs'
+1 -1
src/components/ageAssurance/AgeAssuranceDismissibleNotice.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {Nux, useNux, useSaveNux} from '#/state/queries/nuxs'
+2 -1
src/components/ageAssurance/AgeAssuranceErrors.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 4 5 import {type ViewStyleProp} from '#/alf' 5 6 import * as Admonition from '#/components/Admonition'
+2 -1
src/components/ageAssurance/AgeAssuranceInitDialog.tsx
··· 1 1 import {useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {XRPCError} from '@atproto/xrpc' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {validate as validateEmail} from 'email-validator' 7 8 8 9 import {useCleanError} from '#/lib/hooks/useCleanError'
+2 -1
src/components/ageAssurance/AgeAssuranceRedirectDialog.tsx
··· 1 1 import {useEffect, useRef, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {retry} from '#/lib/async/retry' 7 8 import {wait} from '#/lib/async/wait'
+2 -1
src/components/ageAssurance/AgeRestrictedScreen.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {atoms as a} from '#/alf' 6 7 import {Admonition} from '#/components/Admonition'
+1 -1
src/components/ageAssurance/useAgeAssuranceCopy.ts
··· 1 1 import {useMemo} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {useAgeAssurance} from '#/ageAssurance'
+2 -1
src/components/contacts/FindContactsBannerNUX.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {LinearGradient} from 'expo-linear-gradient' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import {HITSLOP_10} from '#/lib/constants' 9 10 import {Nux, useNux, useSaveNux} from '#/state/queries/nuxs'
+1 -1
src/components/contacts/components/HeroImage.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {Image} from 'expo-image' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {atoms as a, useTheme} from '#/alf'
+2 -1
src/components/contacts/components/InviteInfo.tsx
··· 1 1 import {type StyleProp, type TextStyle} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {HITSLOP_20} from '#/lib/constants' 6 7 import {android, atoms as a} from '#/alf'
+1 -1
src/components/contacts/components/OTPInput.tsx
··· 5 5 type TextInputSelectionChangeEvent, 6 6 View, 7 7 } from 'react-native' 8 - import {msg} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 10 11 11 import {mergeRefs} from '#/lib/merge-refs'
+1 -1
src/components/contacts/phone-number.ts
··· 1 - import {t} from '@lingui/macro' 1 + import {t} from '@lingui/core/macro' 2 2 import { 3 3 isSupportedCountry, 4 4 ParseError,
+2 -1
src/components/contacts/screens/GetContacts.tsx
··· 8 8 AppBskyContactImportContacts, 9 9 type Un$Typed, 10 10 } from '@atproto/api' 11 - import {msg, t, Trans} from '@lingui/macro' 11 + import {msg, t} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 + import {Trans} from '@lingui/react/macro' 13 14 import {useMutation, useQueryClient} from '@tanstack/react-query' 14 15 15 16 import {uploadBlob} from '#/lib/api'
+2 -1
src/components/contacts/screens/PhoneInput.tsx
··· 3 3 import {KeyboardAvoidingView} from 'react-native-keyboard-controller' 4 4 import {useSafeAreaInsets} from 'react-native-safe-area-context' 5 5 import {AppBskyContactStartPhoneVerification} from '@atproto/api' 6 - import {msg, Trans} from '@lingui/macro' 6 + import {msg} from '@lingui/core/macro' 7 7 import {useLingui} from '@lingui/react' 8 + import {Trans} from '@lingui/react/macro' 8 9 import {useMutation} from '@tanstack/react-query' 9 10 10 11 import {urls} from '#/lib/constants'
+2 -1
src/components/contacts/screens/VerifyNumber.tsx
··· 4 4 AppBskyContactStartPhoneVerification, 5 5 AppBskyContactVerifyPhone, 6 6 } from '@atproto/api' 7 - import {msg, Trans} from '@lingui/macro' 7 + import {msg} from '@lingui/core/macro' 8 8 import {useLingui} from '@lingui/react' 9 + import {Trans} from '@lingui/react/macro' 9 10 import {useMutation} from '@tanstack/react-query' 10 11 11 12 import {clamp} from '#/lib/numbers'
+2 -1
src/components/contacts/screens/ViewMatches.tsx
··· 3 3 import {useSafeAreaInsets} from 'react-native-safe-area-context' 4 4 import * as SMS from 'expo-sms' 5 5 import {type ModerationOpts} from '@atproto/api' 6 - import {msg, Plural, Trans} from '@lingui/macro' 6 + import {msg} from '@lingui/core/macro' 7 7 import {useLingui} from '@lingui/react' 8 + import {Plural, Trans} from '@lingui/react/macro' 8 9 import {useMutation, useQueryClient} from '@tanstack/react-query' 9 10 10 11 import {wait} from '#/lib/async/wait'
+2 -1
src/components/dialogs/BirthDateSettings.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useCleanError} from '#/lib/hooks/useCleanError' 7 8 import {isAppPassword} from '#/lib/jwt'
+2 -1
src/components/dialogs/DeviceLocationRequestDialog.tsx
··· 1 1 import {useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {wait} from '#/lib/async/wait' 7 8 import {isNetworkError, useCleanError} from '#/lib/hooks/useCleanError'
+2 -1
src/components/dialogs/EmailDialog/components/ResendEmailText.tsx
··· 1 1 import {useState} from 'react' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {wait} from '#/lib/async/wait' 6 7 import {atoms as a, type TextStyleProp, useTheme} from '#/alf'
+1 -1
src/components/dialogs/EmailDialog/components/TokenField.tsx
··· 1 1 import {type TextInputProps, View} from 'react-native' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import * as TextField from '#/components/forms/TextField'
+1 -1
src/components/dialogs/EmailDialog/index.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {web} from '#/alf'
+2 -1
src/components/dialogs/EmailDialog/screens/Manage2FA/Disable.tsx
··· 1 1 import {useReducer, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {wait} from '#/lib/async/wait' 7 8 import {useCleanError} from '#/lib/hooks/useCleanError'
+2 -1
src/components/dialogs/EmailDialog/screens/Manage2FA/Enable.tsx
··· 1 1 import {useReducer} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {wait} from '#/lib/async/wait' 7 8 import {useCleanError} from '#/lib/hooks/useCleanError'
+1 -1
src/components/dialogs/EmailDialog/screens/Manage2FA/index.tsx
··· 1 1 import {useEffect, useState} from 'react' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {useAccountEmailState} from '#/components/dialogs/EmailDialog/data/useAccountEmailState' 5 5 import {Disable} from '#/components/dialogs/EmailDialog/screens/Manage2FA/Disable'
+2 -1
src/components/dialogs/EmailDialog/screens/Update.tsx
··· 1 1 import {useReducer} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {validate as validateEmail} from 'email-validator' 6 7 7 8 import {wait} from '#/lib/async/wait'
+2 -1
src/components/dialogs/EmailDialog/screens/VerificationReminder.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {atoms as a, platform, tokens, useBreakpoints, useTheme} from '#/alf' 6 7 import {Button, ButtonText} from '#/components/Button'
+2 -1
src/components/dialogs/EmailDialog/screens/Verify.tsx
··· 1 1 import {useReducer} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {wait} from '#/lib/async/wait' 7 8 import {useCleanError} from '#/lib/hooks/useCleanError'
+2 -1
src/components/dialogs/Embed.tsx
··· 1 1 import {memo, useEffect, useMemo, useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyActorDefs, type AppBskyFeedPost, AtUri} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {EMBED_SCRIPT} from '#/lib/constants' 8 9 import {niceDate} from '#/lib/strings/time'
+2 -1
src/components/dialogs/EmbedConsent.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import { 7 8 type EmbedPlayerSource,
+2 -1
src/components/dialogs/GifSelect.tsx
··· 8 8 import {type TextInput, View} from 'react-native' 9 9 import {useWindowDimensions} from 'react-native' 10 10 import {Image} from 'expo-image' 11 - import {msg, Trans} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 + import {Trans} from '@lingui/react/macro' 13 14 14 15 import {cleanError} from '#/lib/strings/errors' 15 16 import {
+2 -1
src/components/dialogs/InAppBrowserConsent.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useOpenLink} from '#/lib/hooks/useOpenLink' 7 8 import {useSetInAppBrowser} from '#/state/preferences/in-app-browser'
+2 -1
src/components/dialogs/LanguageSelectDialog.tsx
··· 1 1 import {useCallback, useMemo, useState} from 'react' 2 2 import {useWindowDimensions, View} from 'react-native' 3 3 import {useSafeAreaInsets} from 'react-native-safe-area-context' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {languageName} from '#/locale/helpers' 8 9 import {type Language, LANGUAGES, LANGUAGES_MAP_CODE2} from '#/locale/languages'
+2 -1
src/components/dialogs/LinkWarning.tsx
··· 1 1 import {useCallback, useMemo} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useOpenLink} from '#/lib/hooks/useOpenLink' 7 8 import {shareUrl} from '#/lib/sharing'
+2 -1
src/components/dialogs/MutedWords.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {logger} from '#/logger' 8 9 import {
+2 -1
src/components/dialogs/PostInteractionSettingsDialog.tsx
··· 5 5 type AppBskyFeedPostgate, 6 6 AtUri, 7 7 } from '@atproto/api' 8 - import {msg, Plural, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Plural, Trans} from '@lingui/react/macro' 10 11 import {useQueryClient} from '@tanstack/react-query' 11 12 12 13 import {useHaptics} from '#/lib/haptics'
+2 -1
src/components/dialogs/SearchablePeopleList.tsx
··· 8 8 } from 'react' 9 9 import {TextInput, View} from 'react-native' 10 10 import {moderateProfile, type ModerationOpts} from '@atproto/api' 11 - import {msg, Trans} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 + import {Trans} from '@lingui/react/macro' 13 14 14 15 import {sanitizeDisplayName} from '#/lib/strings/display-names' 15 16 import {sanitizeHandle} from '#/lib/strings/handles'
+2 -1
src/components/dialogs/ServerInput.tsx
··· 1 1 import {useCallback, useImperativeHandle, useRef, useState} from 'react' 2 2 import {useWindowDimensions, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {BSKY_SERVICE} from '#/lib/constants' 7 8 import * as persisted from '#/state/persisted'
+2 -1
src/components/dialogs/Signin.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useLoggedOutViewControls} from '#/state/shell/logged-out' 7 8 import {useCloseAllActiveElements} from '#/state/util'
+2 -1
src/components/dialogs/StarterPackDialog.tsx
··· 4 4 type AppBskyGraphGetStarterPacksWithMembership, 5 5 AppBskyGraphStarterpack, 6 6 } from '@atproto/api' 7 - import {msg, Plural, Trans} from '@lingui/macro' 7 + import {msg} from '@lingui/core/macro' 8 8 import {useLingui} from '@lingui/react' 9 + import {Plural, Trans} from '@lingui/react/macro' 9 10 import {useNavigation} from '@react-navigation/native' 10 11 11 12 import {useRequireEmailVerification} from '#/lib/hooks/useRequireEmailVerification'
+2 -1
src/components/dialogs/SwitchAccount.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher' 7 8 import {type SessionAccount, useSession} from '#/state/session'
+2 -1
src/components/dialogs/lists/CreateListFromStarterPackDialog.tsx
··· 8 8 type ComAtprotoRepoApplyWrites, 9 9 } from '@atproto/api' 10 10 import {TID} from '@atproto/common-web' 11 - import {msg, Trans} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 + import {Trans} from '@lingui/react/macro' 13 14 import {useNavigation} from '@react-navigation/native' 14 15 import {useQueryClient} from '@tanstack/react-query' 15 16 import chunk from 'lodash.chunk'
+2 -1
src/components/dialogs/lists/CreateOrEditListDialog.tsx
··· 1 1 import {useCallback, useEffect, useMemo, useState} from 'react' 2 2 import {useWindowDimensions, View} from 'react-native' 3 3 import {type AppBskyGraphDefs, RichText as RichTextAPI} from '@atproto/api' 4 - import {msg, Plural, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Plural, Trans} from '@lingui/react/macro' 6 7 7 8 import {cleanError} from '#/lib/strings/errors' 8 9 import {isOverMaxGraphemeCount} from '#/lib/strings/helpers'
+2 -1
src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx
··· 1 1 import {useCallback, useMemo} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyGraphDefs, type ModerationOpts} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {cleanError} from '#/lib/strings/errors' 8 9 import {useModerationOpts} from '#/state/preferences/moderation-opts'
+2 -1
src/components/dialogs/nuxs/ActivitySubscriptions.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {atoms as a, useTheme, web} from '#/alf' 8 9 import {Button, ButtonText} from '#/components/Button'
+2 -1
src/components/dialogs/nuxs/BookmarksAnnouncement.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {LinearGradient} from 'expo-linear-gradient' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import {atoms as a, useTheme, web} from '#/alf' 9 10 import {transparentifyColor} from '#/alf/util/colorGeneration'
+2 -1
src/components/dialogs/nuxs/DraftsAnnouncement.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {LinearGradient} from 'expo-linear-gradient' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import {atoms as a, useTheme, web} from '#/alf' 9 10 import {Button, ButtonText} from '#/components/Button'
+2 -1
src/components/dialogs/nuxs/FindContactsAnnouncement.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {LinearGradient} from 'expo-linear-gradient' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import {atoms as a, useTheme, web} from '#/alf' 9 10 import {Button, ButtonText} from '#/components/Button'
+2 -1
src/components/dialogs/nuxs/InitialVerificationAnnouncement.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {urls} from '#/lib/constants' 8 9 import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+2 -1
src/components/dialogs/nuxs/LiveNowBetaDialog.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {LinearGradient} from 'expo-linear-gradient' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import {atoms as a, select, useTheme, utils, web} from '#/alf' 9 10 import {Button, ButtonText} from '#/components/Button'
+1 -1
src/components/dms/ActionsWrapper.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type ChatBskyConvoDefs} from '@atproto/api' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {atoms as a} from '#/alf'
+1 -1
src/components/dms/ActionsWrapper.web.tsx
··· 1 1 import {useCallback, useRef, useState} from 'react' 2 2 import {Pressable, View} from 'react-native' 3 3 import {type ChatBskyConvoDefs} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {useConvoActive} from '#/state/messages/convo'
+2 -1
src/components/dms/AfterReportDialog.tsx
··· 1 1 import {memo, useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyActorDefs, type ChatBskyConvoDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {StackActions, useNavigation} from '@react-navigation/native' 7 8 import type React from 'react' 8 9
+1 -1
src/components/dms/BlockedByListDialog.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {type ModerationCause} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {listUriToHref} from '#/lib/strings/url-helpers'
+1 -1
src/components/dms/ChatEmptyPill.tsx
··· 6 6 useSharedValue, 7 7 withTiming, 8 8 } from 'react-native-reanimated' 9 - import {msg} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 12 12 import {ScaleAndFadeIn} from '#/lib/custom-animations/ScaleAndFade'
+2 -1
src/components/dms/ConvoMenu.tsx
··· 1 1 import React, {useCallback} from 'react' 2 2 import {Keyboard, View} from 'react-native' 3 3 import {type ChatBskyConvoDefs, type ModerationCause} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useNavigation} from '@react-navigation/native' 7 8 8 9 import {type NavigationProp} from '#/lib/routes/types'
+2 -1
src/components/dms/DateDivider.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {subDays} from 'date-fns' 6 7 7 8 import {atoms as a, useTheme} from '#/alf'
+2 -1
src/components/dms/EmojiPopup.android.tsx
··· 1 1 import {useState} from 'react' 2 2 import {Modal, Pressable, View} from 'react-native' 3 3 import {SafeAreaView} from 'react-native-safe-area-context' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {atoms as a, useTheme} from '#/alf' 8 9 import {Button, ButtonIcon} from '#/components/Button'
+1 -1
src/components/dms/EmojiReactionPicker.tsx
··· 1 1 import {useMemo, useState} from 'react' 2 2 import {useWindowDimensions, View} from 'react-native' 3 3 import {type ChatBskyConvoDefs} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {useSession} from '#/state/session'
+1 -1
src/components/dms/EmojiReactionPicker.web.tsx
··· 2 2 import {Pressable, View} from 'react-native' 3 3 import {type ChatBskyConvoDefs} from '@atproto/api' 4 4 import EmojiPicker from '@emoji-mart/react' 5 - import {msg} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 7 import {DropdownMenu} from 'radix-ui' 8 8
+1 -1
src/components/dms/LeaveConvoPrompt.tsx
··· 1 - import {msg} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 3 import {StackActions, useNavigation} from '@react-navigation/native' 4 4
+1 -1
src/components/dms/MessageContextMenu.tsx
··· 2 2 import {LayoutAnimation} from 'react-native' 3 3 import * as Clipboard from 'expo-clipboard' 4 4 import {type ChatBskyConvoDefs, RichText} from '@atproto/api' 5 - import {msg} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 7 8 8 import {useTranslate} from '#/lib/hooks/useTranslate'
+1 -1
src/components/dms/MessageItem.tsx
··· 17 17 RichText as RichTextAPI, 18 18 } from '@atproto/api' 19 19 import {type I18n} from '@lingui/core' 20 - import {msg} from '@lingui/macro' 20 + import {msg} from '@lingui/core/macro' 21 21 import {useLingui} from '@lingui/react' 22 22 23 23 import {sanitizeDisplayName} from '#/lib/strings/display-names'
+2 -1
src/components/dms/MessageProfileButton.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyActorDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useNavigation} from '@react-navigation/native' 7 8 8 9 import {useRequireEmailVerification} from '#/lib/hooks/useRequireEmailVerification'
+2 -1
src/components/dms/MessagesListBlockedFooter.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {type ModerationDecision} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {useProfileShadow} from '#/state/cache/profile-shadow' 8 9 import {useProfileBlockMutationQueue} from '#/state/queries/profile'
+1 -1
src/components/dms/MessagesListHeader.tsx
··· 5 5 type ModerationCause, 6 6 type ModerationDecision, 7 7 } from '@atproto/api' 8 - import {msg} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 10 11 11 import {makeProfileLink} from '#/lib/routes/links'
+1 -1
src/components/dms/NewMessagesPill.tsx
··· 7 7 withTiming, 8 8 } from 'react-native-reanimated' 9 9 import {useSafeAreaInsets} from 'react-native-safe-area-context' 10 - import {Trans} from '@lingui/macro' 10 + import {Trans} from '@lingui/react/macro' 11 11 12 12 import { 13 13 ScaleAndFadeIn,
+1 -1
src/components/dms/ReportConversationPrompt.tsx
··· 1 - import {msg} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 3 4 4 import {type DialogControlProps} from '#/components/Dialog'
+2 -1
src/components/dms/dialogs/NewChatDialog.tsx
··· 1 1 import {useCallback} from 'react' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {useRequireEmailVerification} from '#/lib/hooks/useRequireEmailVerification' 6 7 import {logger} from '#/logger'
+1 -1
src/components/dms/dialogs/ShareViaChatDialog.tsx
··· 1 1 import {useCallback} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {logger} from '#/logger'
+2 -1
src/components/forms/DateField/index.tsx
··· 1 1 import {useCallback, useImperativeHandle} from 'react' 2 2 import {Keyboard, View} from 'react-native' 3 3 import DatePicker from 'react-native-date-picker' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {atoms as a, useTheme} from '#/alf' 8 9 import {Button, ButtonText} from '#/components/Button'
+2 -1
src/components/forms/HostingProvider.tsx
··· 1 1 import React from 'react' 2 2 import {Keyboard, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {toNiceDomain} from '#/lib/strings/url-helpers' 7 8 import {atoms as a, tokens, useTheme} from '#/alf'
+1 -1
src/components/forms/SearchInput.tsx
··· 1 1 import React from 'react' 2 2 import {type TextInput, View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {HITSLOP_10} from '#/lib/constants'
+1 -1
src/components/hooks/useFollowMethods.ts
··· 1 1 import React from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {logger} from '#/logger'
+1 -1
src/components/images/AutoSizedImage.tsx
··· 7 7 import {Image} from 'expo-image' 8 8 import {type AppBskyEmbedImages} from '@atproto/api' 9 9 import {utils} from '@bsky.app/alf' 10 - import {msg} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 12 13 13 import {type Dimensions} from '#/lib/media/types'
+1 -1
src/components/images/Gallery.tsx
··· 3 3 import {Image, type ImageStyle} from 'expo-image' 4 4 import {type AppBskyEmbedImages} from '@atproto/api' 5 5 import {utils} from '@bsky.app/alf' 6 - import {msg} from '@lingui/macro' 6 + import {msg} from '@lingui/core/macro' 7 7 import {useLingui} from '@lingui/react' 8 8 9 9 import {type Dimensions} from '#/lib/media/types'
+2 -1
src/components/intents/VerifyEmailIntentDialog.tsx
··· 1 1 import {useEffect, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useAgent, useSession} from '#/state/session' 7 8 import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+1 -1
src/components/interstitials/Trending.tsx
··· 1 1 import React from 'react' 2 2 import {ScrollView, View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {
+2 -1
src/components/interstitials/TrendingVideos.tsx
··· 1 1 import {useCallback, useEffect, useMemo} from 'react' 2 2 import {ScrollView, View} from 'react-native' 3 3 import {AppBskyEmbedVideo, AtUri} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useQueryClient} from '@tanstack/react-query' 7 8 8 9 import {VIDEO_FEED_URI} from '#/lib/constants'
+2 -1
src/components/moderation/ContentHider.tsx
··· 6 6 type ViewStyle, 7 7 } from 'react-native' 8 8 import {type ModerationUI} from '@atproto/api' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 12 13 import { 13 14 ADULT_CONTENT_LABELS,
+2 -1
src/components/moderation/LabelPreference.tsx
··· 3 3 type InterpretedLabelValueDefinition, 4 4 type LabelPreference, 5 5 } from '@atproto/api' 6 - import {msg, Trans} from '@lingui/macro' 6 + import {msg} from '@lingui/core/macro' 7 7 import {useLingui} from '@lingui/react' 8 + import {Trans} from '@lingui/react/macro' 8 9 9 10 import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings' 10 11 import {useLabelBehaviorDescription} from '#/lib/moderation/useLabelBehaviorDescription'
+2 -1
src/components/moderation/LabelsOnMe.tsx
··· 1 1 import {type StyleProp, View, type ViewStyle} from 'react-native' 2 2 import {type AppBskyFeedDefs, type ComAtprotoLabelDefs} from '@atproto/api' 3 - import {msg, Plural, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Plural, Trans} from '@lingui/react/macro' 5 6 6 7 import {useSession} from '#/state/session' 7 8 import {atoms as a} from '#/alf'
+2 -1
src/components/moderation/LabelsOnMeDialog.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {type ComAtprotoLabelDefs, ToolsOzoneReportDefs} from '@atproto/api' 4 4 import {XRPCError} from '@atproto/xrpc' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 import {useMutation} from '@tanstack/react-query' 8 9 9 10 import {useGetTimeAgo} from '#/lib/hooks/useTimeAgo'
+2 -1
src/components/moderation/ModerationDetailsDialog.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type ModerationCause} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useGetTimeAgo} from '#/lib/hooks/useTimeAgo' 7 8 import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
+2 -1
src/components/moderation/PostHider.tsx
··· 12 12 type ModerationCause, 13 13 type ModerationUI, 14 14 } from '@atproto/api' 15 - import {msg, Trans} from '@lingui/macro' 15 + import {msg} from '@lingui/core/macro' 16 16 import {useLingui} from '@lingui/react' 17 + import {Trans} from '@lingui/react/macro' 17 18 import {useQueryClient} from '@tanstack/react-query' 18 19 19 20 import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
+1 -1
src/components/moderation/ReportDialog/action.ts
··· 3 3 type ChatBskyConvoDefs, 4 4 type ComAtprotoModerationCreateReport, 5 5 } from '@atproto/api' 6 - import {msg} from '@lingui/macro' 6 + import {msg} from '@lingui/core/macro' 7 7 import {useLingui} from '@lingui/react' 8 8 import {useMutation} from '@tanstack/react-query' 9 9
+1 -1
src/components/moderation/ReportDialog/copy.ts
··· 1 1 import {useMemo} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {type ParsedReportSubject} from './types'
+3 -4
src/components/moderation/ReportDialog/index.tsx
··· 1 1 import React from 'react' 2 2 import {Pressable, type ScrollView, View} from 'react-native' 3 3 import {type AppBskyLabelerDefs, BSKY_LABELER_DID} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {wait} from '#/lib/async/wait' 8 9 import {getLabelingServiceTitle} from '#/lib/moderation' ··· 168 169 if (supportedReasonTypes === undefined) return true 169 170 return ( 170 171 // supports new reason type 171 - supportedReasonTypes.includes(state.selectedOption.reason) || 172 - // supports old reason type (backwards compat) 172 + supportedReasonTypes.includes(state.selectedOption.reason) || // supports old reason type (backwards compat) 173 173 supportedReasonTypes.includes( 174 174 NEW_TO_OLD_REASONS_MAP[state.selectedOption.reason], 175 175 ) ··· 575 575 )} 576 576 </StepOuter> 577 577 </View> 578 - 579 578 <Dialog.Close /> 580 579 </Dialog.ScrollableInner> 581 580 )
+2 -2
src/components/moderation/ReportDialog/utils/useReportOptions.ts
··· 1 1 import {useMemo} from 'react' 2 2 import {ToolsOzoneReportDefs as OzoneReportDefs} from '@atproto/api' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 export type ReportCategory = ··· 247 247 } 248 248 249 249 return { 250 - categories: Object.values(categories) as ReportCategoryConfig[], 250 + categories: Object.values(categories), 251 251 getCategory(reasonName: ReportCategory) { 252 252 return categories[reasonName] 253 253 },
+2 -1
src/components/moderation/ScreenHider.tsx
··· 6 6 type ViewStyle, 7 7 } from 'react-native' 8 8 import {type ModerationUI} from '@atproto/api' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 import {useNavigation} from '@react-navigation/native' 12 13 13 14 import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
+1 -1
src/components/verification/VerificationCheckButton.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {type Shadow} from '#/state/cache/types'
+2 -1
src/components/verification/VerificationCreatePrompt.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {logger} from '#/logger' 7 8 import {useModerationOpts} from '#/state/preferences/moderation-opts'
+1 -1
src/components/verification/VerificationRemovePrompt.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {type AppBskyActorDefs} from '@atproto/api' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {logger} from '#/logger'
+2 -1
src/components/verification/VerificationsDialog.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type AppBskyActorDefs} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {urls} from '#/lib/constants' 7 8 import {getUserDisplayName} from '#/lib/getUserDisplayName'
+2 -1
src/components/verification/VerifierDialog.tsx
··· 1 1 import {Text as RNText, View} from 'react-native' 2 2 import {Image} from 'expo-image' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {urls} from '#/lib/constants' 7 8 import {getUserDisplayName} from '#/lib/getUserDisplayName'
+2 -1
src/features/liveEvents/components/DiscoverFeedLiveEventFeedsAndTrendingBanner.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {useTrendingSettings} from '#/state/preferences/trending' 6 7 import {atoms as a, useLayoutBreakpoints} from '#/alf'
+1 -1
src/features/liveEvents/components/LiveEventFeedCardCompact.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {LinearGradient} from 'expo-linear-gradient' 5 - import {msg} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 7 8 8 import {useCallOnce} from '#/lib/once'
+2 -1
src/features/liveEvents/components/LiveEventFeedCardWide.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {LinearGradient} from 'expo-linear-gradient' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import {useCallOnce} from '#/lib/once' 9 10 import {isBskyCustomFeedUrl} from '#/lib/strings/url-helpers'
+2 -1
src/features/liveEvents/components/LiveEventFeedOptionsMenu.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {useCleanError} from '#/lib/hooks/useCleanError' 6 7 import {atoms as a, web} from '#/alf'
+2 -1
src/features/liveEvents/components/LiveEventFeedsSettingsToggle.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 4 5 import * as SettingsList from '#/screens/Settings/components/SettingsList' 5 6 import * as Toggle from '#/components/forms/Toggle'
+2 -1
src/features/liveEvents/components/SidebarLiveEventFeedsBanner.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {atoms as a} from '#/alf' 6 7 import {Button} from '#/components/Button'
+2 -1
src/features/liveNow/components/EditLiveDialog.tsx
··· 5 5 AppBskyActorStatus, 6 6 type AppBskyEmbedExternal, 7 7 } from '@atproto/api' 8 - import {msg, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 import {differenceInMinutes} from 'date-fns' 11 12 12 13 import {useDebouncedValue} from '#/lib/hooks/useDebouncedValue'
+2 -1
src/features/liveNow/components/GoLiveDialog.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useDebouncedValue} from '#/lib/hooks/useDebouncedValue' 7 8 import {cleanError} from '#/lib/strings/errors'
+2 -1
src/features/liveNow/components/GoLiveDisabledDialog.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyActorDefs, ToolsOzoneReportDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useMutation} from '@tanstack/react-query' 7 8 8 9 import {BLUESKY_MOD_SERVICE_HEADERS} from '#/lib/constants'
+1 -1
src/features/liveNow/components/LinkPreview.tsx
··· 1 1 import {useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 - import {Trans} from '@lingui/macro' 4 + import {Trans} from '@lingui/react/macro' 5 5 6 6 import {type LinkMeta} from '#/lib/link-meta/link-meta' 7 7 import {toNiceDomain} from '#/lib/strings/url-helpers'
+1 -1
src/features/liveNow/components/LiveIndicator.tsx
··· 1 1 import {type StyleProp, View, type ViewStyle} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {atoms as a, tokens, useTheme} from '#/alf' 5 5 import {Text} from '#/components/Typography'
+2 -1
src/features/liveNow/components/LiveStatusDialog.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {type AppBskyActorDefs, type AppBskyEmbedExternal} from '@atproto/api' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 import {useNavigation} from '@react-navigation/native' 8 9 import {useQueryClient} from '@tanstack/react-query' 9 10
+1 -1
src/features/liveNow/index.tsx
··· 8 8 ComAtprotoRepoPutRecord, 9 9 } from '@atproto/api' 10 10 import {retry} from '@atproto/common-web' 11 - import {msg} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 13 import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query' 14 14 import {isAfter, parseISO} from 'date-fns'
+1 -1
src/features/liveNow/utils.ts
··· 1 1 import {type I18n} from '@lingui/core' 2 - import {plural} from '@lingui/macro' 2 + import {plural} from '@lingui/core/macro' 3 3 import psl from 'psl' 4 4 5 5 export function displayDuration(i18n: I18n, durationInMinutes: number) {
+1 -1
src/lib/api/index.ts
··· 16 16 } from '@atproto/api' 17 17 import {TID} from '@atproto/common-web' 18 18 import * as dcbor from '@ipld/dag-cbor' 19 - import {t} from '@lingui/macro' 19 + import {t} from '@lingui/core/macro' 20 20 import {type QueryClient} from '@tanstack/react-query' 21 21 import {sha256} from 'js-sha256' 22 22 import {CID} from 'multiformats/cid'
+1 -1
src/lib/generate-starterpack.ts
··· 6 6 type ComAtprotoRepoApplyWrites, 7 7 type Facet, 8 8 } from '@atproto/api' 9 - import {msg} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 import {useMutation} from '@tanstack/react-query' 12 12
+1 -1
src/lib/hooks/useAccountSwitcher.ts
··· 1 1 import {useCallback, useState} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {logger} from '#/logger'
+1 -1
src/lib/hooks/useCleanError.ts
··· 1 1 import {useCallback} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 type CleanedError = {
+1 -1
src/lib/hooks/useCreateSupportLink.ts
··· 1 1 import {useCallback} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {useSession} from '#/state/session'
+1 -1
src/lib/hooks/useNotificationHandler.ts
··· 1 1 import {useEffect} from 'react' 2 2 import * as Notifications from 'expo-notifications' 3 3 import {AtUri} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {CommonActions, useNavigation} from '@react-navigation/native' 7 7 import {useQueryClient} from '@tanstack/react-query'
+1 -1
src/lib/hooks/useOpenComposer.tsx
··· 1 1 import {useMemo} from 'react' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {useRequireEmailVerification} from '#/lib/hooks/useRequireEmailVerification' 5 5 import {useOpenComposer as useRootOpenComposer} from '#/state/shell/composer'
+1 -1
src/lib/hooks/useTimeAgo.ts
··· 1 1 import {useCallback} from 'react' 2 2 import {type I18n} from '@lingui/core' 3 - import {defineMessage, msg, plural} from '@lingui/macro' 3 + import {defineMessage, msg, plural} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import {differenceInSeconds} from 'date-fns' 6 6
+1 -1
src/lib/interests.ts
··· 1 1 import {useMemo} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 export const interests = [
+1 -1
src/lib/media/picker.shared.ts
··· 3 3 launchImageLibraryAsync, 4 4 UIImagePickerPreferredAssetRepresentationMode, 5 5 } from 'expo-image-picker' 6 - import {t} from '@lingui/macro' 6 + import {t} from '@lingui/core/macro' 7 7 8 8 import {type ImageMeta} from '#/state/gallery' 9 9 import * as Toast from '#/view/com/util/Toast'
+1 -1
src/lib/media/picker.tsx
··· 2 2 import ExpoImageCropTool, { 3 3 type OpenCropperOptions, 4 4 } from '@bsky.app/expo-image-crop-tool' 5 - import {t} from '@lingui/macro' 5 + import {t} from '@lingui/core/macro' 6 6 7 7 export { 8 8 openPicker,
+1 -1
src/lib/media/save-image.ios.ts
··· 1 1 import {useCallback} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import * as Toast from '#/components/Toast'
+1 -1
src/lib/media/save-image.ts
··· 1 1 import {useCallback} from 'react' 2 2 import * as MediaLibrary from 'expo-media-library' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import * as Toast from '#/components/Toast'
+1 -1
src/lib/media/video/upload.shared.ts
··· 1 1 import {type BskyAgent} from '@atproto/api' 2 2 import {type I18n} from '@lingui/core' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 5 5 import {VIDEO_SERVICE_DID} from '#/lib/constants' 6 6 import {UploadLimitError} from '#/lib/media/video/errors'
+1 -1
src/lib/media/video/upload.ts
··· 1 1 import {createUploadTask, FileSystemUploadType} from 'expo-file-system/legacy' 2 2 import {type AppBskyVideoDefs, type BskyAgent} from '@atproto/api' 3 3 import {type I18n} from '@lingui/core' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {nanoid} from 'nanoid/non-secure' 6 6 7 7 import {AbortError} from '#/lib/async/cancelable'
+2 -3
src/lib/media/video/upload.web.ts
··· 1 - import {type AppBskyVideoDefs} from '@atproto/api' 2 - import {type BskyAgent} from '@atproto/api' 1 + import {type AppBskyVideoDefs, type BskyAgent} from '@atproto/api' 3 2 import {type I18n} from '@lingui/core' 4 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 5 4 import {nanoid} from 'nanoid/non-secure' 6 5 7 6 import {AbortError} from '#/lib/async/cancelable'
+1 -1
src/lib/moderation/useGlobalLabelStrings.ts
··· 1 1 import {useMemo} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 export type GlobalLabelStrings = Record<
+1 -1
src/lib/moderation/useLabelBehaviorDescription.ts
··· 2 2 type InterpretedLabelValueDefinition, 3 3 type LabelPreference, 4 4 } from '@atproto/api' 5 - import {msg} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 7 8 8 export function useLabelBehaviorDescription(
+1 -1
src/lib/moderation/useModerationCauseDescription.ts
··· 4 4 type ModerationCause, 5 5 type ModerationCauseSource, 6 6 } from '@atproto/api' 7 - import {msg} from '@lingui/macro' 7 + import {msg} from '@lingui/core/macro' 8 8 import {useLingui} from '@lingui/react' 9 9 10 10 import {sanitizeHandle} from '#/lib/strings/handles'
+1 -2
src/lib/sharing.ts
··· 1 1 import {Share} from 'react-native' 2 2 // import * as Sharing from 'expo-sharing' 3 3 import {setStringAsync} from 'expo-clipboard' 4 - // TODO: replace global i18n instance with one returned from useLingui -sfn 5 - import {t} from '@lingui/macro' 4 + import {t} from '@lingui/core/macro' 6 5 7 6 import * as Toast from '#/view/com/util/Toast' 8 7 import {IS_ANDROID, IS_IOS} from '#/env'
+1 -1
src/lib/strings/errors.ts
··· 1 1 import {XRPCError} from '@atproto/xrpc' 2 - import {t} from '@lingui/macro' 2 + import {t} from '@lingui/core/macro' 3 3 4 4 export function cleanError(str: any): string { 5 5 if (!str) {
+1 -1
src/lib/strings/time.ts
··· 1 1 import {type I18n} from '@lingui/core' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 4 4 export function niceDate( 5 5 i18n: I18n,
+2 -1
src/screens/Bookmarks/components/EmptyState.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {atoms as a, useTheme} from '#/alf' 6 7 import {ButtonText} from '#/components/Button'
+2 -1
src/screens/Bookmarks/index.tsx
··· 5 5 type AppBskyBookmarkDefs, 6 6 AppBskyFeedDefs, 7 7 } from '@atproto/api' 8 - import {msg, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 import { 11 12 type NavigationProp, 12 13 useFocusEffect,
+2 -1
src/screens/Deactivated.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {useSafeAreaInsets} from 'react-native-safe-area-context' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useQueryClient} from '@tanstack/react-query' 7 8 8 9 import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher'
+2 -1
src/screens/Feeds/NoFollowingFeed.tsx
··· 1 1 import {type GestureResponderEvent, View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {TIMELINE_SAVED_FEED} from '#/lib/constants' 6 7 import {useAddSavedFeedsMutation} from '#/state/queries/preferences'
+2 -1
src/screens/Feeds/NoSavedFeedsOfAnyType.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {TID} from '@atproto/common-web' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {RECOMMENDED_SAVED_FEEDS} from '#/lib/constants' 7 8 import {useOverwriteSavedFeedsMutation} from '#/state/queries/preferences'
+1 -1
src/screens/FindContactsFlowScreen.tsx
··· 1 1 import {useCallback, useLayoutEffect, useState} from 'react' 2 2 import {LayoutAnimationConfig} from 'react-native-reanimated' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import {usePreventRemove} from '@react-navigation/native' 6 6
+3 -2
src/screens/Hashtag.tsx
··· 1 1 import React from 'react' 2 2 import {type ListRenderItemInfo, View} from 'react-native' 3 3 import {type AppBskyFeedDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useFocusEffect} from '@react-navigation/native' 7 8 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 8 9 ··· 64 65 }, [fullTag, isCashtag]) 65 66 66 67 const sanitizedAuthor = React.useMemo(() => { 67 - if (!author) return 68 + if (!author) return '' 68 69 return sanitizeHandle(author) 69 70 }, [author]) 70 71
+2 -1
src/screens/Home/NoFeedsPinned.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {TID} from '@atproto/common-web' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {DISCOVER_SAVED_FEED, TIMELINE_SAVED_FEED} from '#/lib/constants' 8 9 import {useOverwriteSavedFeedsMutation} from '#/state/queries/preferences'
+7 -3
src/screens/List/ListHiddenScreen.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {AppBskyGraphDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useQueryClient} from '@tanstack/react-query' 7 8 8 9 import {useGoBack} from '#/lib/hooks/useGoBack' 9 10 import {sanitizeHandle} from '#/lib/strings/handles' 10 11 import {logger} from '#/logger' 11 - import {RQKEY_ROOT as listQueryRoot} from '#/state/queries/list' 12 - import {useListBlockMutation, useListMuteMutation} from '#/state/queries/list' 12 + import { 13 + RQKEY_ROOT as listQueryRoot, 14 + useListBlockMutation, 15 + useListMuteMutation, 16 + } from '#/state/queries/list' 13 17 import { 14 18 type UsePreferencesQueryResponse, 15 19 useRemoveFeedMutation,
+4 -5
src/screens/Log.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 - import {LayoutAnimation, View} from 'react-native' 3 - import {Pressable} from 'react-native' 4 - import {msg, Trans} from '@lingui/macro' 2 + import {LayoutAnimation, Pressable, View} from 'react-native' 3 + import {msg} from '@lingui/core/macro' 5 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 6 6 import {useFocusEffect} from '@react-navigation/native' 7 7 8 8 import {useGetTimeAgo} from '#/lib/hooks/useTimeAgo' ··· 11 11 type NativeStackScreenProps, 12 12 } from '#/lib/routes/types' 13 13 import {getEntries} from '#/logger/logDump' 14 - import {useTickEveryMinute} from '#/state/shell' 15 - import {useSetMinimalShellMode} from '#/state/shell' 14 + import {useSetMinimalShellMode, useTickEveryMinute} from '#/state/shell' 16 15 import {atoms as a, useTheme} from '#/alf' 17 16 import { 18 17 ChevronBottom_Stroke2_Corner0_Rounded as ChevronBottomIcon,
+2 -1
src/screens/Login/ChooseAccountForm.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {logger} from '#/logger' 7 8 import {type SessionAccount, useSession, useSessionApi} from '#/state/session'
+2 -1
src/screens/Login/ForgotPasswordForm.tsx
··· 1 1 import React, {useState} from 'react' 2 2 import {Keyboard, View} from 'react-native' 3 3 import {type ComAtprotoServerDescribeServer} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import * as EmailValidator from 'email-validator' 7 8 8 9 import {cleanError, isNetworkError} from '#/lib/strings/errors'
+2 -1
src/screens/Login/LoginForm.tsx
··· 4 4 ComAtprotoServerCreateSession, 5 5 type ComAtprotoServerDescribeServer, 6 6 } from '@atproto/api' 7 - import {msg, Trans} from '@lingui/macro' 7 + import {msg} from '@lingui/core/macro' 8 8 import {useLingui} from '@lingui/react' 9 + import {Trans} from '@lingui/react/macro' 9 10 10 11 import {useRequestNotificationsPermission} from '#/lib/notifications/notifications' 11 12 import {cleanError, isNetworkError} from '#/lib/strings/errors'
+2 -1
src/screens/Login/PasswordUpdatedForm.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {atoms as a, useBreakpoints, web} from '#/alf' 6 7 import {Button, ButtonText} from '#/components/Button'
+2 -1
src/screens/Login/SetNewPasswordForm.tsx
··· 1 1 import {useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {cleanError, isNetworkError} from '#/lib/strings/errors' 7 8 import {checkAndFormatResetCode} from '#/lib/strings/password'
+1 -1
src/screens/Login/components/AuthLayout/Header/index.tsx
··· 1 1 import {useContext} from 'react' 2 2 import {type GestureResponderEvent, View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {HITSLOP_30} from '#/lib/constants'
+1 -1
src/screens/Login/index.tsx
··· 1 1 import {useEffect, useRef, useState} from 'react' 2 2 import {KeyboardAvoidingView} from 'react-native' 3 3 import Animated, {FadeIn, LayoutAnimationConfig} from 'react-native-reanimated' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {DEFAULT_SERVICE} from '#/lib/constants'
+7 -2
src/screens/Messages/ChatList.tsx
··· 2 2 import {View} from 'react-native' 3 3 import {useAnimatedRef} from 'react-native-reanimated' 4 4 import {type ChatBskyActorDefs, type ChatBskyConvoDefs} from '@atproto/api' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 import {useFocusEffect, useIsFocused} from '@react-navigation/native' 8 9 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 9 10 ··· 188 189 ] 189 190 : []), 190 191 ...conversations.map( 191 - convo => ({type: 'CONVERSATION', conversation: convo}) as const, 192 + convo => 193 + ({ 194 + type: 'CONVERSATION', 195 + conversation: convo, 196 + }) as const, 192 197 ), 193 198 ] satisfies ListItem[] 194 199 }
+2 -1
src/screens/Messages/Conversation.tsx
··· 5 5 moderateProfile, 6 6 type ModerationDecision, 7 7 } from '@atproto/api' 8 - import {msg, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 import { 11 12 type RouteProp, 12 13 useFocusEffect,
+2 -1
src/screens/Messages/Inbox.tsx
··· 4 4 type ChatBskyConvoDefs, 5 5 type ChatBskyConvoListConvos, 6 6 } from '@atproto/api' 7 - import {msg, Trans} from '@lingui/macro' 7 + import {msg} from '@lingui/core/macro' 8 8 import {useLingui} from '@lingui/react' 9 + import {Trans} from '@lingui/react/macro' 9 10 import {useFocusEffect, useNavigation} from '@react-navigation/native' 10 11 import { 11 12 type InfiniteData,
+2 -1
src/screens/Messages/Settings.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 6 7 7 8 import {type CommonNavigatorParams} from '#/lib/routes/types'
+2 -1
src/screens/Messages/components/ChatDisabled.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {ToolsOzoneReportDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useMutation} from '@tanstack/react-query' 7 8 8 9 import {BLUESKY_MOD_SERVICE_HEADERS} from '#/lib/constants'
+1 -1
src/screens/Messages/components/ChatListItem.tsx
··· 6 6 moderateProfile, 7 7 type ModerationOpts, 8 8 } from '@atproto/api' 9 - import {msg} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 import {useQueryClient} from '@tanstack/react-query' 12 12
+1 -1
src/screens/Messages/components/ChatStatusInfo.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {type ActiveConvoStates} from '#/state/messages/convo'
+2 -1
src/screens/Messages/components/InboxPreview.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type ChatBskyActorDefs} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {atoms as a, useTheme} from '#/alf' 7 8 import {AvatarStack} from '#/components/AvatarStack'
+1 -1
src/screens/Messages/components/MessageInput.tsx
··· 12 12 useSharedValue, 13 13 } from 'react-native-reanimated' 14 14 import {useSafeAreaInsets} from 'react-native-safe-area-context' 15 - import {msg} from '@lingui/macro' 15 + import {msg} from '@lingui/core/macro' 16 16 import {useLingui} from '@lingui/react' 17 17 import {countGraphemes} from 'unicode-segmenter/grapheme' 18 18
+1 -1
src/screens/Messages/components/MessageInput.web.tsx
··· 1 1 import React from 'react' 2 2 import {Pressable, View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import {flushSync} from 'react-dom' 6 6 import TextareaAutosize from 'react-textarea-autosize'
+1 -1
src/screens/Messages/components/MessageInputEmbed.tsx
··· 7 7 moderatePost, 8 8 RichText as RichTextAPI, 9 9 } from '@atproto/api' 10 - import {msg} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 12 import {type RouteProp, useNavigation, useRoute} from '@react-navigation/native' 13 13
+1 -1
src/screens/Messages/components/MessageListError.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {type ConvoItem, ConvoItemError} from '#/state/messages/convo/types'
+2 -1
src/screens/Messages/components/RequestButtons.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {type ChatBskyActorDefs, ChatBskyConvoDefs} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {StackActions, useNavigation} from '@react-navigation/native' 6 7 import {useQueryClient} from '@tanstack/react-query' 7 8
+1 -1
src/screens/Messages/components/RequestListItem.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type ChatBskyConvoDefs} from '@atproto/api' 3 - import {Trans} from '@lingui/macro' 3 + import {Trans} from '@lingui/react/macro' 4 4 5 5 import {useModerationOpts} from '#/state/preferences/moderation-opts' 6 6 import {useSession} from '#/state/session'
+2 -1
src/screens/Moderation/VerificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {urls} from '#/lib/constants' 6 7 import {
+2 -1
src/screens/Moderation/index.tsx
··· 1 1 import {Fragment, useCallback} from 'react' 2 2 import {Linking, View} from 'react-native' 3 3 import {LABELS} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useFocusEffect} from '@react-navigation/native' 7 8 8 9 import {getLabelingServiceTitle, isAppLabeler} from '#/lib/moderation'
+2 -1
src/screens/ModerationInteractionSettings/index.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import deepEqual from 'fast-deep-equal' 6 7 7 8 import {logger} from '#/logger'
+2 -1
src/screens/Notifications/ActivityList.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 4 5 5 6 import {type AllNavigatorParams} from '#/lib/routes/types'
+3 -3
src/screens/Onboarding/Layout.tsx
··· 1 1 import {useEffect, useRef, useState} from 'react' 2 2 import {ScrollView, View} from 'react-native' 3 3 import {useSafeAreaInsets} from 'react-native-safe-area-context' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {useOnboardingDispatch} from '#/state/shell' 8 9 import {useOnboardingInternalState} from '#/screens/Onboarding/state' ··· 20 21 import {HEADER_SLOT_SIZE} from '#/components/Layout' 21 22 import {createPortalGroup} from '#/components/Portal' 22 23 import {P, Text} from '#/components/Typography' 23 - import {IS_ANDROID, IS_WEB} from '#/env' 24 - import {IS_INTERNAL} from '#/env' 24 + import {IS_ANDROID, IS_INTERNAL, IS_WEB} from '#/env' 25 25 26 26 const ONBOARDING_COL_WIDTH = 420 27 27
+2 -1
src/screens/Onboarding/StepFindContactsIntro/index.tsx
··· 1 1 import {View} from 'react-native' 2 2 import * as Contacts from 'expo-contacts' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useQuery} from '@tanstack/react-query' 6 7 7 8 import {urls} from '#/lib/constants'
+1 -1
src/screens/Onboarding/StepFinished/ValuePropositionPager.shared.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {atoms as a, useTheme} from '#/alf'
+1 -1
src/screens/Onboarding/StepFinished/ValuePropositionPager.tsx
··· 2 2 import {View} from 'react-native' 3 3 import PagerView from 'react-native-pager-view' 4 4 import {Image} from 'expo-image' 5 - import {msg} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 7 8 8 import {atoms as a, tokens, useTheme} from '#/alf'
+1 -1
src/screens/Onboarding/StepFinished/ValuePropositionPager.web.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {Image} from 'expo-image' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {atoms as a, useTheme} from '#/alf'
+2 -1
src/screens/Onboarding/StepFinished/index.tsx
··· 8 8 type Un$Typed, 9 9 } from '@atproto/api' 10 10 import {TID} from '@atproto/common-web' 11 - import {msg, Trans} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 + import {Trans} from '@lingui/react/macro' 13 14 import {useQueryClient} from '@tanstack/react-query' 14 15 15 16 import {uploadBlob} from '#/lib/api'
+2 -1
src/screens/Onboarding/StepInterests/index.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {interests, useInterestsDisplayNames} from '#/lib/interests' 7 8 import {capitalize} from '#/lib/strings/capitalize'
+1 -1
src/screens/Onboarding/StepProfile/AvatarCircle.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {Image as ExpoImage} from 'expo-image' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {AvatarCreatorCircle} from '#/screens/Onboarding/StepProfile/AvatarCreatorCircle'
+2 -1
src/screens/Onboarding/StepProfile/AvatarCreatorItems.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {type Avatar} from '#/screens/Onboarding/StepProfile/index' 7 8 import {
+2 -1
src/screens/Onboarding/StepProfile/index.tsx
··· 6 6 launchImageLibraryAsync, 7 7 UIImagePickerPreferredAssetRepresentationMode, 8 8 } from 'expo-image-picker' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 12 13 import {usePhotoLibraryPermission} from '#/lib/hooks/usePermissions' 13 14 import {compressIfNeeded} from '#/lib/media/manip'
+2 -1
src/screens/Onboarding/StepSuggestedAccounts/index.tsx
··· 1 1 import {useCallback, useEffect, useMemo, useRef, useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type ModerationOpts} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useMutation, useQueryClient} from '@tanstack/react-query' 7 8 import * as bcp47Match from 'bcp-47-match' 8 9
+2 -1
src/screens/Onboarding/StepSuggestedStarterpacks/StarterPackCard.tsx
··· 1 1 import {useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyGraphDefs, AppBskyGraphStarterpack} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useQueryClient} from '@tanstack/react-query' 7 8 8 9 import {batchedUpdates} from '#/lib/batchedUpdates'
+2 -1
src/screens/Onboarding/StepSuggestedStarterpacks/index.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {useModerationOpts} from '#/state/preferences/moderation-opts' 6 7 import {useOnboardingSuggestedStarterPacksQuery} from '#/state/queries/useOnboardingSuggestedStarterPacksQuery'
+1 -1
src/screens/Post/PostLikedBy.tsx
··· 1 1 import React from 'react' 2 - import {Plural, Trans} from '@lingui/macro' 2 + import {Plural, Trans} from '@lingui/react/macro' 3 3 import {useFocusEffect} from '@react-navigation/native' 4 4 5 5 import {
+1 -1
src/screens/Post/PostQuotes.tsx
··· 1 1 import React from 'react' 2 - import {Plural, Trans} from '@lingui/macro' 2 + import {Plural, Trans} from '@lingui/react/macro' 3 3 import {useFocusEffect} from '@react-navigation/native' 4 4 5 5 import {
+1 -1
src/screens/Post/PostRepostedBy.tsx
··· 1 1 import React from 'react' 2 - import {Plural, Trans} from '@lingui/macro' 2 + import {Plural, Trans} from '@lingui/react/macro' 3 3 import {useFocusEffect} from '@react-navigation/native' 4 4 5 5 import {
+2 -1
src/screens/PostThread/components/HeaderDropdown.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 4 5 import {HITSLOP_10} from '#/lib/constants' 5 6 import {type ThreadPreferences} from '#/state/queries/preferences/useThreadPreferences'
+2 -1
src/screens/PostThread/components/ThreadComposePrompt.tsx
··· 1 1 import {type StyleProp, View, type ViewStyle} from 'react-native' 2 2 import {LinearGradient} from 'expo-linear-gradient' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {PressableScale} from '#/lib/custom-animations/PressableScale' 7 8 import {useHaptics} from '#/lib/haptics'
+2 -1
src/screens/PostThread/components/ThreadError.tsx
··· 1 1 import {useMemo} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useCleanError} from '#/lib/hooks/useCleanError' 7 8 import {OUTER_SPACE} from '#/screens/PostThread/const'
+2 -2
src/screens/PostThread/components/ThreadItemAnchor.tsx
··· 7 7 AtUri, 8 8 RichText as RichTextAPI, 9 9 } from '@atproto/api' 10 - import {msg, Plural, Trans} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 + import {Plural, Trans} from '@lingui/react/macro' 12 13 13 14 import {useOpenComposer} from '#/lib/hooks/useOpenComposer' 14 15 import {useTranslate} from '#/lib/hooks/useTranslate' ··· 318 319 return ( 319 320 <> 320 321 <ThreadItemAnchorParentReplyLine isRoot={isRoot} /> 321 - 322 322 <View 323 323 testID={`postThreadItem-by-${post.author.handle}`} 324 324 style={[
+2 -1
src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx
··· 1 1 import React from 'react' 2 2 import {type AppBskyActorDefs} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useNavigation} from '@react-navigation/native' 6 7 7 8 import {logger} from '#/logger'
+1 -1
src/screens/PostThread/components/ThreadItemAnchorNoUnauthenticated.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {atoms as a, useTheme} from '#/alf' 5 5 import {Lock_Stroke2_Corner0_Rounded as LockIcon} from '#/components/icons/Lock'
+1 -1
src/screens/PostThread/components/ThreadItemPost.tsx
··· 6 6 AtUri, 7 7 RichText as RichTextAPI, 8 8 } from '@atproto/api' 9 - import {Trans} from '@lingui/macro' 9 + import {Trans} from '@lingui/react/macro' 10 10 11 11 import {MAX_POST_LINES} from '#/lib/constants' 12 12 import {useOpenComposer} from '#/lib/hooks/useOpenComposer'
+1 -1
src/screens/PostThread/components/ThreadItemPostNoUnauthenticated.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {type ThreadItem} from '#/state/queries/usePostThread/types' 5 5 import {
+1 -1
src/screens/PostThread/components/ThreadItemPostTombstone.tsx
··· 1 1 import {useMemo} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {LINEAR_AVI_WIDTH, OUTER_SPACE} from '#/screens/PostThread/const'
+2 -1
src/screens/PostThread/components/ThreadItemReadMore.tsx
··· 1 1 import {memo} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Plural, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Plural, Trans} from '@lingui/react/macro' 5 6 6 7 import { 7 8 type PostThreadParams,
+2 -1
src/screens/PostThread/components/ThreadItemReadMoreUp.tsx
··· 1 1 import {memo} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {type ThreadItem} from '#/state/queries/usePostThread' 7 8 import {
+1 -1
src/screens/PostThread/components/ThreadItemShowOtherReplies.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {atoms as a, useTheme} from '#/alf'
+1 -1
src/screens/PostThread/components/ThreadItemTreePost.tsx
··· 6 6 AtUri, 7 7 RichText as RichTextAPI, 8 8 } from '@atproto/api' 9 - import {Trans} from '@lingui/macro' 9 + import {Trans} from '@lingui/react/macro' 10 10 11 11 import {MAX_POST_LINES} from '#/lib/constants' 12 12 import {useOpenComposer} from '#/lib/hooks/useOpenComposer'
+1 -1
src/screens/PostThread/index.tsx
··· 1 1 import {useCallback, useEffect, useMemo, useRef, useState} from 'react' 2 2 import {useWindowDimensions, View} from 'react-native' 3 3 import Animated, {useAnimatedStyle} from 'react-native-reanimated' 4 - import {Trans} from '@lingui/macro' 4 + import {Trans} from '@lingui/react/macro' 5 5 6 6 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender' 7 7 import {useOpenComposer} from '#/lib/hooks/useOpenComposer'
+2 -1
src/screens/Profile/ErrorState.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useNavigation} from '@react-navigation/native' 6 7 7 8 import {type NavigationProp} from '#/lib/routes/types'
+2 -1
src/screens/Profile/Header/EditProfileDialog.tsx
··· 1 1 import {useCallback, useEffect, useState} from 'react' 2 2 import {useWindowDimensions, View} from 'react-native' 3 3 import {type AppBskyActorDefs} from '@atproto/api' 4 - import {msg, Plural, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Plural, Trans} from '@lingui/react/macro' 6 7 7 8 import {urls} from '#/lib/constants' 8 9 import {cleanError} from '#/lib/strings/errors'
+2 -1
src/screens/Profile/Header/Handle.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type AppBskyActorDefs} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {isInvalidHandle, sanitizeHandle} from '#/lib/strings/handles' 7 8 import {type Shadow} from '#/state/cache/types'
+1 -1
src/screens/Profile/Header/Metrics.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type AppBskyActorDefs} from '@atproto/api' 3 - import {msg, plural} from '@lingui/macro' 3 + import {msg, plural} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {makeProfileLink} from '#/lib/routes/links'
+2 -2
src/screens/Profile/Header/ProfileHeaderLabeler.tsx
··· 7 7 type ModerationOpts, 8 8 type RichText as RichTextAPI, 9 9 } from '@atproto/api' 10 - import {msg, Plural, plural, Trans} from '@lingui/macro' 10 + import {msg, plural} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 + import {Plural, Trans} from '@lingui/react/macro' 12 13 13 14 // eslint-disable-next-line @typescript-eslint/no-unused-vars 14 15 import {MAX_LABELERS} from '#/lib/constants' ··· 351 352 </Button> 352 353 ) : null} 353 354 <ProfileMenu profile={profile} /> 354 - 355 355 <CantSubscribePrompt control={cantSubscribePrompt} /> 356 356 </> 357 357 )
+2 -1
src/screens/Profile/Header/ProfileHeaderStandard.tsx
··· 7 7 type ModerationOpts, 8 8 type RichText as RichTextAPI, 9 9 } from '@atproto/api' 10 - import {msg, Trans} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 + import {Trans} from '@lingui/react/macro' 12 13 13 14 import {useHaptics} from '#/lib/haptics' 14 15 import {sanitizeDisplayName} from '#/lib/strings/display-names'
+1 -1
src/screens/Profile/Header/Shell.tsx
··· 10 10 import {useSafeAreaInsets} from 'react-native-safe-area-context' 11 11 import {type AppBskyActorDefs, type ModerationDecision} from '@atproto/api' 12 12 import {utils} from '@bsky.app/alf' 13 - import {msg} from '@lingui/macro' 13 + import {msg} from '@lingui/core/macro' 14 14 import {useLingui} from '@lingui/react' 15 15 import {useNavigation} from '@react-navigation/native' 16 16
+1 -1
src/screens/Profile/KnownFollowers.tsx
··· 1 1 import React from 'react' 2 2 import {type AppBskyActorDefs} from '@atproto/api' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import {useFocusEffect} from '@react-navigation/native' 6 6
+1 -1
src/screens/Profile/ProfileFeed/index.tsx
··· 1 1 import {useCallback, useEffect, useMemo, useState} from 'react' 2 2 import {useAnimatedRef} from 'react-native-reanimated' 3 3 import {AppBskyFeedDefs} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {useIsFocused} from '@react-navigation/native' 7 7 import {type NativeStackScreenProps} from '@react-navigation/native-stack'
+1 -1
src/screens/Profile/ProfileFollowers.tsx
··· 1 1 import React from 'react' 2 - import {Plural} from '@lingui/macro' 2 + import {Plural} from '@lingui/react/macro' 3 3 import {useFocusEffect} from '@react-navigation/native' 4 4 5 5 import {
+1 -1
src/screens/Profile/ProfileFollows.tsx
··· 1 1 import React from 'react' 2 - import {Plural} from '@lingui/macro' 2 + import {Plural} from '@lingui/react/macro' 3 3 import {useFocusEffect} from '@react-navigation/native' 4 4 5 5 import {
+1 -1
src/screens/Profile/ProfileLabelerLikedBy.tsx
··· 1 1 import React from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 import {useFocusEffect} from '@react-navigation/native' 5 5
+1 -1
src/screens/Profile/ProfileSearch.tsx
··· 1 1 import {useMemo} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {
+2 -1
src/screens/Profile/Sections/Feed.tsx
··· 1 1 import {useCallback, useEffect, useImperativeHandle, useState} from 'react' 2 2 import {findNodeHandle, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useQueryClient} from '@tanstack/react-query' 6 7 7 8 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
+2 -1
src/screens/Profile/Sections/Labels.tsx
··· 6 6 interpretLabelValueDefinitions, 7 7 type ModerationOpts, 8 8 } from '@atproto/api' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 12 13 import {isLabelerSubscribed, lookupLabelValueDefinition} from '#/lib/moderation' 13 14 import {List, type ListRef} from '#/view/com/util/List'
+2 -1
src/screens/Profile/components/GermButton.tsx
··· 5 5 type AppBskyActorGetProfile, 6 6 type AtpAgent, 7 7 } from '@atproto/api' 8 - import {msg, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 import {useMutation, useQueryClient} from '@tanstack/react-query' 11 12 12 13 import {until} from '#/lib/async/until'
+2 -1
src/screens/Profile/components/ProfileFeedHeader.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {AtUri} from '@atproto/api' 4 - import {msg, Plural, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Plural, Trans} from '@lingui/react/macro' 6 7 7 8 import {useHaptics} from '#/lib/haptics' 8 9 import {makeCustomFeedLink, makeProfileLink} from '#/lib/routes/links'
+2 -1
src/screens/ProfileList/AboutSection.tsx
··· 1 1 import {useCallback, useImperativeHandle, useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyGraphDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {useSession} from '#/state/session' 8 9 import {ListMembers} from '#/view/com/lists/ListMembers'
+2 -1
src/screens/ProfileList/FeedSection.tsx
··· 1 1 import {useCallback, useEffect, useImperativeHandle, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useIsFocused} from '@react-navigation/native' 6 7 import {useQueryClient} from '@tanstack/react-query' 7 8
+2 -1
src/screens/ProfileList/components/ErrorScreen.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 import {useNavigation} from '@react-navigation/native' 5 6 6 7 import {type NavigationProp} from '#/lib/routes/types'
+2 -1
src/screens/ProfileList/components/Header.tsx
··· 1 1 import {useMemo} from 'react' 2 2 import {View} from 'react-native' 3 3 import {AppBskyGraphDefs, RichText as RichTextAPI} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {useHaptics} from '#/lib/haptics' 8 9 import {makeListLink} from '#/lib/routes/links'
+2 -1
src/screens/ProfileList/components/MoreOptionsMenu.tsx
··· 1 1 import {type AppBskyActorDefs, AppBskyGraphDefs, AtUri} from '@atproto/api' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 import {useNavigation} from '@react-navigation/native' 5 6 6 7 import {type NavigationProp} from '#/lib/routes/types'
+2 -1
src/screens/ProfileList/components/SubscribeMenu.tsx
··· 1 1 import {type AppBskyGraphDefs} from '@atproto/api' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {useListBlockMutation, useListMuteMutation} from '#/state/queries/list' 6 7 import {atoms as a} from '#/alf'
+2 -1
src/screens/ProfileList/index.tsx
··· 7 7 moderateUserList, 8 8 type ModerationOpts, 9 9 } from '@atproto/api' 10 - import {msg, Trans} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 + import {Trans} from '@lingui/react/macro' 12 13 import {useFocusEffect, useIsFocused} from '@react-navigation/native' 13 14 import {useQueryClient} from '@tanstack/react-query' 14 15
+3 -3
src/screens/SavedFeeds.tsx
··· 3 3 import Animated, {LinearTransition} from 'react-native-reanimated' 4 4 import {type AppBskyActorDefs} from '@atproto/api' 5 5 import {TID} from '@atproto/common-web' 6 - import {msg, Trans} from '@lingui/macro' 6 + import {msg} from '@lingui/core/macro' 7 7 import {useLingui} from '@lingui/react' 8 - import {useFocusEffect} from '@react-navigation/native' 9 - import {useNavigation} from '@react-navigation/native' 8 + import {Trans} from '@lingui/react/macro' 9 + import {useFocusEffect, useNavigation} from '@react-navigation/native' 10 10 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 11 11 12 12 import {RECOMMENDED_SAVED_FEEDS, TIMELINE_SAVED_FEED} from '#/lib/constants'
+12 -3
src/screens/Search/Explore.tsx
··· 5 5 type AppBskyFeedDefs, 6 6 type AppBskyGraphDefs, 7 7 } from '@atproto/api' 8 - import {msg, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 import {useQueryClient} from '@tanstack/react-query' 11 12 import * as bcp47Match from 'bcp-47-match' 12 13 ··· 350 351 ]) 351 352 352 353 const topBorder = useMemo( 353 - () => ({type: 'topBorder', key: 'top-border'}) as const, 354 + () => 355 + ({ 356 + type: 'topBorder', 357 + key: 'top-border', 358 + }) as const, 354 359 [], 355 360 ) 356 361 const trendingTopicsModule = useMemo( 357 - () => ({type: 'trendingTopics', key: 'trending-topics'}) as const, 362 + () => 363 + ({ 364 + type: 'trendingTopics', 365 + key: 'trending-topics', 366 + }) as const, 358 367 [], 359 368 ) 360 369 const suggestedFollowsModule = useMemo(() => {
+2 -1
src/screens/Search/SearchResults.tsx
··· 1 1 import {memo, useCallback, useMemo, useState} from 'react' 2 2 import {ActivityIndicator, View} from 'react-native' 3 3 import {type AppBskyFeedDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {urls} from '#/lib/constants' 8 9 import {usePostViewTracking} from '#/lib/hooks/usePostViewTracking'
+3 -3
src/screens/Search/Shell.tsx
··· 12 12 View, 13 13 type ViewStyle, 14 14 } from 'react-native' 15 - import {msg, Trans} from '@lingui/macro' 15 + import {msg} from '@lingui/core/macro' 16 16 import {useLingui} from '@lingui/react' 17 + import {Trans} from '@lingui/react/macro' 17 18 import {useFocusEffect, useNavigation, useRoute} from '@react-navigation/native' 18 19 import {useQueryClient} from '@tanstack/react-query' 19 20 20 - import {HITSLOP_20} from '#/lib/constants' 21 - import {HITSLOP_10} from '#/lib/constants' 21 + import {HITSLOP_10, HITSLOP_20} from '#/lib/constants' 22 22 import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' 23 23 import {MagnifyingGlassIcon} from '#/lib/icons' 24 24 import {type NavigationProp} from '#/lib/routes/types'
+1 -1
src/screens/Search/components/AutocompleteResults.tsx
··· 1 1 import {memo} from 'react' 2 2 import {ActivityIndicator, View} from 'react-native' 3 3 import {type AppBskyActorDefs} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {useModerationOpts} from '#/state/preferences/moderation-opts'
+2 -1
src/screens/Search/components/SearchHistory.tsx
··· 1 1 import {Pressable, ScrollView, View} from 'react-native' 2 2 import {moderateProfile, type ModerationOpts} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {createHitslop, HITSLOP_10} from '#/lib/constants' 7 8 import {makeProfileLink} from '#/lib/routes/links'
+2 -1
src/screens/Search/components/SearchLanguageDropdown.tsx
··· 1 1 import {useMemo} from 'react' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {languageName} from '#/locale/helpers' 6 7 import {APP_LANGUAGES, LANGUAGES} from '#/locale/languages'
+1 -1
src/screens/Search/components/SearchProfileCard.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyActorDefs, type ModerationOpts} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {useQueryClient} from '@tanstack/react-query' 7 7
+2 -1
src/screens/Search/components/StarterPackCard.tsx
··· 5 5 AppBskyGraphStarterpack, 6 6 moderateProfile, 7 7 } from '@atproto/api' 8 - import {msg, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 11 12 import {sanitizeHandle} from '#/lib/strings/handles' 12 13 import {useModerationOpts} from '#/state/preferences/moderation-opts'
+2 -1
src/screens/Search/modules/ExploreInterestsCard.tsx
··· 1 1 import {useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useInterestsDisplayNames} from '#/lib/interests' 7 8 import {Nux, useSaveNux} from '#/state/queries/nuxs'
+1 -1
src/screens/Search/modules/ExploreRecommendations.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type AppBskyUnspeccedDefs} from '@atproto/api' 3 - import {Trans} from '@lingui/macro' 3 + import {Trans} from '@lingui/react/macro' 4 4 5 5 import { 6 6 DEFAULT_LIMIT as RECOMMENDATIONS_COUNT,
+1 -1
src/screens/Search/modules/ExploreSuggestedAccounts.tsx
··· 1 1 import {memo, useEffect} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyActorSearchActors, type ModerationOpts} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {type InfiniteData} from '@tanstack/react-query' 7 7
+2 -1
src/screens/Search/modules/ExploreTrendingTopics.tsx
··· 1 1 import {useMemo} from 'react' 2 2 import {Pressable, View} from 'react-native' 3 3 import {type AppBskyUnspeccedDefs, moderateProfile} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {useModerationOpts} from '#/state/preferences/moderation-opts' 8 9 import {useTrendingSettings} from '#/state/preferences/trending'
+2 -1
src/screens/Search/modules/ExploreTrendingVideos.tsx
··· 1 1 import {useMemo} from 'react' 2 2 import {ScrollView, View} from 'react-native' 3 3 import {AppBskyEmbedVideo, AtUri} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useFocusEffect} from '@react-navigation/native' 7 8 import {useQueryClient} from '@tanstack/react-query' 8 9
+2 -1
src/screens/Settings/AboutSettings.tsx
··· 2 2 import {setStringAsync} from 'expo-clipboard' 3 3 import * as FileSystem from 'expo-file-system/legacy' 4 4 import {Image} from 'expo-image' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 8 9 import {useMutation} from '@tanstack/react-query' 9 10
+2 -1
src/screens/Settings/AccessibilitySettings.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 4 5 5 6 import {type CommonNavigatorParams} from '#/lib/routes/types'
+2 -1
src/screens/Settings/AccountSettings.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 4 5 5 6 import {type CommonNavigatorParams} from '#/lib/routes/types'
+2 -1
src/screens/Settings/ActivityPrivacySettings.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type AppBskyNotificationDeclaration} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import { 7 8 type AllNavigatorParams,
+2 -1
src/screens/Settings/AppIconSettings/SettingsListItem.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {AppIconImage} from '#/screens/Settings/AppIconSettings/AppIconImage' 6 7 import {useCurrentAppIcon} from '#/screens/Settings/AppIconSettings/useCurrentAppIcon'
+4 -3
src/screens/Settings/AppIconSettings/index.tsx
··· 1 1 import {useState} from 'react' 2 2 import {Alert, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import * as DynamicAppIcon from '@mozzius/expo-dynamic-app-icon' 6 7 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 7 8 ··· 128 129 if (!icon || icon === 'DEFAULT') { 129 130 return 'default_light' 130 131 } else { 131 - return icon as DynamicAppIcon.IconName 132 + return icon 132 133 } 133 134 } 134 135 ··· 150 151 values={[value]} 151 152 maxSelections={1} 152 153 onChange={vals => { 153 - if (vals[0]) onChange(vals[0] as DynamicAppIcon.IconName) 154 + if (vals[0]) onChange(vals[0]) 154 155 }}> 155 156 <View style={[a.flex_1, a.rounded_md, a.overflow_hidden]}> 156 157 {children}
+1 -1
src/screens/Settings/AppIconSettings/useAppIconSets.ts
··· 1 1 import {useMemo} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {type AppIconSet} from '#/screens/Settings/AppIconSettings/types'
+2 -1
src/screens/Settings/AppPasswords.tsx
··· 7 7 LinearTransition, 8 8 } from 'react-native-reanimated' 9 9 import {type ComAtprotoServerListAppPasswords} from '@atproto/api' 10 - import {msg, Trans} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 + import {Trans} from '@lingui/react/macro' 12 13 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 13 14 14 15 import {type CommonNavigatorParams} from '#/lib/routes/types'
+3 -3
src/screens/Settings/AppearanceSettings.tsx
··· 5 5 LayoutAnimationConfig, 6 6 LinearTransition, 7 7 } from 'react-native-reanimated' 8 - import {msg, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 11 12 import { 12 13 type CommonNavigatorParams, ··· 23 24 import {TitleCase_Stroke2_Corner0_Rounded as Aa} from '#/components/icons/TitleCase' 24 25 import * as Layout from '#/components/Layout' 25 26 import {Text} from '#/components/Typography' 26 - import {IS_NATIVE} from '#/env' 27 - import {IS_INTERNAL} from '#/env' 27 + import {IS_INTERNAL, IS_NATIVE} from '#/env' 28 28 import * as SettingsList from './components/SettingsList' 29 29 30 30 type Props = NativeStackScreenProps<CommonNavigatorParams, 'AppearanceSettings'>
+2 -1
src/screens/Settings/ContentAndMediaSettings.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 4 5 5 6 import {type CommonNavigatorParams} from '#/lib/routes/types'
+1 -1
src/screens/Settings/ExternalMediaPreferences.tsx
··· 1 1 import {Fragment} from 'react' 2 2 import {View} from 'react-native' 3 - import {Trans} from '@lingui/macro' 3 + import {Trans} from '@lingui/react/macro' 4 4 5 5 import { 6 6 type CommonNavigatorParams,
+2 -1
src/screens/Settings/FindContactsSettings.tsx
··· 6 6 type AppBskyContactGetSyncStatus, 7 7 type ModerationOpts, 8 8 } from '@atproto/api' 9 - import {msg, Plural, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Plural, Trans} from '@lingui/react/macro' 11 12 import {useIsFocused} from '@react-navigation/native' 12 13 import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query' 13 14
+2 -1
src/screens/Settings/FollowingFeedPreferences.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 4 5 import { 5 6 type CommonNavigatorParams,
+2 -1
src/screens/Settings/InterestsSettings.tsx
··· 1 1 import {useMemo, useState} from 'react' 2 2 import {type TextStyle, View, type ViewStyle} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 6 7 import {useQueryClient} from '@tanstack/react-query' 7 8 import debounce from 'lodash.debounce'
+2 -1
src/screens/Settings/LanguageSettings.tsx
··· 1 1 import {useCallback, useMemo, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import { 7 8 type CommonNavigatorParams,
+6 -3
src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx
··· 1 1 import {useCallback, useMemo} from 'react' 2 2 import {type ListRenderItemInfo, Text as RNText, View} from 'react-native' 3 3 import {type ModerationOpts} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {createSanitizedDisplayName} from '#/lib/moderation/create-sanitized-display-name' 8 9 import { ··· 21 22 import * as Admonition from '#/components/Admonition' 22 23 import {Button, ButtonText} from '#/components/Button' 23 24 import {useDialogControl} from '#/components/Dialog' 24 - import {BellRinging_Filled_Corner0_Rounded as BellRingingFilledIcon} from '#/components/icons/BellRinging' 25 - import {BellRinging_Stroke2_Corner0_Rounded as BellRingingIcon} from '#/components/icons/BellRinging' 25 + import { 26 + BellRinging_Filled_Corner0_Rounded as BellRingingFilledIcon, 27 + BellRinging_Stroke2_Corner0_Rounded as BellRingingIcon, 28 + } from '#/components/icons/BellRinging' 26 29 import * as Layout from '#/components/Layout' 27 30 import {InlineLinkText} from '#/components/Link' 28 31 import {ListFooter} from '#/components/Lists'
+1 -1
src/screens/Settings/NotificationSettings/LikeNotificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import { 5 5 type AllNavigatorParams,
+1 -1
src/screens/Settings/NotificationSettings/LikesOnRepostsNotificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import { 5 5 type AllNavigatorParams,
+1 -1
src/screens/Settings/NotificationSettings/MentionNotificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import { 5 5 type AllNavigatorParams,
+1 -1
src/screens/Settings/NotificationSettings/MiscellaneousNotificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import { 5 5 type AllNavigatorParams,
+1 -1
src/screens/Settings/NotificationSettings/NewFollowerNotificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import { 5 5 type AllNavigatorParams,
+1 -1
src/screens/Settings/NotificationSettings/QuoteNotificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import { 5 5 type AllNavigatorParams,
+1 -1
src/screens/Settings/NotificationSettings/ReplyNotificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import { 5 5 type AllNavigatorParams,
+1 -1
src/screens/Settings/NotificationSettings/RepostNotificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import { 5 5 type AllNavigatorParams,
+1 -1
src/screens/Settings/NotificationSettings/RepostsOnRepostsNotificationSettings.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import { 5 5 type AllNavigatorParams,
+2 -1
src/screens/Settings/NotificationSettings/components/PreferenceControls.tsx
··· 1 1 import {useMemo} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type AppBskyNotificationDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {useNotificationSettingsUpdateMutation} from '#/state/queries/notifications/settings' 8 9 import {atoms as a, platform, useTheme} from '#/alf'
+2 -1
src/screens/Settings/NotificationSettings/index.tsx
··· 2 2 import {Linking, View} from 'react-native' 3 3 import * as Notification from 'expo-notifications' 4 4 import {type AppBskyNotificationDefs} from '@atproto/api' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 import {useQuery, useQueryClient} from '@tanstack/react-query' 8 9 9 10 import {useAppState} from '#/lib/appState'
+2 -1
src/screens/Settings/PrivacyAndSecuritySettings.tsx
··· 1 1 import {type AppBskyNotificationDeclaration} from '@atproto/api' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 5 6 6 7 import {type CommonNavigatorParams} from '#/lib/routes/types'
+2 -1
src/screens/Settings/Settings.tsx
··· 2 2 import {Alert, LayoutAnimation, Linking, Pressable, View} from 'react-native' 3 3 import {useReducedMotion} from 'react-native-reanimated' 4 4 import {type AppBskyActorDefs, moderateProfile} from '@atproto/api' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 import {useNavigation} from '@react-navigation/native' 8 9 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 9 10
+2 -1
src/screens/Settings/ThreadPreferences.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import { 6 7 type CommonNavigatorParams,
+2 -1
src/screens/Settings/components/AddAppPasswordDialog.tsx
··· 9 9 SlideOutLeft, 10 10 } from 'react-native-reanimated' 11 11 import {type ComAtprotoServerCreateAppPassword} from '@atproto/api' 12 - import {msg, Trans} from '@lingui/macro' 12 + import {msg} from '@lingui/core/macro' 13 13 import {useLingui} from '@lingui/react' 14 + import {Trans} from '@lingui/react/macro' 14 15 import {useMutation} from '@tanstack/react-query' 15 16 16 17 import {useAppPasswordCreateMutation} from '#/state/queries/app-passwords'
+7 -3
src/screens/Settings/components/ChangeHandleDialog.tsx
··· 11 11 SlideOutRight, 12 12 } from 'react-native-reanimated' 13 13 import {type ComAtprotoServerDescribeServer} from '@atproto/api' 14 - import {msg, Trans} from '@lingui/macro' 14 + import {msg} from '@lingui/core/macro' 15 15 import {useLingui} from '@lingui/react' 16 + import {Trans} from '@lingui/react/macro' 16 17 import {useMutation, useQueryClient} from '@tanstack/react-query' 17 18 18 19 import {HITSLOP_10, urls} from '#/lib/constants' 19 20 import {cleanError} from '#/lib/strings/errors' 20 - import {createFullHandle, validateServiceHandle} from '#/lib/strings/handles' 21 - import {sanitizeHandle} from '#/lib/strings/handles' 21 + import { 22 + createFullHandle, 23 + sanitizeHandle, 24 + validateServiceHandle, 25 + } from '#/lib/strings/handles' 22 26 import {useFetchDid, useUpdateHandleMutation} from '#/state/queries/handle' 23 27 import {RQKEY as RQKEY_PROFILE} from '#/state/queries/profile' 24 28 import {useServiceQuery} from '#/state/queries/service'
+2 -1
src/screens/Settings/components/ChangePasswordDialog.tsx
··· 1 1 import {useState} from 'react' 2 2 import {useWindowDimensions, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import * as EmailValidator from 'email-validator' 6 7 7 8 import {cleanError, isNetworkError} from '#/lib/strings/errors'
+1 -1
src/screens/Settings/components/CopyButton.tsx
··· 6 6 ZoomIn, 7 7 } from 'react-native-reanimated' 8 8 import * as Clipboard from 'expo-clipboard' 9 - import {Trans} from '@lingui/macro' 9 + import {Trans} from '@lingui/react/macro' 10 10 11 11 import {atoms as a, useTheme} from '#/alf' 12 12 import {Button, type ButtonProps} from '#/components/Button'
+2 -1
src/screens/Settings/components/DeactivateAccountDialog.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {logger} from '#/logger' 7 8 import {useAgent, useSessionApi} from '#/state/session'
+2 -1
src/screens/Settings/components/DeleteAccountDialog.tsx
··· 1 1 import {useCallback, useRef, useState} from 'react' 2 2 import {type TextInput, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {DM_SERVICE_HEADERS} from '#/lib/constants' 7 8 import {useCleanError} from '#/lib/hooks/useCleanError'
+3 -2
src/screens/Settings/components/DisableEmail2FADialog.tsx
··· 1 1 import {useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {cleanError} from '#/lib/strings/errors' 7 8 import {useAgent, useSession} from '#/state/session' ··· 56 57 try { 57 58 if (currentAccount?.email) { 58 59 await agent.com.atproto.server.updateEmail({ 59 - email: currentAccount!.email, 60 + email: currentAccount.email, 60 61 token: confirmationCode.trim(), 61 62 emailAuthFactor: false, 62 63 })
+1 -1
src/screens/Settings/components/Email2FAToggle.tsx
··· 1 1 import React from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {useSession} from '#/state/session'
+2 -1
src/screens/Settings/components/ExportCarDialog.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {DM_SERVICE_HEADERS} from '#/lib/constants' 7 8 import {saveBytesToDisk} from '#/lib/media/manip'
+2 -1
src/screens/Settings/components/OTAInfo.tsx
··· 1 1 import * as Updates from 'expo-updates' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 import {useMutation, useQuery} from '@tanstack/react-query' 5 6 6 7 import * as Toast from '#/view/com/util/Toast'
+2 -1
src/screens/Settings/components/PwiOptOut.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import {type $Typed, ComAtprotoLabelDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import { 8 9 useProfileQuery,
+2 -1
src/screens/Signup/BackNextButtons.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {atoms as a} from '#/alf' 6 7 import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+1 -1
src/screens/Signup/StepCaptcha/index.tsx
··· 1 1 import React, {useEffect, useState} from 'react' 2 2 import {ActivityIndicator, Platform, View} from 'react-native' 3 3 import ReactNativeDeviceAttest from 'react-native-device-attest' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {nanoid} from 'nanoid/non-secure' 7 7
+2 -1
src/screens/Signup/StepHandle/HandleSuggestions.tsx
··· 1 1 import Animated, {Easing, FadeInDown, FadeOut} from 'react-native-reanimated' 2 2 import {type ComAtprotoTempCheckHandleAvailability} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {atoms as a, native, useTheme} from '#/alf' 7 8 import {borderRadius} from '#/alf/tokens'
+2 -1
src/screens/Signup/StepHandle/index.tsx
··· 6 6 LayoutAnimationConfig, 7 7 LinearTransition, 8 8 } from 'react-native-reanimated' 9 - import {msg, Plural, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Plural, Trans} from '@lingui/react/macro' 11 12 12 13 import { 13 14 createFullHandle,
+2 -1
src/screens/Signup/StepInfo/Policies.tsx
··· 1 1 import {type ReactElement} from 'react' 2 2 import {View} from 'react-native' 3 3 import {type ComAtprotoServerDescribeServer} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {atoms as a, useTheme} from '#/alf' 8 9 import {Admonition} from '#/components/Admonition'
+2 -1
src/screens/Signup/StepInfo/index.tsx
··· 1 1 import React, {useRef} from 'react' 2 2 import {type TextInput, View} from 'react-native' 3 - import {msg, Plural, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Plural, Trans} from '@lingui/react/macro' 5 6 import * as EmailValidator from 'email-validator' 6 7 import type tldts from 'tldts' 7 8
+2 -1
src/screens/Signup/index.tsx
··· 3 3 import ReactNativeDeviceAttest from 'react-native-device-attest' 4 4 import Animated, {FadeIn, LayoutAnimationConfig} from 'react-native-reanimated' 5 5 import {AppBskyGraphStarterpack} from '@atproto/api' 6 - import {msg, Trans} from '@lingui/macro' 6 + import {msg} from '@lingui/core/macro' 7 7 import {useLingui} from '@lingui/react' 8 + import {Trans} from '@lingui/react/macro' 8 9 9 10 import {FEEDBACK_FORM_URL} from '#/lib/constants' 10 11 import {logger} from '#/logger'
+1 -1
src/screens/Signup/state.ts
··· 4 4 ComAtprotoServerCreateAccount, 5 5 type ComAtprotoServerDescribeServer, 6 6 } from '@atproto/api' 7 - import {msg} from '@lingui/macro' 7 + import {msg} from '@lingui/core/macro' 8 8 import {useLingui} from '@lingui/react' 9 9 import * as EmailValidator from 'email-validator' 10 10
+2 -1
src/screens/SignupQueued.tsx
··· 2 2 import {Modal, ScrollView, View} from 'react-native' 3 3 import {SystemBars} from 'react-native-edge-to-edge' 4 4 import {useSafeAreaInsets} from 'react-native-safe-area-context' 5 - import {msg, plural, Trans} from '@lingui/macro' 5 + import {msg, plural} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import {logger} from '#/logger' 9 10 import {isSignupQueued, useAgent, useSessionApi} from '#/state/session'
+2 -1
src/screens/StarterPack/StarterPackLandingScreen.tsx
··· 8 8 type ModerationOpts, 9 9 } from '@atproto/api' 10 10 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 11 - import {msg, Trans} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 + import {Trans} from '@lingui/react/macro' 13 14 14 15 import {JOINED_THIS_WEEK} from '#/lib/constants' 15 16 import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
+2 -1
src/screens/StarterPack/StarterPackScreen.tsx
··· 9 9 RichText as RichTextAPI, 10 10 } from '@atproto/api' 11 11 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 12 - import {msg, Plural, Trans} from '@lingui/macro' 12 + import {msg} from '@lingui/core/macro' 13 13 import {useLingui} from '@lingui/react' 14 + import {Plural, Trans} from '@lingui/react/macro' 14 15 import {useNavigation} from '@react-navigation/native' 15 16 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 16 17 import {useQueryClient} from '@tanstack/react-query'
+1 -1
src/screens/StarterPack/Wizard/State.tsx
··· 4 4 type AppBskyGraphDefs, 5 5 AppBskyGraphStarterpack, 6 6 } from '@atproto/api' 7 - import {msg, plural} from '@lingui/macro' 7 + import {msg, plural} from '@lingui/core/macro' 8 8 9 9 import {STARTER_PACK_MAX_SIZE} from '#/lib/constants' 10 10 import * as Toast from '#/view/com/util/Toast'
+13 -12
src/screens/StarterPack/Wizard/StepDetails.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {useProfileQuery} from '#/state/queries/profile' 6 7 import {useSession} from '#/state/session' ··· 19 20 const {currentAccount} = useSession() 20 21 const {data: currentProfile} = useProfileQuery({ 21 22 did: currentAccount?.did, 22 - staleTime: 300, 23 + staleTime: Infinity, 23 24 }) 25 + 26 + const name = currentProfile?.displayName || currentProfile?.handle 24 27 25 28 return ( 26 29 <ScreenTransition direction={state.transitionDirection} enabledWeb> ··· 42 45 </TextField.LabelText> 43 46 <TextField.Root> 44 47 <TextField.Input 45 - label={_( 46 - msg`${ 47 - currentProfile?.displayName || currentProfile?.handle 48 - }'s starter pack`, 49 - )} 48 + label={ 49 + name ? _(msg`${name}'s starter pack`) : _(msg`My starter pack`) 50 + } 50 51 value={state.name} 51 52 onChangeText={text => dispatch({type: 'SetName', name: text})} 52 53 /> ··· 70 71 </TextField.LabelText> 71 72 <TextField.Root> 72 73 <TextField.Input 73 - label={_( 74 - msg`${ 75 - currentProfile?.displayName || currentProfile?.handle 76 - }'s favorite feeds and people - join me!`, 77 - )} 74 + label={ 75 + name 76 + ? _(msg`${name}'s favorite feeds and people - join me!`) 77 + : _(msg`My favorite feeds and people - join me!`) 78 + } 78 79 value={state.description} 79 80 onChangeText={text => 80 81 dispatch({type: 'SetDescription', description: text})
+1 -1
src/screens/StarterPack/Wizard/StepFeeds.tsx
··· 2 2 import {type ListRenderItemInfo, View} from 'react-native' 3 3 import {KeyboardAwareScrollView} from 'react-native-keyboard-controller' 4 4 import {type AppBskyFeedDefs, type ModerationOpts} from '@atproto/api' 5 - import {Trans} from '@lingui/macro' 5 + import {Trans} from '@lingui/react/macro' 6 6 7 7 import {DISCOVER_FEED_URI} from '#/lib/constants' 8 8 import {useA11y} from '#/state/a11y'
+1 -1
src/screens/StarterPack/Wizard/StepProfiles.tsx
··· 2 2 import {type ListRenderItemInfo, View} from 'react-native' 3 3 import {KeyboardAwareScrollView} from 'react-native-keyboard-controller' 4 4 import {type AppBskyActorDefs, type ModerationOpts} from '@atproto/api' 5 - import {Trans} from '@lingui/macro' 5 + import {Trans} from '@lingui/react/macro' 6 6 7 7 import {useA11y} from '#/state/a11y' 8 8 import {useActorAutocompleteQuery} from '#/state/queries/actor-autocomplete'
+2 -1
src/screens/StarterPack/Wizard/index.tsx
··· 10 10 AtUri, 11 11 type ModerationOpts, 12 12 } from '@atproto/api' 13 - import {msg, Plural, Trans} from '@lingui/macro' 13 + import {msg} from '@lingui/core/macro' 14 14 import {useLingui} from '@lingui/react' 15 + import {Plural, Trans} from '@lingui/react/macro' 15 16 import {useFocusEffect, useNavigation} from '@react-navigation/native' 16 17 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 17 18
+2 -1
src/screens/Takendown.tsx
··· 3 3 import {KeyboardAwareScrollView} from 'react-native-keyboard-controller' 4 4 import {useSafeAreaInsets} from 'react-native-safe-area-context' 5 5 import {type ComAtprotoAdminDefs, ToolsOzoneReportDefs} from '@atproto/api' 6 - import {msg, Trans} from '@lingui/macro' 6 + import {msg} from '@lingui/core/macro' 7 7 import {useLingui} from '@lingui/react' 8 + import {Trans} from '@lingui/react/macro' 8 9 import {useMutation} from '@tanstack/react-query' 9 10 import {countGraphemes} from 'unicode-segmenter/grapheme' 10 11
+1 -1
src/screens/Topic.tsx
··· 1 1 import React from 'react' 2 2 import {type ListRenderItemInfo, View} from 'react-native' 3 3 import {type AppBskyFeedDefs} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {useFocusEffect} from '@react-navigation/native' 7 7 import {type NativeStackScreenProps} from '@react-navigation/native-stack'
+1 -1
src/screens/VideoFeed/components/Header.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {type GestureResponderEvent, View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import {useNavigation} from '@react-navigation/native' 6 6
+2 -1
src/screens/VideoFeed/index.tsx
··· 33 33 type ModerationDecision, 34 34 RichText as RichTextAPI, 35 35 } from '@atproto/api' 36 - import {msg, Trans} from '@lingui/macro' 36 + import {msg} from '@lingui/core/macro' 37 37 import {useLingui} from '@lingui/react' 38 + import {Trans} from '@lingui/react/macro' 38 39 import { 39 40 type RouteProp, 40 41 useFocusEffect,
+1 -1
src/state/queries/activity-subscriptions.ts
··· 3 3 type AppBskyNotificationDeclaration, 4 4 type AppBskyNotificationListActivitySubscriptions, 5 5 } from '@atproto/api' 6 - import {t} from '@lingui/macro' 6 + import {t} from '@lingui/core/macro' 7 7 import { 8 8 type InfiniteData, 9 9 type QueryClient,
+1 -1
src/state/queries/explore-feed-previews.tsx
··· 5 5 AtUri, 6 6 moderatePost, 7 7 } from '@atproto/api' 8 - import {msg} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 10 import { 11 11 type InfiniteData,
+1 -1
src/state/queries/feed.ts
··· 8 8 moderateFeedGenerator, 9 9 RichText, 10 10 } from '@atproto/api' 11 - import {t} from '@lingui/macro' 11 + import {t} from '@lingui/core/macro' 12 12 import { 13 13 type InfiniteData, 14 14 keepPreviousData,
+1 -1
src/state/queries/notifications/settings.ts
··· 1 1 import {type AppBskyNotificationDefs} from '@atproto/api' 2 - import {t} from '@lingui/macro' 2 + import {t} from '@lingui/core/macro' 3 3 import { 4 4 type QueryClient, 5 5 useMutation,
+1 -1
src/state/queries/pinned-post.ts
··· 1 - import {msg} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 3 import {useMutation, useQueryClient} from '@tanstack/react-query' 4 4
+1 -1
src/state/queries/starter-packs.ts
··· 352 352 ) 353 353 } 354 354 355 - export async function precacheStarterPack( 355 + export function precacheStarterPack( 356 356 queryClient: QueryClient, 357 357 starterPack: 358 358 | AppBskyGraphDefs.StarterPackViewBasic
+1 -1
src/state/shell/composer/index.tsx
··· 5 5 type AppBskyUnspeccedGetPostThreadV2, 6 6 type ModerationDecision, 7 7 } from '@atproto/api' 8 - import {msg} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 10 import {useQueryClient} from '@tanstack/react-query' 11 11
+1 -1
src/state/shell/progress-guide.tsx
··· 1 1 import React, {useMemo} from 'react' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {
+1 -1
src/view/com/auth/LoggedOut.tsx
··· 1 1 import {useCallback, useEffect, useState} from 'react' 2 2 import {View} from 'react-native' 3 3 import {useSafeAreaInsets} from 'react-native-safe-area-context' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {useQueryClient} from '@tanstack/react-query' 7 7
+2 -1
src/view/com/auth/SplashScreen.tsx
··· 2 2 import {Image as RNImage, View} from 'react-native' 3 3 import Animated, {FadeIn, FadeOut} from 'react-native-reanimated' 4 4 import {Image} from 'expo-image' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import {useHaptics} from '#/lib/haptics' 9 10 import {Logo} from '#/view/icons/Logo'
+2 -1
src/view/com/auth/SplashScreen.web.tsx
··· 1 1 import React from 'react' 2 2 import {Pressable, View} from 'react-native' 3 3 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 7 8 import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' 8 9 import {useKawaiiMode} from '#/state/preferences/kawaii'
+2 -1
src/view/com/composer/Composer.tsx
··· 52 52 type BskyAgent, 53 53 type RichText, 54 54 } from '@atproto/api' 55 - import {msg, plural, Trans} from '@lingui/macro' 55 + import {msg, plural} from '@lingui/core/macro' 56 56 import {useLingui} from '@lingui/react' 57 + import {Trans} from '@lingui/react/macro' 57 58 import {useNavigation} from '@react-navigation/native' 58 59 import {useQueryClient} from '@tanstack/react-query' 59 60
+1 -1
src/view/com/composer/ComposerReplyTo.tsx
··· 7 7 AppBskyEmbedRecordWithMedia, 8 8 AppBskyFeedPost, 9 9 } from '@atproto/api' 10 - import {msg} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 12 13 13 import {sanitizeDisplayName} from '#/lib/strings/display-names'
+1 -1
src/view/com/composer/ExternalEmbedRemoveBtn.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 5 5 import {atoms as a, useTheme, type ViewStyleProp} from '#/alf'
+2 -1
src/view/com/composer/GifAltText.tsx
··· 1 1 import {useState} from 'react' 2 2 import {TouchableOpacity, View} from 'react-native' 3 - import {msg, Plural, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Plural, Trans} from '@lingui/react/macro' 5 6 6 7 import {HITSLOP_10, MAX_ALT_TEXT} from '#/lib/constants' 7 8 import {parseAltFromGIFDescription} from '#/lib/gif-alt-text'
+1 -1
src/view/com/composer/SelectMediaButton.tsx
··· 2 2 import {Keyboard} from 'react-native' 3 3 import {File} from 'expo-file-system' 4 4 import {type ImagePickerAsset} from 'expo-image-picker' 5 - import {msg, plural} from '@lingui/macro' 5 + import {msg, plural} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 7 8 8 import {VIDEO_MAX_DURATION_MS, VIDEO_MAX_SIZE} from '#/lib/constants'
+1 -1
src/view/com/composer/drafts/DraftItem.tsx
··· 1 1 import {useCallback, useEffect, useMemo, useState} from 'react' 2 2 import {Pressable, View} from 'react-native' 3 3 import * as VideoThumbnails from 'expo-video-thumbnails' 4 - import {msg, plural} from '@lingui/macro' 4 + import {msg, plural} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import * as device from '#/lib/deviceName'
+2 -1
src/view/com/composer/drafts/DraftsButton.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 4 5 import {atoms as a} from '#/alf' 5 6 import {Button, ButtonText} from '#/components/Button'
+2 -1
src/view/com/composer/drafts/DraftsListDialog.tsx
··· 1 1 import {useCallback, useEffect, useMemo} from 'react' 2 2 import {Keyboard, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useCallOnce} from '#/lib/once' 7 8 import {EmptyState} from '#/view/com/util/EmptyState'
+4 -7
src/view/com/composer/labels/LabelsBtn.tsx
··· 1 1 import {Keyboard, View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import { 6 7 ADULT_CONTENT_LABELS, ··· 36 37 const filtered = labels.filter( 37 38 l => !ADULT_CONTENT_LABELS.includes(l as AdultSelfLabel), 38 39 ) 39 - onChange([ 40 - ...new Set([...filtered, newLabel].filter(Boolean) as SelfLabel[]), 41 - ]) 40 + onChange([...new Set([...filtered, newLabel].filter(Boolean))]) 42 41 } 43 42 44 43 const updateOtherLabels = (newLabels: OtherSelfLabel[]) => { ··· 46 45 const filtered = labels.filter( 47 46 l => !OTHER_SELF_LABELS.includes(l as OtherSelfLabel), 48 47 ) 49 - onChange([ 50 - ...new Set([...filtered, newLabel].filter(Boolean) as SelfLabel[]), 51 - ]) 48 + onChange([...new Set([...filtered, newLabel].filter(Boolean))]) 52 49 } 53 50 54 51 return (
+2 -1
src/view/com/composer/photos/EditImageDialog.web.tsx
··· 2 2 3 3 import {useCallback, useImperativeHandle, useRef, useState} from 'react' 4 4 import {View} from 'react-native' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 import ReactCrop, {type PercentCrop} from 'react-image-crop' 8 9 9 10 import {
+2 -1
src/view/com/composer/photos/Gallery.tsx
··· 10 10 } from 'react-native' 11 11 import {Image} from 'expo-image' 12 12 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 13 - import {msg, Trans} from '@lingui/macro' 13 + import {msg} from '@lingui/core/macro' 14 14 import {useLingui} from '@lingui/react' 15 + import {Trans} from '@lingui/react/macro' 15 16 16 17 import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' 17 18 import {type Dimensions} from '#/lib/media/types'
+2 -1
src/view/com/composer/photos/ImageAltTextDialog.tsx
··· 1 1 import React from 'react' 2 2 import {type ImageStyle, useWindowDimensions, View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 - import {msg, Plural, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Plural, Trans} from '@lingui/react/macro' 6 7 7 8 import {MAX_ALT_TEXT} from '#/lib/constants' 8 9 import {useIsKeyboardVisible} from '#/lib/hooks/useIsKeyboardVisible'
+1 -1
src/view/com/composer/photos/OpenCameraBtn.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import * as MediaLibrary from 'expo-media-library' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {POST_IMG_MAX} from '#/lib/constants'
+1 -1
src/view/com/composer/photos/SelectGifBtn.tsx
··· 1 1 import {useCallback, useRef} from 'react' 2 2 import {Keyboard} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {type Gif} from '#/state/queries/tenor'
+2 -1
src/view/com/composer/select-language/PostLanguageSelect.tsx
··· 1 - import {msg, Trans} from '@lingui/macro' 1 + import {msg} from '@lingui/core/macro' 2 2 import {useLingui} from '@lingui/react' 3 + import {Trans} from '@lingui/react/macro' 3 4 4 5 import {LANG_DROPDOWN_HITSLOP} from '#/lib/constants' 5 6 import {codeToLanguageName} from '#/locale/helpers'
+4 -2
src/view/com/composer/select-language/SuggestedLanguage.tsx
··· 1 1 import {useEffect, useState} from 'react' 2 2 import {Text as RNText, View} from 'react-native' 3 3 import {parseLanguage} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import lande from 'lande' 7 8 8 9 import {code3ToCode2Strict, codeToLanguageName} from '#/locale/helpers' ··· 13 14 import {Text} from '#/components/Typography' 14 15 15 16 // fallbacks for safari 16 - const onIdle = globalThis.requestIdleCallback || (cb => setTimeout(cb, 1)) 17 + const onIdle = 18 + globalThis.requestIdleCallback || ((cb: () => void) => setTimeout(cb, 1)) 17 19 const cancelIdle = globalThis.cancelIdleCallback || clearTimeout 18 20 19 21 export function SuggestedLanguage({
+1 -1
src/view/com/composer/state/video.ts
··· 1 1 import {type ImagePickerAsset} from 'expo-image-picker' 2 2 import {type AppBskyVideoDefs, type BlobRef, type BskyAgent} from '@atproto/api' 3 3 import {type I18n} from '@lingui/core' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 6 6 import {AbortError} from '#/lib/async/cancelable' 7 7 import {compressVideo} from '#/lib/media/video/compress'
+1 -1
src/view/com/composer/text-input/TextInput.web.tsx
··· 9 9 import {StyleSheet, View} from 'react-native' 10 10 import Animated, {FadeIn, FadeOut} from 'react-native-reanimated' 11 11 import {AppBskyRichtextFacet, RichText} from '@atproto/api' 12 - import {Trans} from '@lingui/macro' 12 + import {Trans} from '@lingui/react/macro' 13 13 import {Document} from '@tiptap/extension-document' 14 14 import Hardbreak from '@tiptap/extension-hard-break' 15 15 import History from '@tiptap/extension-history'
+1 -1
src/view/com/composer/text-input/mobile/Autocomplete.tsx
··· 1 1 import {View} from 'react-native' 2 2 import Animated, {FadeInDown, FadeOut} from 'react-native-reanimated' 3 3 import {type AppBskyActorDefs} from '@atproto/api' 4 - import {Trans} from '@lingui/macro' 4 + import {Trans} from '@lingui/react/macro' 5 5 6 6 import {PressableScale} from '#/lib/custom-animations/PressableScale' 7 7 import {sanitizeDisplayName} from '#/lib/strings/display-names'
+1 -1
src/view/com/composer/text-input/web/Autocomplete.tsx
··· 1 1 import {forwardRef, useEffect, useImperativeHandle, useState} from 'react' 2 2 import {Pressable, View} from 'react-native' 3 3 import {type AppBskyActorDefs, type ModerationOpts} from '@atproto/api' 4 - import {Trans} from '@lingui/macro' 4 + import {Trans} from '@lingui/react/macro' 5 5 import {ReactRenderer} from '@tiptap/react' 6 6 import { 7 7 type SuggestionKeyDownProps,
+1 -1
src/view/com/composer/text-input/web/EmojiPicker.web.tsx
··· 1 1 import React from 'react' 2 2 import {Pressable, useWindowDimensions, View} from 'react-native' 3 3 import Picker from '@emoji-mart/react' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {DismissableLayer, FocusScope} from 'radix-ui/internal' 7 7
+2 -1
src/view/com/composer/threadgate/ThreadgateBtn.tsx
··· 2 2 import {Keyboard, type StyleProp, type ViewStyle} from 'react-native' 3 3 import {type AnimatedStyle} from 'react-native-reanimated' 4 4 import {type AppBskyFeedPostgate} from '@atproto/api' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 import deepEqual from 'fast-deep-equal' 8 9 9 10 import {isNetworkError} from '#/lib/strings/errors'
+2 -1
src/view/com/composer/videos/SubtitleDialog.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 2 import {Keyboard, type StyleProp, View, type ViewStyle} from 'react-native' 3 - import {msg, Plural, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Plural, Trans} from '@lingui/react/macro' 5 6 6 7 import {MAX_ALT_TEXT} from '#/lib/constants' 7 8 import {isOverMaxGraphemeCount} from '#/lib/strings/helpers'
+2 -1
src/view/com/composer/videos/SubtitleFilePicker.tsx
··· 1 1 import {useRef} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import type React from 'react' 6 7 7 8 import {logger} from '#/logger'
+1 -1
src/view/com/composer/videos/VideoPreview.web.tsx
··· 1 1 import {View} from 'react-native' 2 2 import {type ImagePickerAsset} from 'expo-image-picker' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {type CompressedVideo} from '#/lib/media/video/types'
+2 -1
src/view/com/feeds/ComposerPrompt.tsx
··· 1 1 import {useCallback, useState} from 'react' 2 2 import {Keyboard, Pressable, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useOpenComposer} from '#/lib/hooks/useOpenComposer' 7 8 import {
+1 -1
src/view/com/feeds/FeedPage.tsx
··· 8 8 } from 'react' 9 9 import {View} from 'react-native' 10 10 import {type AppBskyActorDefs, AppBskyFeedDefs} from '@atproto/api' 11 - import {msg} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 13 import {type NavigationProp, useNavigation} from '@react-navigation/native' 14 14 import {useQueryClient} from '@tanstack/react-query'
+2 -1
src/view/com/feeds/FeedSourceCard.tsx
··· 5 5 type AppBskyGraphDefs, 6 6 AtUri, 7 7 } from '@atproto/api' 8 - import {msg, Plural, Trans} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Plural, Trans} from '@lingui/react/macro' 10 11 11 12 import {sanitizeHandle} from '#/lib/strings/handles' 12 13 import {
+2 -1
src/view/com/feeds/MissingFeed.tsx
··· 1 1 import {type StyleProp, View, type ViewStyle} from 'react-native' 2 2 import {AtUri} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {cleanError} from '#/lib/strings/errors' 7 8 import {useModerationOpts} from '#/state/preferences/moderation-opts'
+1 -1
src/view/com/feeds/ProfileFeedgens.tsx
··· 13 13 View, 14 14 type ViewStyle, 15 15 } from 'react-native' 16 - import {msg} from '@lingui/macro' 16 + import {msg} from '@lingui/core/macro' 17 17 import {useLingui} from '@lingui/react' 18 18 import {useNavigation} from '@react-navigation/native' 19 19 import {useQueryClient} from '@tanstack/react-query'
+1 -1
src/view/com/home/HomeHeaderLayout.web.tsx
··· 1 1 import {type JSX} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import type React from 'react' 6 6
+1 -1
src/view/com/home/HomeHeaderLayoutMobile.tsx
··· 1 1 import {type JSX} from 'react' 2 2 import {View} from 'react-native' 3 3 import Animated from 'react-native-reanimated' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 7 7 import {HITSLOP_10} from '#/lib/constants'
+1 -1
src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx
··· 8 8 import {StyleSheet, TouchableOpacity, type ViewStyle} from 'react-native' 9 9 import {SafeAreaView} from 'react-native-safe-area-context' 10 10 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 11 - import {msg} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 13 14 14 import {createHitslop} from '#/lib/constants'
+1 -2
src/view/com/lightbox/ImageViewing/index.tsx
··· 7 7 */ 8 8 // Original code copied and simplified from the link below as the codebase is currently not maintained: 9 9 // https://github.com/jobtoday/react-native-image-viewing 10 - 11 10 import React, {useCallback, useEffect, useMemo, useState} from 'react' 12 11 import { 13 12 LayoutAnimation, ··· 39 38 import {SafeAreaView} from 'react-native-safe-area-context' 40 39 import * as ScreenOrientation from 'expo-screen-orientation' 41 40 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 42 - import {Trans} from '@lingui/macro' 41 + import {Trans} from '@lingui/react/macro' 43 42 44 43 import {type Dimensions} from '#/lib/media/types' 45 44 import {colors, s} from '#/lib/styles'
+1 -1
src/view/com/lightbox/Lightbox.web.tsx
··· 1 1 import {useCallback, useEffect, useRef, useState} from 'react' 2 2 import {Pressable, StyleSheet, View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {FocusGuards, FocusScope} from 'radix-ui/internal' 7 7 import {RemoveScrollBar} from 'react-remove-scroll-bar'
+2 -1
src/view/com/lists/ListMembers.tsx
··· 7 7 type ViewStyle, 8 8 } from 'react-native' 9 9 import {type AppBskyGraphDefs} from '@atproto/api' 10 - import {msg, Trans} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 + import {Trans} from '@lingui/react/macro' 12 13 13 14 import {cleanError} from '#/lib/strings/errors' 14 15 import {logger} from '#/logger'
+1 -1
src/view/com/lists/MyLists.tsx
··· 8 8 type ViewStyle, 9 9 } from 'react-native' 10 10 import {type AppBskyGraphDefs as GraphDefs} from '@atproto/api' 11 - import {msg} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 13 14 14 import {usePalette} from '#/lib/hooks/usePalette'
+1 -1
src/view/com/lists/ProfileLists.tsx
··· 13 13 View, 14 14 type ViewStyle, 15 15 } from 'react-native' 16 - import {msg} from '@lingui/macro' 16 + import {msg} from '@lingui/core/macro' 17 17 import {useLingui} from '@lingui/react' 18 18 import {useNavigation} from '@react-navigation/native' 19 19 import {useQueryClient} from '@tanstack/react-query'
+2 -1
src/view/com/modals/UserAddRemoveLists.tsx
··· 6 6 View, 7 7 } from 'react-native' 8 8 import {type AppBskyGraphDefs as GraphDefs} from '@atproto/api' 9 - import {msg, Trans} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 + import {Trans} from '@lingui/react/macro' 11 12 12 13 import {usePalette} from '#/lib/hooks/usePalette' 13 14 import {sanitizeDisplayName} from '#/lib/strings/display-names'
+1 -1
src/view/com/notifications/NotificationFeed.tsx
··· 5 5 StyleSheet, 6 6 View, 7 7 } from 'react-native' 8 - import {msg} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 10 11 11 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
+4 -4
src/view/com/notifications/NotificationFeedItem.tsx
··· 18 18 } from '@atproto/api' 19 19 import {AtUri} from '@atproto/api' 20 20 import {TID} from '@atproto/common-web' 21 - import {msg, Plural, plural, Trans} from '@lingui/macro' 21 + import {msg, plural} from '@lingui/core/macro' 22 22 import {useLingui} from '@lingui/react' 23 + import {Plural, Trans} from '@lingui/react/macro' 23 24 import {useNavigation} from '@react-navigation/native' 24 25 import {useQueryClient} from '@tanstack/react-query' 25 26 26 - import {MAX_POST_LINES} from '#/lib/constants' 27 - import {DM_SERVICE_HEADERS} from '#/lib/constants' 27 + import {DM_SERVICE_HEADERS, MAX_POST_LINES} from '#/lib/constants' 28 28 import {useAnimatedValue} from '#/lib/hooks/useAnimatedValue' 29 29 import {usePalette} from '#/lib/hooks/usePalette' 30 30 import {makeProfileLink} from '#/lib/routes/links' ··· 880 880 setIsLoading(true) 881 881 const res = await agent.api.chat.bsky.convo.getConvoForMembers( 882 882 { 883 - members: [profile.did, agent.session!.did!], 883 + members: [profile.did, agent.session!.did], 884 884 }, 885 885 {headers: DM_SERVICE_HEADERS}, 886 886 )
+1 -1
src/view/com/post-thread/PostLikedBy.tsx
··· 1 1 import {useCallback, useMemo, useState} from 'react' 2 2 import {type AppBskyFeedGetLikes as GetLikes} from '@atproto/api' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
+1 -1
src/view/com/post-thread/PostQuotes.tsx
··· 5 5 moderatePost, 6 6 type ModerationDecision, 7 7 } from '@atproto/api' 8 - import {msg} from '@lingui/macro' 8 + import {msg} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 10 11 11 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
+1 -1
src/view/com/post-thread/PostRepostedBy.tsx
··· 1 1 import {useCallback, useMemo, useState} from 'react' 2 2 import {type AppBskyActorDefs as ActorDefs} from '@atproto/api' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
+1 -1
src/view/com/posts/CustomFeedEmptyState.tsx
··· 4 4 FontAwesomeIcon, 5 5 type FontAwesomeIconStyle, 6 6 } from '@fortawesome/react-native-fontawesome' 7 - import {Trans} from '@lingui/macro' 7 + import {Trans} from '@lingui/react/macro' 8 8 import {useNavigation} from '@react-navigation/native' 9 9 10 10 import {DISCOVER_FEED_URI} from '#/lib/constants'
+1 -1
src/view/com/posts/DiscoverFallbackHeader.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {usePalette} from '#/lib/hooks/usePalette' 5 5 import {InfoCircleIcon} from '#/lib/icons'
+2 -1
src/view/com/posts/FeedShutdownMsg.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {PROD_DEFAULT_FEED} from '#/lib/constants' 7 8 import {logger} from '#/logger'
+1 -1
src/view/com/posts/FollowingEmptyState.tsx
··· 4 4 FontAwesomeIcon, 5 5 type FontAwesomeIconStyle, 6 6 } from '@fortawesome/react-native-fontawesome' 7 - import {Trans} from '@lingui/macro' 7 + import {Trans} from '@lingui/react/macro' 8 8 import {useNavigation} from '@react-navigation/native' 9 9 10 10 import {usePalette} from '#/lib/hooks/usePalette'
+1 -1
src/view/com/posts/FollowingEndOfFeed.tsx
··· 4 4 FontAwesomeIcon, 5 5 type FontAwesomeIconStyle, 6 6 } from '@fortawesome/react-native-fontawesome' 7 - import {Trans} from '@lingui/macro' 7 + import {Trans} from '@lingui/react/macro' 8 8 import {useNavigation} from '@react-navigation/native' 9 9 10 10 import {usePalette} from '#/lib/hooks/usePalette'
+1 -1
src/view/com/posts/PostFeed.tsx
··· 15 15 AppBskyEmbedVideo, 16 16 type AppBskyFeedDefs, 17 17 } from '@atproto/api' 18 - import {msg} from '@lingui/macro' 18 + import {msg} from '@lingui/core/macro' 19 19 import {useLingui} from '@lingui/react' 20 20 import {useQueryClient} from '@tanstack/react-query' 21 21
+2 -1
src/view/com/posts/PostFeedErrorMessage.tsx
··· 5 5 AppBskyFeedGetAuthorFeed, 6 6 AtUri, 7 7 } from '@atproto/api' 8 - import {msg as msgLingui, Trans} from '@lingui/macro' 8 + import {msg as msgLingui} from '@lingui/core/macro' 9 9 import {useLingui} from '@lingui/react' 10 + import {Trans} from '@lingui/react/macro' 10 11 import {useNavigation} from '@react-navigation/native' 11 12 12 13 import {usePalette} from '#/lib/hooks/usePalette'
+2 -1
src/view/com/posts/PostFeedReason.tsx
··· 1 1 import {StyleSheet, View} from 'react-native' 2 2 import {AppBskyFeedDefs, type ModerationDecision} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {isReasonFeedSource, type ReasonFeedSource} from '#/lib/api/feed/types' 7 8 import {createSanitizedDisplayName} from '#/lib/moderation/create-sanitized-display-name'
+1 -1
src/view/com/posts/ShowLessFollowup.tsx
··· 1 1 import {View} from 'react-native' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 4 4 import {atoms as a, useTheme} from '#/alf' 5 5 import {CircleCheck_Stroke2_Corner0_Rounded} from '#/components/icons/CircleCheck'
+1 -1
src/view/com/posts/ViewFullThread.tsx
··· 2 2 import {StyleSheet, View} from 'react-native' 3 3 import Svg, {Circle, Line} from 'react-native-svg' 4 4 import {AtUri} from '@atproto/api' 5 - import {msg} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 7 8 8 import {usePalette} from '#/lib/hooks/usePalette'
+1 -1
src/view/com/profile/ProfileFollowers.tsx
··· 1 1 import React from 'react' 2 2 import {type AppBskyActorDefs as ActorDefs} from '@atproto/api' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import {useNavigation} from '@react-navigation/native' 6 6
+1 -1
src/view/com/profile/ProfileFollows.tsx
··· 1 1 import React from 'react' 2 2 import {type AppBskyActorDefs as ActorDefs} from '@atproto/api' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import {useNavigation} from '@react-navigation/native' 6 6
+2 -1
src/view/com/profile/ProfileMenu.tsx
··· 1 1 import React, {memo} from 'react' 2 2 import {type AppBskyActorDefs} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useNavigation} from '@react-navigation/native' 6 7 import {useQueryClient} from '@tanstack/react-query' 7 8
+2 -1
src/view/com/profile/ProfileSubpageHeader.tsx
··· 8 8 useAnimatedRef, 9 9 } from 'react-native-reanimated' 10 10 import {type AppBskyGraphDefs} from '@atproto/api' 11 - import {msg, Trans} from '@lingui/macro' 11 + import {msg} from '@lingui/core/macro' 12 12 import {useLingui} from '@lingui/react' 13 + import {Trans} from '@lingui/react/macro' 13 14 import {useNavigation} from '@react-navigation/native' 14 15 15 16 import {usePalette} from '#/lib/hooks/usePalette'
+2 -2
src/view/com/util/BottomSheetCustomBackdrop.tsx
··· 6 6 useAnimatedStyle, 7 7 } from 'react-native-reanimated' 8 8 import {type BottomSheetBackdropProps} from '@discord/bottom-sheet/src' 9 - import {msg} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 import type React from 'react' 12 12 13 13 export function createCustomBackdrop( 14 - onClose?: (() => void) | undefined, 14 + onClose?: () => void, 15 15 ): React.FC<BottomSheetBackdropProps> { 16 16 const CustomBackdrop = ({animatedIndex, style}: BottomSheetBackdropProps) => { 17 17 const {_} = useLingui()
+1 -1
src/view/com/util/ErrorBoundary.tsx
··· 1 1 import {Component, type ErrorInfo, type ReactNode} from 'react' 2 2 import {type StyleProp, type ViewStyle} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {logger} from '#/logger'
+1 -1
src/view/com/util/PostMeta.tsx
··· 1 1 import {memo, useCallback} from 'react' 2 2 import {type StyleProp, View, type ViewStyle} from 'react-native' 3 3 import {type AppBskyActorDefs, type ModerationDecision} from '@atproto/api' 4 - import {msg} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 6 import {useQueryClient} from '@tanstack/react-query' 7 7
+2 -1
src/view/com/util/UserAvatar.tsx
··· 11 11 import {Image as ExpoImage} from 'expo-image' 12 12 import {type ModerationUI} from '@atproto/api' 13 13 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 14 - import {msg, Trans} from '@lingui/macro' 14 + import {msg} from '@lingui/core/macro' 15 15 import {useLingui} from '@lingui/react' 16 + import {Trans} from '@lingui/react/macro' 16 17 import {useQueryClient} from '@tanstack/react-query' 17 18 18 19 import {useHaptics} from '#/lib/haptics'
+2 -1
src/view/com/util/UserBanner.tsx
··· 2 2 import {Pressable, StyleSheet, View} from 'react-native' 3 3 import {Image} from 'expo-image' 4 4 import {type ModerationUI} from '@atproto/api' 5 - import {msg, Trans} from '@lingui/macro' 5 + import {msg} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 8 9 import { 9 10 useCameraPermission,
+1 -1
src/view/com/util/error/ErrorMessage.tsx
··· 9 9 FontAwesomeIcon, 10 10 type FontAwesomeIconStyle, 11 11 } from '@fortawesome/react-native-fontawesome' 12 - import {msg} from '@lingui/macro' 12 + import {msg} from '@lingui/core/macro' 13 13 import {useLingui} from '@lingui/react' 14 14 15 15 import {usePalette} from '#/lib/hooks/usePalette'
+2 -1
src/view/com/util/error/ErrorScreen.tsx
··· 3 3 FontAwesomeIcon, 4 4 type FontAwesomeIconStyle, 5 5 } from '@fortawesome/react-native-fontawesome' 6 - import {msg, Trans} from '@lingui/macro' 6 + import {msg} from '@lingui/core/macro' 7 7 import {useLingui} from '@lingui/react' 8 + import {Trans} from '@lingui/react/macro' 8 9 9 10 import {usePalette} from '#/lib/hooks/usePalette' 10 11 import {atoms as a, useTheme} from '#/alf'
+2 -1
src/view/screens/CommunityGuidelines.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useFocusEffect} from '@react-navigation/native' 6 7 7 8 import {usePalette} from '#/lib/hooks/usePalette'
+2 -1
src/view/screens/CopyrightPolicy.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useFocusEffect} from '@react-navigation/native' 6 7 7 8 import {usePalette} from '#/lib/hooks/usePalette'
+1 -1
src/view/screens/Debug.tsx
··· 1 1 import React from 'react' 2 2 import {ScrollView, View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 6 6 import {usePalette} from '#/lib/hooks/usePalette'
+5 -3
src/view/screens/DebugMod.tsx
··· 16 16 type ModerationOpts, 17 17 RichText, 18 18 } from '@atproto/api' 19 - import {msg} from '@lingui/macro' 19 + import {msg} from '@lingui/core/macro' 20 20 import {useLingui} from '@lingui/react' 21 21 22 22 import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings' ··· 24 24 type CommonNavigatorParams, 25 25 type NativeStackScreenProps, 26 26 } from '#/lib/routes/types' 27 - import {useModerationOpts} from '#/state/preferences/moderation-opts' 28 - import {moderationOptsOverrideContext} from '#/state/preferences/moderation-opts' 27 + import { 28 + moderationOptsOverrideContext, 29 + useModerationOpts, 30 + } from '#/state/preferences/moderation-opts' 29 31 import {type FeedNotification} from '#/state/queries/notifications/types' 30 32 import { 31 33 groupNotifications,
+2 -1
src/view/screens/Feeds.tsx
··· 1 1 import React from 'react' 2 2 import {ActivityIndicator, StyleSheet, View} from 'react-native' 3 3 import {type AppBskyFeedDefs} from '@atproto/api' 4 - import {msg, Trans} from '@lingui/macro' 4 + import {msg} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useFocusEffect} from '@react-navigation/native' 7 8 import debounce from 'lodash.debounce' 8 9
+3 -2
src/view/screens/Lists.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {AtUri} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useFocusEffect, useNavigation} from '@react-navigation/native' 6 7 7 8 import {useRequireEmailVerification} from '#/lib/hooks/useRequireEmailVerification' 8 9 import { 9 10 type CommonNavigatorParams, 10 11 type NativeStackScreenProps, 12 + type NavigationProp, 11 13 } from '#/lib/routes/types' 12 - import {type NavigationProp} from '#/lib/routes/types' 13 14 import {useSetMinimalShellMode} from '#/state/shell' 14 15 import {MyLists} from '#/view/com/lists/MyLists' 15 16 import {atoms as a} from '#/alf'
+1 -1
src/view/screens/ModerationBlockedAccounts.tsx
··· 1 1 import {useCallback, useMemo, useState} from 'react' 2 2 import {type StyleProp, View, type ViewStyle} from 'react-native' 3 3 import {type AppBskyActorDefs as ActorDefs} from '@atproto/api' 4 - import {Trans} from '@lingui/macro' 4 + import {Trans} from '@lingui/react/macro' 5 5 import {useFocusEffect} from '@react-navigation/native' 6 6 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 7 7
+3 -2
src/view/screens/ModerationModlists.tsx
··· 1 1 import {useCallback} from 'react' 2 2 import {AtUri} from '@atproto/api' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useFocusEffect, useNavigation} from '@react-navigation/native' 6 7 7 8 import {useRequireEmailVerification} from '#/lib/hooks/useRequireEmailVerification' 8 9 import { 9 10 type CommonNavigatorParams, 10 11 type NativeStackScreenProps, 12 + type NavigationProp, 11 13 } from '#/lib/routes/types' 12 - import {type NavigationProp} from '#/lib/routes/types' 13 14 import {useSetMinimalShellMode} from '#/state/shell' 14 15 import {MyLists} from '#/view/com/lists/MyLists' 15 16 import {atoms as a} from '#/alf'
+1 -1
src/view/screens/ModerationMutedAccounts.tsx
··· 1 1 import {useCallback, useMemo, useState} from 'react' 2 2 import {type StyleProp, View, type ViewStyle} from 'react-native' 3 3 import {type AppBskyActorDefs as ActorDefs} from '@atproto/api' 4 - import {Trans} from '@lingui/macro' 4 + import {Trans} from '@lingui/react/macro' 5 5 import {useFocusEffect} from '@react-navigation/native' 6 6 import {type NativeStackScreenProps} from '@react-navigation/native-stack' 7 7
+2 -1
src/view/screens/NotFound.tsx
··· 1 1 import React from 'react' 2 2 import {StyleSheet, View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import { 6 7 StackActions, 7 8 useFocusEffect,
+2 -1
src/view/screens/Notifications.tsx
··· 1 1 import {useCallback, useEffect, useMemo, useRef, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useFocusEffect, useIsFocused} from '@react-navigation/native' 6 7 import {useQueryClient} from '@tanstack/react-query' 7 8
+2 -1
src/view/screens/PrivacyPolicy.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useFocusEffect} from '@react-navigation/native' 6 7 7 8 import {usePalette} from '#/lib/hooks/usePalette'
+2 -1
src/view/screens/Profile.tsx
··· 7 7 type ModerationOpts, 8 8 RichText as RichTextAPI, 9 9 } from '@atproto/api' 10 - import {msg, Trans} from '@lingui/macro' 10 + import {msg} from '@lingui/core/macro' 11 11 import {useLingui} from '@lingui/react' 12 + import {Trans} from '@lingui/react/macro' 12 13 import {useFocusEffect, useNavigation} from '@react-navigation/native' 13 14 import {useQueryClient} from '@tanstack/react-query' 14 15
+1 -1
src/view/screens/ProfileFeedLikedBy.tsx
··· 1 1 import {useCallback} from 'react' 2 - import {Trans} from '@lingui/macro' 2 + import {Trans} from '@lingui/react/macro' 3 3 import {useFocusEffect} from '@react-navigation/native' 4 4 5 5 import {
+2 -1
src/view/screens/Storybook/Admonitions.tsx
··· 1 1 import {Text as RNText, View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import {atoms as a, useTheme} from '#/alf' 6 7 import {
+2 -1
src/view/screens/Support.tsx
··· 1 1 import React from 'react' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 import {useFocusEffect} from '@react-navigation/native' 5 6 6 7 import {HELP_DESK_URL} from '#/lib/constants'
+2 -1
src/view/screens/TermsOfService.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useFocusEffect} from '@react-navigation/native' 6 7 7 8 import {usePalette} from '#/lib/hooks/usePalette'
+2 -1
src/view/shell/Drawer.tsx
··· 1 1 import React, {type ComponentProps, type JSX} from 'react' 2 2 import {Linking, ScrollView, TouchableOpacity, View} from 'react-native' 3 3 import {useSafeAreaInsets} from 'react-native-safe-area-context' 4 - import {msg, Plural, plural, Trans} from '@lingui/macro' 4 + import {msg, plural} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Plural, Trans} from '@lingui/react/macro' 6 7 import {StackActions, useNavigation} from '@react-navigation/native' 7 8 8 9 import {FEEDBACK_FORM_URL, HELP_DESK_URL} from '#/lib/constants'
+2 -1
src/view/shell/NavSignupCard.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 6 7 import {useLoggedOutViewControls} from '#/state/shell/logged-out' 7 8 import {useCloseAllActiveElements} from '#/state/util'
+2 -1
src/view/shell/bottom-bar/BottomBar.tsx
··· 2 2 import {type GestureResponderEvent, View} from 'react-native' 3 3 import Animated from 'react-native-reanimated' 4 4 import {useSafeAreaInsets} from 'react-native-safe-area-context' 5 - import {msg, plural, Trans} from '@lingui/macro' 5 + import {msg, plural} from '@lingui/core/macro' 6 6 import {useLingui} from '@lingui/react' 7 + import {Trans} from '@lingui/react/macro' 7 8 import {type BottomTabBarProps} from '@react-navigation/bottom-tabs' 8 9 import {StackActions} from '@react-navigation/native' 9 10
+2 -1
src/view/shell/bottom-bar/BottomBarWeb.tsx
··· 1 1 import React from 'react' 2 2 import {View} from 'react-native' 3 3 import Animated from 'react-native-reanimated' 4 - import {msg, plural, Trans} from '@lingui/macro' 4 + import {msg, plural} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useNavigationState} from '@react-navigation/native' 7 8 8 9 import {useHideBottomBarBorder} from '#/lib/hooks/useHideBottomBarBorder'
+1 -1
src/view/shell/desktop/Feeds.tsx
··· 1 1 import {Pressable, View} from 'react-native' 2 - import {msg} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 4 import {useNavigation, useNavigationState} from '@react-navigation/native' 5 5
+2 -1
src/view/shell/desktop/LeftNav.tsx
··· 1 1 import {type JSX, useCallback, useMemo, useState} from 'react' 2 2 import {StyleSheet, View} from 'react-native' 3 3 import {type AppBskyActorDefs} from '@atproto/api' 4 - import {msg, plural, Trans} from '@lingui/macro' 4 + import {msg, plural} from '@lingui/core/macro' 5 5 import {useLingui} from '@lingui/react' 6 + import {Trans} from '@lingui/react/macro' 6 7 import {useNavigation, useNavigationState} from '@react-navigation/native' 7 8 8 9 import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher'
+2 -1
src/view/shell/desktop/RightNav.tsx
··· 1 1 import {useEffect, useState} from 'react' 2 2 import {View} from 'react-native' 3 - import {msg, Trans} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 + import {Trans} from '@lingui/react/macro' 5 6 import {useNavigation} from '@react-navigation/core' 6 7 7 8 import {FEEDBACK_FORM_URL, HELP_DESK_URL} from '#/lib/constants'
+1 -1
src/view/shell/desktop/Search.tsx
··· 6 6 View, 7 7 type ViewStyle, 8 8 } from 'react-native' 9 - import {msg} from '@lingui/macro' 9 + import {msg} from '@lingui/core/macro' 10 10 import {useLingui} from '@lingui/react' 11 11 import {StackActions, useNavigation} from '@react-navigation/native' 12 12
+2 -1
src/view/shell/desktop/SidebarTrendingTopics.tsx
··· 1 1 import {View} from 'react-native' 2 - import {msg, Trans} from '@lingui/macro' 2 + import {msg} from '@lingui/core/macro' 3 3 import {useLingui} from '@lingui/react' 4 + import {Trans} from '@lingui/react/macro' 4 5 5 6 import { 6 7 useTrendingSettings,
+1 -1
src/view/shell/index.web.tsx
··· 1 1 import {useCallback, useEffect, useLayoutEffect, useState} from 'react' 2 2 import {StyleSheet, TouchableWithoutFeedback, View} from 'react-native' 3 - import {msg} from '@lingui/macro' 3 + import {msg} from '@lingui/core/macro' 4 4 import {useLingui} from '@lingui/react' 5 5 import {useNavigation} from '@react-navigation/native' 6 6 import {RemoveScrollBar} from 'react-remove-scroll-bar'
+1 -1
tsconfig.json
··· 15 15 "plugins": [ 16 16 { 17 17 "name": "ts-plugin-sort-import-suggestions", 18 - "moveUpPatterns": ["#/", "@lingui/macro"], 18 + "moveUpPatterns": ["#/", "@lingui/react/macro"], 19 19 "moveDownPatterns": ["react-native-reanimated/lib"], 20 20 } 21 21 ]
+423 -351
yarn.lock
··· 1465 1465 js-tokens "^4.0.0" 1466 1466 picocolors "^1.0.0" 1467 1467 1468 + "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0": 1469 + version "7.29.0" 1470 + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.0.tgz#7cd7a59f15b3cc0dcd803038f7792712a7d0b15c" 1471 + integrity sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw== 1472 + dependencies: 1473 + "@babel/helper-validator-identifier" "^7.28.5" 1474 + js-tokens "^4.0.0" 1475 + picocolors "^1.1.1" 1476 + 1468 1477 "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": 1469 1478 version "7.22.9" 1470 1479 resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" ··· 1485 1494 resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" 1486 1495 integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== 1487 1496 1497 + "@babel/compat-data@^7.28.6": 1498 + version "7.29.0" 1499 + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.0.tgz#00d03e8c0ac24dd9be942c5370990cbe1f17d88d" 1500 + integrity sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg== 1501 + 1488 1502 "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.20.0", "@babel/core@^7.20.2": 1489 1503 version "7.22.10" 1490 1504 resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.10.tgz#aad442c7bcd1582252cb4576747ace35bc122f35" ··· 1527 1541 json5 "^2.2.3" 1528 1542 semver "^6.3.1" 1529 1543 1544 + "@babel/core@^7.20.12": 1545 + version "7.29.0" 1546 + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.29.0.tgz#5286ad785df7f79d656e88ce86e650d16ca5f322" 1547 + integrity sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA== 1548 + dependencies: 1549 + "@babel/code-frame" "^7.29.0" 1550 + "@babel/generator" "^7.29.0" 1551 + "@babel/helper-compilation-targets" "^7.28.6" 1552 + "@babel/helper-module-transforms" "^7.28.6" 1553 + "@babel/helpers" "^7.28.6" 1554 + "@babel/parser" "^7.29.0" 1555 + "@babel/template" "^7.28.6" 1556 + "@babel/traverse" "^7.29.0" 1557 + "@babel/types" "^7.29.0" 1558 + "@jridgewell/remapping" "^2.3.5" 1559 + convert-source-map "^2.0.0" 1560 + debug "^4.1.0" 1561 + gensync "^1.0.0-beta.2" 1562 + json5 "^2.2.3" 1563 + semver "^6.3.1" 1564 + 1530 1565 "@babel/core@^7.21.0": 1531 1566 version "7.23.2" 1532 1567 resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" ··· 1672 1707 "@jridgewell/trace-mapping" "^0.3.28" 1673 1708 jsesc "^3.0.2" 1674 1709 1710 + "@babel/generator@^7.29.0": 1711 + version "7.29.1" 1712 + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.1.tgz#d09876290111abbb00ef962a7b83a5307fba0d50" 1713 + integrity sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw== 1714 + dependencies: 1715 + "@babel/parser" "^7.29.0" 1716 + "@babel/types" "^7.29.0" 1717 + "@jridgewell/gen-mapping" "^0.3.12" 1718 + "@jridgewell/trace-mapping" "^0.3.28" 1719 + jsesc "^3.0.2" 1720 + 1675 1721 "@babel/helper-annotate-as-pure@^7.22.5": 1676 1722 version "7.22.5" 1677 1723 resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" ··· 1756 1802 lru-cache "^5.1.1" 1757 1803 semver "^6.3.1" 1758 1804 1805 + "@babel/helper-compilation-targets@^7.28.6": 1806 + version "7.28.6" 1807 + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz#32c4a3f41f12ed1532179b108a4d746e105c2b25" 1808 + integrity sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== 1809 + dependencies: 1810 + "@babel/compat-data" "^7.28.6" 1811 + "@babel/helper-validator-option" "^7.27.1" 1812 + browserslist "^4.24.0" 1813 + lru-cache "^5.1.1" 1814 + semver "^6.3.1" 1815 + 1759 1816 "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.10": 1760 1817 version "7.22.10" 1761 1818 resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz#dd2612d59eac45588021ac3d6fa976d08f4e95a3" ··· 1957 2014 "@babel/traverse" "^7.25.9" 1958 2015 "@babel/types" "^7.25.9" 1959 2016 2017 + "@babel/helper-module-imports@^7.28.6": 2018 + version "7.28.6" 2019 + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" 2020 + integrity sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== 2021 + dependencies: 2022 + "@babel/traverse" "^7.28.6" 2023 + "@babel/types" "^7.28.6" 2024 + 1960 2025 "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.22.9": 1961 2026 version "7.22.9" 1962 2027 resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz#92dfcb1fbbb2bc62529024f72d942a8c97142129" ··· 2010 2075 "@babel/helper-validator-identifier" "^7.25.9" 2011 2076 "@babel/traverse" "^7.25.9" 2012 2077 2078 + "@babel/helper-module-transforms@^7.28.6": 2079 + version "7.28.6" 2080 + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" 2081 + integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== 2082 + dependencies: 2083 + "@babel/helper-module-imports" "^7.28.6" 2084 + "@babel/helper-validator-identifier" "^7.28.5" 2085 + "@babel/traverse" "^7.28.6" 2086 + 2013 2087 "@babel/helper-optimise-call-expression@^7.22.5": 2014 2088 version "7.22.5" 2015 2089 resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" ··· 2229 2303 resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" 2230 2304 integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== 2231 2305 2306 + "@babel/helper-validator-identifier@^7.28.5": 2307 + version "7.28.5" 2308 + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" 2309 + integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== 2310 + 2232 2311 "@babel/helper-validator-option@^7.22.15": 2233 2312 version "7.22.15" 2234 2313 resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" ··· 2248 2327 version "7.25.9" 2249 2328 resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" 2250 2329 integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== 2330 + 2331 + "@babel/helper-validator-option@^7.27.1": 2332 + version "7.27.1" 2333 + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" 2334 + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== 2251 2335 2252 2336 "@babel/helper-wrap-function@^7.25.9": 2253 2337 version "7.25.9" ··· 2301 2385 "@babel/template" "^7.26.9" 2302 2386 "@babel/types" "^7.26.10" 2303 2387 2388 + "@babel/helpers@^7.28.6": 2389 + version "7.28.6" 2390 + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" 2391 + integrity sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== 2392 + dependencies: 2393 + "@babel/template" "^7.28.6" 2394 + "@babel/types" "^7.28.6" 2395 + 2304 2396 "@babel/highlight@^7.10.4", "@babel/highlight@^7.22.10": 2305 2397 version "7.22.10" 2306 2398 resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.10.tgz#02a3f6d8c1cb4521b2fd0ab0da8f4739936137d7" ··· 2365 2457 dependencies: 2366 2458 "@babel/types" "^7.28.4" 2367 2459 2460 + "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": 2461 + version "7.29.0" 2462 + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.0.tgz#669ef345add7d057e92b7ed15f0bac07611831b6" 2463 + integrity sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== 2464 + dependencies: 2465 + "@babel/types" "^7.29.0" 2466 + 2368 2467 "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": 2369 2468 version "7.25.9" 2370 2469 resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" ··· 3328 3427 resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" 3329 3428 integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== 3330 3429 3331 - "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4": 3430 + "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4": 3332 3431 version "7.22.10" 3333 3432 resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.10.tgz#ae3e9631fd947cb7e3610d3e9d8fef5f76696682" 3334 3433 integrity sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ== ··· 3402 3501 "@babel/code-frame" "^7.27.1" 3403 3502 "@babel/parser" "^7.27.2" 3404 3503 "@babel/types" "^7.27.1" 3504 + 3505 + "@babel/template@^7.28.6": 3506 + version "7.28.6" 3507 + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" 3508 + integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== 3509 + dependencies: 3510 + "@babel/code-frame" "^7.28.6" 3511 + "@babel/parser" "^7.28.6" 3512 + "@babel/types" "^7.28.6" 3405 3513 3406 3514 "@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3": 3407 3515 version "7.25.9" ··· 3501 3609 "@babel/parser" "^7.28.4" 3502 3610 "@babel/template" "^7.27.2" 3503 3611 "@babel/types" "^7.28.4" 3612 + debug "^4.3.1" 3613 + 3614 + "@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0": 3615 + version "7.29.0" 3616 + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.0.tgz#f323d05001440253eead3c9c858adbe00b90310a" 3617 + integrity sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA== 3618 + dependencies: 3619 + "@babel/code-frame" "^7.29.0" 3620 + "@babel/generator" "^7.29.0" 3621 + "@babel/helper-globals" "^7.28.0" 3622 + "@babel/parser" "^7.29.0" 3623 + "@babel/template" "^7.28.6" 3624 + "@babel/types" "^7.29.0" 3504 3625 debug "^4.3.1" 3505 3626 3506 3627 "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4": ··· 3572 3693 "@babel/helper-string-parser" "^7.27.1" 3573 3694 "@babel/helper-validator-identifier" "^7.27.1" 3574 3695 3696 + "@babel/types@^7.28.6", "@babel/types@^7.29.0": 3697 + version "7.29.0" 3698 + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" 3699 + integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== 3700 + dependencies: 3701 + "@babel/helper-string-parser" "^7.27.1" 3702 + "@babel/helper-validator-identifier" "^7.28.5" 3703 + 3575 3704 "@bcoe/v8-coverage@^0.2.3": 3576 3705 version "0.2.3" 3577 3706 resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" ··· 3736 3865 resolved "https://registry.yarnpkg.com/@emoji-mart/react/-/react-1.1.1.tgz#ddad52f93a25baf31c5383c3e7e4c6e05554312a" 3737 3866 integrity sha512-NMlFNeWgv1//uPsvLxvGQoIerPuVdXwK/EUek8OOkJ6wVOWPUizRBJU0hDqWZCOROVpfBgCemaC3m6jDOXi03g== 3738 3867 3739 - "@esbuild/android-arm64@0.17.19": 3740 - version "0.17.19" 3741 - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" 3742 - integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== 3868 + "@esbuild/aix-ppc64@0.25.12": 3869 + version "0.25.12" 3870 + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz#80fcbe36130e58b7670511e888b8e88a259ed76c" 3871 + integrity sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA== 3872 + 3873 + "@esbuild/android-arm64@0.25.12": 3874 + version "0.25.12" 3875 + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz#8aa4965f8d0a7982dc21734bf6601323a66da752" 3876 + integrity sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg== 3877 + 3878 + "@esbuild/android-arm@0.25.12": 3879 + version "0.25.12" 3880 + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz#300712101f7f50f1d2627a162e6e09b109b6767a" 3881 + integrity sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg== 3882 + 3883 + "@esbuild/android-x64@0.25.12": 3884 + version "0.25.12" 3885 + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz#87dfb27161202bdc958ef48bb61b09c758faee16" 3886 + integrity sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg== 3743 3887 3744 - "@esbuild/android-arm@0.17.19": 3745 - version "0.17.19" 3746 - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" 3747 - integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== 3888 + "@esbuild/darwin-arm64@0.25.12": 3889 + version "0.25.12" 3890 + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz#79197898ec1ff745d21c071e1c7cc3c802f0c1fd" 3891 + integrity sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg== 3748 3892 3749 - "@esbuild/android-x64@0.17.19": 3750 - version "0.17.19" 3751 - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" 3752 - integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== 3893 + "@esbuild/darwin-x64@0.25.12": 3894 + version "0.25.12" 3895 + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz#146400a8562133f45c4d2eadcf37ddd09718079e" 3896 + integrity sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA== 3897 + 3898 + "@esbuild/freebsd-arm64@0.25.12": 3899 + version "0.25.12" 3900 + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz#1c5f9ba7206e158fd2b24c59fa2d2c8bb47ca0fe" 3901 + integrity sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg== 3753 3902 3754 - "@esbuild/darwin-arm64@0.17.19": 3755 - version "0.17.19" 3756 - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" 3757 - integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== 3903 + "@esbuild/freebsd-x64@0.25.12": 3904 + version "0.25.12" 3905 + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz#ea631f4a36beaac4b9279fa0fcc6ca29eaeeb2b3" 3906 + integrity sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ== 3758 3907 3759 - "@esbuild/darwin-x64@0.17.19": 3760 - version "0.17.19" 3761 - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" 3762 - integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== 3908 + "@esbuild/linux-arm64@0.25.12": 3909 + version "0.25.12" 3910 + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz#e1066bce58394f1b1141deec8557a5f0a22f5977" 3911 + integrity sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ== 3763 3912 3764 - "@esbuild/freebsd-arm64@0.17.19": 3765 - version "0.17.19" 3766 - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" 3767 - integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== 3913 + "@esbuild/linux-arm@0.25.12": 3914 + version "0.25.12" 3915 + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz#452cd66b20932d08bdc53a8b61c0e30baf4348b9" 3916 + integrity sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw== 3768 3917 3769 - "@esbuild/freebsd-x64@0.17.19": 3770 - version "0.17.19" 3771 - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" 3772 - integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== 3918 + "@esbuild/linux-ia32@0.25.12": 3919 + version "0.25.12" 3920 + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz#b24f8acc45bcf54192c7f2f3be1b53e6551eafe0" 3921 + integrity sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA== 3773 3922 3774 - "@esbuild/linux-arm64@0.17.19": 3775 - version "0.17.19" 3776 - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" 3777 - integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== 3923 + "@esbuild/linux-loong64@0.25.12": 3924 + version "0.25.12" 3925 + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz#f9cfffa7fc8322571fbc4c8b3268caf15bd81ad0" 3926 + integrity sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng== 3778 3927 3779 - "@esbuild/linux-arm@0.17.19": 3780 - version "0.17.19" 3781 - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" 3782 - integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== 3928 + "@esbuild/linux-mips64el@0.25.12": 3929 + version "0.25.12" 3930 + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz#575a14bd74644ffab891adc7d7e60d275296f2cd" 3931 + integrity sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw== 3783 3932 3784 - "@esbuild/linux-ia32@0.17.19": 3785 - version "0.17.19" 3786 - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" 3787 - integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== 3933 + "@esbuild/linux-ppc64@0.25.12": 3934 + version "0.25.12" 3935 + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz#75b99c70a95fbd5f7739d7692befe60601591869" 3936 + integrity sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA== 3788 3937 3789 - "@esbuild/linux-loong64@0.17.19": 3790 - version "0.17.19" 3791 - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" 3792 - integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== 3938 + "@esbuild/linux-riscv64@0.25.12": 3939 + version "0.25.12" 3940 + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz#2e3259440321a44e79ddf7535c325057da875cd6" 3941 + integrity sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w== 3793 3942 3794 - "@esbuild/linux-mips64el@0.17.19": 3795 - version "0.17.19" 3796 - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" 3797 - integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== 3943 + "@esbuild/linux-s390x@0.25.12": 3944 + version "0.25.12" 3945 + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz#17676cabbfe5928da5b2a0d6df5d58cd08db2663" 3946 + integrity sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg== 3798 3947 3799 - "@esbuild/linux-ppc64@0.17.19": 3800 - version "0.17.19" 3801 - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" 3802 - integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== 3948 + "@esbuild/linux-x64@0.25.12": 3949 + version "0.25.12" 3950 + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz#0583775685ca82066d04c3507f09524d3cd7a306" 3951 + integrity sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw== 3803 3952 3804 - "@esbuild/linux-riscv64@0.17.19": 3805 - version "0.17.19" 3806 - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" 3807 - integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== 3953 + "@esbuild/netbsd-arm64@0.25.12": 3954 + version "0.25.12" 3955 + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz#f04c4049cb2e252fe96b16fed90f70746b13f4a4" 3956 + integrity sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg== 3808 3957 3809 - "@esbuild/linux-s390x@0.17.19": 3810 - version "0.17.19" 3811 - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" 3812 - integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== 3958 + "@esbuild/netbsd-x64@0.25.12": 3959 + version "0.25.12" 3960 + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz#77da0d0a0d826d7c921eea3d40292548b258a076" 3961 + integrity sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ== 3813 3962 3814 - "@esbuild/linux-x64@0.17.19": 3815 - version "0.17.19" 3816 - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" 3817 - integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== 3963 + "@esbuild/openbsd-arm64@0.25.12": 3964 + version "0.25.12" 3965 + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz#6296f5867aedef28a81b22ab2009c786a952dccd" 3966 + integrity sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A== 3818 3967 3819 - "@esbuild/netbsd-x64@0.17.19": 3820 - version "0.17.19" 3821 - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" 3822 - integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== 3968 + "@esbuild/openbsd-x64@0.25.12": 3969 + version "0.25.12" 3970 + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz#f8d23303360e27b16cf065b23bbff43c14142679" 3971 + integrity sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw== 3823 3972 3824 - "@esbuild/openbsd-x64@0.17.19": 3825 - version "0.17.19" 3826 - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" 3827 - integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== 3973 + "@esbuild/openharmony-arm64@0.25.12": 3974 + version "0.25.12" 3975 + resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz#49e0b768744a3924be0d7fd97dd6ce9b2923d88d" 3976 + integrity sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg== 3828 3977 3829 - "@esbuild/sunos-x64@0.17.19": 3830 - version "0.17.19" 3831 - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" 3832 - integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== 3978 + "@esbuild/sunos-x64@0.25.12": 3979 + version "0.25.12" 3980 + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz#a6ed7d6778d67e528c81fb165b23f4911b9b13d6" 3981 + integrity sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w== 3833 3982 3834 - "@esbuild/win32-arm64@0.17.19": 3835 - version "0.17.19" 3836 - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" 3837 - integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== 3983 + "@esbuild/win32-arm64@0.25.12": 3984 + version "0.25.12" 3985 + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz#9ac14c378e1b653af17d08e7d3ce34caef587323" 3986 + integrity sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg== 3838 3987 3839 - "@esbuild/win32-ia32@0.17.19": 3840 - version "0.17.19" 3841 - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" 3842 - integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== 3988 + "@esbuild/win32-ia32@0.25.12": 3989 + version "0.25.12" 3990 + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz#918942dcbbb35cc14fca39afb91b5e6a3d127267" 3991 + integrity sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ== 3843 3992 3844 - "@esbuild/win32-x64@0.17.19": 3845 - version "0.17.19" 3846 - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" 3847 - integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== 3993 + "@esbuild/win32-x64@0.25.12": 3994 + version "0.25.12" 3995 + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz#9bdad8176be7811ad148d1f8772359041f46c6c5" 3996 + integrity sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA== 3848 3997 3849 3998 "@eslint-community/eslint-utils@^4.2.0": 3850 3999 version "4.4.0" ··· 4861 5010 wrap-ansi "^8.1.0" 4862 5011 wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 4863 5012 5013 + "@isaacs/cliui@^9.0.0": 5014 + version "9.0.0" 5015 + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-9.0.0.tgz#4d0a3f127058043bf2e7ee169eaf30ed901302f3" 5016 + integrity sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg== 5017 + 4864 5018 "@isaacs/fs-minipass@^4.0.0": 4865 5019 version "4.0.1" 4866 5020 resolved "https://registry.yarnpkg.com/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz#2d59ae3ab4b38fb4270bfa23d30f8e2e86c7fe32" ··· 5193 5347 "@jridgewell/sourcemap-codec" "^1.4.10" 5194 5348 "@jridgewell/trace-mapping" "^0.3.24" 5195 5349 5350 + "@jridgewell/remapping@^2.3.5": 5351 + version "2.3.5" 5352 + resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" 5353 + integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== 5354 + dependencies: 5355 + "@jridgewell/gen-mapping" "^0.3.5" 5356 + "@jridgewell/trace-mapping" "^0.3.24" 5357 + 5196 5358 "@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": 5197 5359 version "3.1.1" 5198 5360 resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" ··· 5273 5435 resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" 5274 5436 integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== 5275 5437 5276 - "@lingui/babel-plugin-extract-messages@4.14.1": 5277 - version "4.14.1" 5278 - resolved "https://registry.yarnpkg.com/@lingui/babel-plugin-extract-messages/-/babel-plugin-extract-messages-4.14.1.tgz#12f5a83bad1f9fef65fc22b8136ebd1052a31add" 5279 - integrity sha512-X/2bKavX5HGaiLyGpGvw98XqrqKuTntD4IdLmwvCOh7c/pgM8u95brONixLFEBeLujba4IF+fvHo0RdlyOFKpg== 5438 + "@lingui/babel-plugin-extract-messages@5.9.2": 5439 + version "5.9.2" 5440 + resolved "https://registry.yarnpkg.com/@lingui/babel-plugin-extract-messages/-/babel-plugin-extract-messages-5.9.2.tgz#c593eb9d9ea4f5cd575a47192298d111c71ad933" 5441 + integrity sha512-x9HxUUZgnzF5nTsRwCyJxL/csll/psQCeiTiUPMqE1qC9Mq3ZFPygHDUgijIwOCSDnILHM581Fjar/Njvpnnow== 5280 5442 5281 - "@lingui/cli@^4.14.1": 5282 - version "4.14.1" 5283 - resolved "https://registry.yarnpkg.com/@lingui/cli/-/cli-4.14.1.tgz#062acbb088b05d4728890d9beb707a2168d8259e" 5284 - integrity sha512-4DUtjHg5fumZ+hX8bcGYGZw9A6F5JURTMrI8Z6MSkO26OeSHEtPcheGFiPYfNhFeON6fZWZmwgyV9kkb0+psug== 5443 + "@lingui/babel-plugin-lingui-macro@5.9.2", "@lingui/babel-plugin-lingui-macro@^5.9.2": 5444 + version "5.9.2" 5445 + resolved "https://registry.yarnpkg.com/@lingui/babel-plugin-lingui-macro/-/babel-plugin-lingui-macro-5.9.2.tgz#c0fb29dcbbc26203cf71a812a08a72ee947e8a37" 5446 + integrity sha512-xy5MNUvtoAlZwQtfby3B9Dnjmnf3w4Xe+jeLEQvB1wOxz/pYMNGxCWgekUQyihlxvFFRKmMyA88EByqAyvGEug== 5447 + dependencies: 5448 + "@babel/core" "^7.20.12" 5449 + "@babel/runtime" "^7.20.13" 5450 + "@babel/types" "^7.20.7" 5451 + "@lingui/conf" "5.9.2" 5452 + "@lingui/core" "5.9.2" 5453 + "@lingui/message-utils" "5.9.2" 5454 + 5455 + "@lingui/cli@^5.9.2": 5456 + version "5.9.2" 5457 + resolved "https://registry.yarnpkg.com/@lingui/cli/-/cli-5.9.2.tgz#bba3b20387e7110d21e59fe6327b2f3885987268" 5458 + integrity sha512-jGmIB/hKparFvuyspcn3UTjnQEdOrlnBwkQH3xip0LRCyQNjd1sALi27HDyYQAqVINTfk3sDmLbKixYvJhPl1Q== 5285 5459 dependencies: 5286 5460 "@babel/core" "^7.21.0" 5287 5461 "@babel/generator" "^7.21.1" 5288 5462 "@babel/parser" "^7.22.0" 5289 5463 "@babel/runtime" "^7.21.0" 5290 5464 "@babel/types" "^7.21.2" 5291 - "@lingui/babel-plugin-extract-messages" "4.14.1" 5292 - "@lingui/conf" "4.14.1" 5293 - "@lingui/core" "4.14.1" 5294 - "@lingui/format-po" "4.14.1" 5295 - "@lingui/message-utils" "4.14.1" 5296 - babel-plugin-macros "^3.0.1" 5297 - chalk "^4.1.0" 5465 + "@lingui/babel-plugin-extract-messages" "5.9.2" 5466 + "@lingui/babel-plugin-lingui-macro" "5.9.2" 5467 + "@lingui/conf" "5.9.2" 5468 + "@lingui/core" "5.9.2" 5469 + "@lingui/format-po" "5.9.2" 5470 + "@lingui/message-utils" "5.9.2" 5298 5471 chokidar "3.5.1" 5299 5472 cli-table "^0.3.11" 5300 5473 commander "^10.0.0" 5301 5474 convert-source-map "^2.0.0" 5302 5475 date-fns "^3.6.0" 5303 - esbuild "^0.17.10" 5304 - glob "^7.1.4" 5305 - inquirer "^7.3.3" 5306 - micromatch "^4.0.2" 5476 + esbuild "^0.25.1" 5477 + glob "^11.0.0" 5478 + micromatch "^4.0.7" 5479 + ms "^2.1.3" 5307 5480 normalize-path "^3.0.0" 5308 5481 ora "^5.1.0" 5309 - pathe "^1.1.0" 5310 - pkg-up "^3.1.0" 5482 + picocolors "^1.1.1" 5311 5483 pofile "^1.1.4" 5312 5484 pseudolocale "^2.0.0" 5313 - ramda "^0.27.1" 5314 - source-map "^0.8.0-beta.0" 5485 + source-map "^0.7.6" 5486 + threads "^1.7.0" 5315 5487 5316 - "@lingui/conf@4.14.1": 5317 - version "4.14.1" 5318 - resolved "https://registry.yarnpkg.com/@lingui/conf/-/conf-4.14.1.tgz#c9a49e3fb78a4d631ae5a1ae20207b8c1ed760b4" 5319 - integrity sha512-LE/1RrVoMebQK+u4y6VQJdSwjOsMu4go/VR8m1eH0THn8vfkuLOYlPTIAHTWcoO+Ogi15p5TqHPfJcgVBy/NpA== 5488 + "@lingui/conf@5.9.2": 5489 + version "5.9.2" 5490 + resolved "https://registry.yarnpkg.com/@lingui/conf/-/conf-5.9.2.tgz#858208121c7540d0d7629d727fc078a6c383912a" 5491 + integrity sha512-tkobrx4HIJDWgYO/qUOJgwOVB5QX+FdQHmk9wetzlhgf0BSc52OCGYeG//oKHteJB0dnr2XYicnTuUtoVwr3+g== 5320 5492 dependencies: 5321 5493 "@babel/runtime" "^7.20.13" 5322 - chalk "^4.1.0" 5323 5494 cosmiconfig "^8.0.0" 5324 5495 jest-validate "^29.4.3" 5325 - jiti "^1.17.1" 5326 - lodash.get "^4.4.2" 5496 + jiti "^2.5.1" 5497 + picocolors "^1.1.1" 5327 5498 5328 - "@lingui/core@4.14.1": 5329 - version "4.14.1" 5330 - resolved "https://registry.yarnpkg.com/@lingui/core/-/core-4.14.1.tgz#ff6caceeaf8763b1ba2a8da60bbce95ff2d1b700" 5331 - integrity sha512-3O6bnNzApWjb+jIdXa7G2VbrP6jZ5nfCeYSVloEYg6YFIfsQ3GunccK6I2nL80mWgr2qGP4VilGD+ODCeXHITA== 5499 + "@lingui/core@5.9.2", "@lingui/core@^5.9.2": 5500 + version "5.9.2" 5501 + resolved "https://registry.yarnpkg.com/@lingui/core/-/core-5.9.2.tgz#63b58a68e1f85970078a8bc3edc92e1d22221763" 5502 + integrity sha512-2K2lIEiUJ9VNTZU0igiRUubIUvcHu8TEuS4uRrrA5f2DGgCtHD5o7rw6OO9cM1RxZFCC5rpRwIMDeXHrc44W3g== 5332 5503 dependencies: 5333 5504 "@babel/runtime" "^7.20.13" 5334 - "@lingui/message-utils" "4.14.1" 5335 - unraw "^3.0.0" 5505 + "@lingui/message-utils" "5.9.2" 5336 5506 5337 - "@lingui/format-po@4.14.1": 5338 - version "4.14.1" 5339 - resolved "https://registry.yarnpkg.com/@lingui/format-po/-/format-po-4.14.1.tgz#30c9c68b8afd1ed181277b5c8c36dcb8982447c4" 5340 - integrity sha512-SfT3/4LspwDq5KNyN+HUsDiF2IVMBk0LS6ruEG+vGOKNXzdSpnuxAT5E6wgGA/4/MG2UF9WKBzfkfOsYeXmSEg== 5507 + "@lingui/format-po@5.9.2": 5508 + version "5.9.2" 5509 + resolved "https://registry.yarnpkg.com/@lingui/format-po/-/format-po-5.9.2.tgz#0eb1a32b149a8d3d81989375178cd4a863b59069" 5510 + integrity sha512-PMlJERgG0/rCYqMuBDQdsAuEEUxbqe1apwwDJxIniN9vZpwl+4jDZhDQ6J9CwjlaUPe7rCfOm/B79N88ELwTQQ== 5341 5511 dependencies: 5342 - "@lingui/conf" "4.14.1" 5343 - "@lingui/message-utils" "4.14.1" 5512 + "@lingui/conf" "5.9.2" 5513 + "@lingui/message-utils" "5.9.2" 5344 5514 date-fns "^3.6.0" 5345 5515 pofile "^1.1.4" 5346 5516 5347 - "@lingui/macro@^4.14.1": 5348 - version "4.14.1" 5349 - resolved "https://registry.yarnpkg.com/@lingui/macro/-/macro-4.14.1.tgz#52d37bf5ff566b985887a3c23c66482f5b8895ff" 5350 - integrity sha512-kVAe78Sj4a74GJTOOqoAzxZgsgqPfcBFQC1akXMlAv9r4bX7zvbMov2cQVWjvix0waetwxo3oVqlSozsa8UPAw== 5351 - dependencies: 5352 - "@babel/runtime" "^7.20.13" 5353 - "@babel/types" "^7.20.7" 5354 - "@lingui/conf" "4.14.1" 5355 - "@lingui/core" "4.14.1" 5356 - "@lingui/message-utils" "4.14.1" 5357 - 5358 - "@lingui/message-utils@4.14.1": 5359 - version "4.14.1" 5360 - resolved "https://registry.yarnpkg.com/@lingui/message-utils/-/message-utils-4.14.1.tgz#dc6816464d15841ebbf71d68fcc66d624e1788cb" 5361 - integrity sha512-J6MzyTLNCzEnyR1Da188G81cRcQMbk/lyYnLWMzQjIELDX8bBBwNea91Sf5Zm+BB+ADWmmGTdUqRPAjDqT9Y5w== 5517 + "@lingui/message-utils@5.9.2": 5518 + version "5.9.2" 5519 + resolved "https://registry.yarnpkg.com/@lingui/message-utils/-/message-utils-5.9.2.tgz#ab4c4cba9eccb29349a65335dc812cf5291778d9" 5520 + integrity sha512-PQA+bP4TBX7F5nmrEm9eDk+xddepjO7okI6bsOQ+6LIw1eJMvh9w/Xt3AoKTgzBCwd1ZwyqzBOelrX6sa6y+fg== 5362 5521 dependencies: 5363 5522 "@messageformat/parser" "^5.0.0" 5364 5523 js-sha256 "^0.10.1" 5365 5524 5366 - "@lingui/react@^4.14.1": 5367 - version "4.14.1" 5368 - resolved "https://registry.yarnpkg.com/@lingui/react/-/react-4.14.1.tgz#4b7d3d449703363cf0351ca2792507c7ed90b51b" 5369 - integrity sha512-oZ9Rw+vOXJuaZvI1o4ASAIbCSe7AchCxsKGc0Y3csduTEOisvhsLgh8UDA8LW1mRgVPh5yZYB+VbfDMDQSzHpg== 5525 + "@lingui/react@^5.9.2": 5526 + version "5.9.2" 5527 + resolved "https://registry.yarnpkg.com/@lingui/react/-/react-5.9.2.tgz#0037fbfa8bad8990d850f866bc9d0fd89f55907b" 5528 + integrity sha512-rvDBlz9s1AftAgkJnH/5u3YKlAouRZUsUpSoIajFqkXNEcnIcljFH2Lp7i4nQ7XQ4vpOjzpSH03cggvoo4fWKg== 5370 5529 dependencies: 5371 5530 "@babel/runtime" "^7.20.13" 5372 - "@lingui/core" "4.14.1" 5531 + "@lingui/core" "5.9.2" 5373 5532 5374 5533 "@mattermost/react-native-paste-input@mattermost/react-native-paste-input": 5375 5534 version "0.8.1" ··· 7661 7820 dependencies: 7662 7821 undici-types "~6.19.2" 7663 7822 7664 - "@types/parse-json@^4.0.0": 7665 - version "4.0.0" 7666 - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 7667 - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 7668 - 7669 7823 "@types/psl@^1.1.1": 7670 7824 version "1.1.1" 7671 7825 resolved "https://registry.yarnpkg.com/@types/psl/-/psl-1.1.1.tgz#3ba9e6d4bd2a32652a639fd5df7e539151d0a3b2" ··· 8902 9056 "@types/babel__core" "^7.1.14" 8903 9057 "@types/babel__traverse" "^7.0.6" 8904 9058 8905 - babel-plugin-macros@^3.0.1, babel-plugin-macros@^3.1.0: 8906 - version "3.1.0" 8907 - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" 8908 - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== 8909 - dependencies: 8910 - "@babel/runtime" "^7.12.5" 8911 - cosmiconfig "^7.0.0" 8912 - resolve "^1.19.0" 8913 - 8914 9059 babel-plugin-module-resolver@^5.0.2: 8915 9060 version "5.0.2" 8916 9061 resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.2.tgz#cdeac5d4aaa3b08dd1ac23ddbf516660ed2d293e" ··· 9390 9535 call-bind-apply-helpers "^1.0.2" 9391 9536 get-intrinsic "^1.3.0" 9392 9537 9393 - callsites@^3.0.0: 9538 + callsites@^3.0.0, callsites@^3.1.0: 9394 9539 version "3.1.0" 9395 9540 resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 9396 9541 integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== ··· 9477 9622 version "2.0.1" 9478 9623 resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" 9479 9624 integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== 9480 - 9481 - chardet@^0.7.0: 9482 - version "0.7.0" 9483 - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 9484 - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 9485 9625 9486 9626 chokidar@3.5.1: 9487 9627 version "3.5.1" ··· 9625 9765 slice-ansi "^5.0.0" 9626 9766 string-width "^5.0.0" 9627 9767 9628 - cli-width@^3.0.0: 9629 - version "3.0.0" 9630 - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" 9631 - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== 9632 - 9633 9768 cliui@^6.0.0: 9634 9769 version "6.0.0" 9635 9770 resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" ··· 9903 10038 dependencies: 9904 10039 object-assign "^4" 9905 10040 vary "^1" 9906 - 9907 - cosmiconfig@^7.0.0: 9908 - version "7.1.0" 9909 - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" 9910 - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== 9911 - dependencies: 9912 - "@types/parse-json" "^4.0.0" 9913 - import-fresh "^3.2.1" 9914 - parse-json "^5.0.0" 9915 - path-type "^4.0.0" 9916 - yaml "^1.10.0" 9917 10041 9918 10042 cosmiconfig@^8.0.0: 9919 10043 version "8.3.6" ··· 10253 10377 dependencies: 10254 10378 ms "^2.1.1" 10255 10379 10380 + debug@^4.2.0, debug@^4.4.1, debug@^4.4.3: 10381 + version "4.4.3" 10382 + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" 10383 + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== 10384 + dependencies: 10385 + ms "^2.1.3" 10386 + 10256 10387 debug@^4.3.5: 10257 10388 version "4.3.7" 10258 10389 resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" ··· 10264 10395 version "4.4.0" 10265 10396 resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" 10266 10397 integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== 10267 - dependencies: 10268 - ms "^2.1.3" 10269 - 10270 - debug@^4.4.1, debug@^4.4.3: 10271 - version "4.4.3" 10272 - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" 10273 - integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== 10274 10398 dependencies: 10275 10399 ms "^2.1.3" 10276 10400 ··· 11081 11205 resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" 11082 11206 integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw== 11083 11207 11084 - esbuild@^0.17.10: 11085 - version "0.17.19" 11086 - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" 11087 - integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== 11208 + esbuild@^0.25.1: 11209 + version "0.25.12" 11210 + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.12.tgz#97a1d041f4ab00c2fce2f838d2b9969a2d2a97a5" 11211 + integrity sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg== 11088 11212 optionalDependencies: 11089 - "@esbuild/android-arm" "0.17.19" 11090 - "@esbuild/android-arm64" "0.17.19" 11091 - "@esbuild/android-x64" "0.17.19" 11092 - "@esbuild/darwin-arm64" "0.17.19" 11093 - "@esbuild/darwin-x64" "0.17.19" 11094 - "@esbuild/freebsd-arm64" "0.17.19" 11095 - "@esbuild/freebsd-x64" "0.17.19" 11096 - "@esbuild/linux-arm" "0.17.19" 11097 - "@esbuild/linux-arm64" "0.17.19" 11098 - "@esbuild/linux-ia32" "0.17.19" 11099 - "@esbuild/linux-loong64" "0.17.19" 11100 - "@esbuild/linux-mips64el" "0.17.19" 11101 - "@esbuild/linux-ppc64" "0.17.19" 11102 - "@esbuild/linux-riscv64" "0.17.19" 11103 - "@esbuild/linux-s390x" "0.17.19" 11104 - "@esbuild/linux-x64" "0.17.19" 11105 - "@esbuild/netbsd-x64" "0.17.19" 11106 - "@esbuild/openbsd-x64" "0.17.19" 11107 - "@esbuild/sunos-x64" "0.17.19" 11108 - "@esbuild/win32-arm64" "0.17.19" 11109 - "@esbuild/win32-ia32" "0.17.19" 11110 - "@esbuild/win32-x64" "0.17.19" 11213 + "@esbuild/aix-ppc64" "0.25.12" 11214 + "@esbuild/android-arm" "0.25.12" 11215 + "@esbuild/android-arm64" "0.25.12" 11216 + "@esbuild/android-x64" "0.25.12" 11217 + "@esbuild/darwin-arm64" "0.25.12" 11218 + "@esbuild/darwin-x64" "0.25.12" 11219 + "@esbuild/freebsd-arm64" "0.25.12" 11220 + "@esbuild/freebsd-x64" "0.25.12" 11221 + "@esbuild/linux-arm" "0.25.12" 11222 + "@esbuild/linux-arm64" "0.25.12" 11223 + "@esbuild/linux-ia32" "0.25.12" 11224 + "@esbuild/linux-loong64" "0.25.12" 11225 + "@esbuild/linux-mips64el" "0.25.12" 11226 + "@esbuild/linux-ppc64" "0.25.12" 11227 + "@esbuild/linux-riscv64" "0.25.12" 11228 + "@esbuild/linux-s390x" "0.25.12" 11229 + "@esbuild/linux-x64" "0.25.12" 11230 + "@esbuild/netbsd-arm64" "0.25.12" 11231 + "@esbuild/netbsd-x64" "0.25.12" 11232 + "@esbuild/openbsd-arm64" "0.25.12" 11233 + "@esbuild/openbsd-x64" "0.25.12" 11234 + "@esbuild/openharmony-arm64" "0.25.12" 11235 + "@esbuild/sunos-x64" "0.25.12" 11236 + "@esbuild/win32-arm64" "0.25.12" 11237 + "@esbuild/win32-ia32" "0.25.12" 11238 + "@esbuild/win32-x64" "0.25.12" 11111 11239 11112 11240 escalade@^3.1.1: 11113 11241 version "3.1.1" ··· 11414 11542 minimatch "^3.1.2" 11415 11543 natural-compare "^1.4.0" 11416 11544 optionator "^0.9.3" 11545 + 11546 + esm@^3.2.25: 11547 + version "3.2.25" 11548 + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" 11549 + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== 11417 11550 11418 11551 espree@^10.0.1, espree@^10.4.0: 11419 11552 version "10.4.0" ··· 11963 12096 utils-merge "1.0.1" 11964 12097 vary "~1.1.2" 11965 12098 11966 - external-editor@^3.0.3: 11967 - version "3.1.0" 11968 - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" 11969 - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== 11970 - dependencies: 11971 - chardet "^0.7.0" 11972 - iconv-lite "^0.4.24" 11973 - tmp "^0.0.33" 11974 - 11975 12099 fast-base64-decode@^1.0.0: 11976 12100 version "1.0.0" 11977 12101 resolved "https://registry.yarnpkg.com/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz#b434a0dd7d92b12b43f26819300d2dafb83ee418" ··· 12115 12239 version "6.5.0" 12116 12240 resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" 12117 12241 integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== 12118 - 12119 - figures@^3.0.0: 12120 - version "3.2.0" 12121 - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" 12122 - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== 12123 - dependencies: 12124 - escape-string-regexp "^1.0.5" 12125 12242 12126 12243 file-entry-cache@^8.0.0: 12127 12244 version "8.0.0" ··· 12293 12410 cross-spawn "^7.0.0" 12294 12411 signal-exit "^4.0.1" 12295 12412 12413 + foreground-child@^3.3.1: 12414 + version "3.3.1" 12415 + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" 12416 + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== 12417 + dependencies: 12418 + cross-spawn "^7.0.6" 12419 + signal-exit "^4.0.1" 12420 + 12296 12421 form-data@^4.0.0: 12297 12422 version "4.0.0" 12298 12423 resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" ··· 12552 12677 package-json-from-dist "^1.0.0" 12553 12678 path-scurry "^1.11.1" 12554 12679 12680 + glob@^11.0.0: 12681 + version "11.1.0" 12682 + resolved "https://registry.yarnpkg.com/glob/-/glob-11.1.0.tgz#4f826576e4eb99c7dad383793d2f9f08f67e50a6" 12683 + integrity sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw== 12684 + dependencies: 12685 + foreground-child "^3.3.1" 12686 + jackspeak "^4.1.1" 12687 + minimatch "^10.1.1" 12688 + minipass "^7.1.2" 12689 + package-json-from-dist "^1.0.0" 12690 + path-scurry "^2.0.0" 12691 + 12555 12692 glob@^13.0.0: 12556 12693 version "13.0.0" 12557 12694 resolved "https://registry.yarnpkg.com/glob/-/glob-13.0.0.tgz#9d9233a4a274fc28ef7adce5508b7ef6237a1be3" ··· 13054 13191 resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" 13055 13192 integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== 13056 13193 13057 - iconv-lite@0.4.24, iconv-lite@^0.4.24: 13194 + iconv-lite@0.4.24: 13058 13195 version "0.4.24" 13059 13196 resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 13060 13197 integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== ··· 13160 13297 integrity sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw== 13161 13298 dependencies: 13162 13299 css-in-js-utils "^3.1.0" 13163 - 13164 - inquirer@^7.3.3: 13165 - version "7.3.3" 13166 - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" 13167 - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== 13168 - dependencies: 13169 - ansi-escapes "^4.2.1" 13170 - chalk "^4.1.0" 13171 - cli-cursor "^3.1.0" 13172 - cli-width "^3.0.0" 13173 - external-editor "^3.0.3" 13174 - figures "^3.0.0" 13175 - lodash "^4.17.19" 13176 - mute-stream "0.0.8" 13177 - run-async "^2.4.0" 13178 - rxjs "^6.6.0" 13179 - string-width "^4.1.0" 13180 - strip-ansi "^6.0.0" 13181 - through "^2.3.6" 13182 13300 13183 13301 internal-slot@^1.0.3, internal-slot@^1.0.5: 13184 13302 version "1.0.5" ··· 13489 13607 resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 13490 13608 integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 13491 13609 13610 + is-observable@^2.1.0: 13611 + version "2.1.0" 13612 + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-2.1.0.tgz#5c8d733a0b201c80dff7bb7c0df58c6a255c7c69" 13613 + integrity sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw== 13614 + 13492 13615 is-path-cwd@^2.0.0: 13493 13616 version "2.2.0" 13494 13617 resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" ··· 13790 13913 "@isaacs/cliui" "^8.0.2" 13791 13914 optionalDependencies: 13792 13915 "@pkgjs/parseargs" "^0.11.0" 13916 + 13917 + jackspeak@^4.1.1: 13918 + version "4.2.3" 13919 + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.2.3.tgz#27ef80f33b93412037c3bea4f8eddf80e1931483" 13920 + integrity sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg== 13921 + dependencies: 13922 + "@isaacs/cliui" "^9.0.0" 13793 13923 13794 13924 jest-changed-files@^29.7.0: 13795 13925 version "29.7.0" ··· 14328 14458 resolved "https://registry.yarnpkg.com/jimp-compact/-/jimp-compact-0.16.1.tgz#9582aea06548a2c1e04dd148d7c3ab92075aefa3" 14329 14459 integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww== 14330 14460 14331 - jiti@^1.17.1: 14332 - version "1.21.0" 14333 - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" 14334 - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== 14461 + jiti@^2.5.1: 14462 + version "2.6.1" 14463 + resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.6.1.tgz#178ef2fc9a1a594248c20627cd820187a4d78d92" 14464 + integrity sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ== 14335 14465 14336 14466 jose@^5.0.1: 14337 14467 version "5.1.3" ··· 14791 14921 resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" 14792 14922 integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== 14793 14923 14794 - lodash.get@^4.4.2: 14795 - version "4.4.2" 14796 - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" 14797 - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== 14798 - 14799 14924 lodash.isarguments@^3.1.0: 14800 14925 version "3.1.0" 14801 14926 resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" ··· 14815 14940 version "4.2.0" 14816 14941 resolved "https://registry.yarnpkg.com/lodash.shuffle/-/lodash.shuffle-4.2.0.tgz#145b5053cf875f6f5c2a33f48b6e9948c6ec7b4b" 14817 14942 integrity sha512-V/rTAABKLFjoecTZjKSv+A1ZomG8hZg8hlgeG6wwQVD9AGv+10zqqSf6mFq2tVA703Zd5R0YhSuSlXA+E/Ei+Q== 14818 - 14819 - lodash.sortby@^4.7.0: 14820 - version "4.7.0" 14821 - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 14822 - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== 14823 14943 14824 14944 lodash.throttle@^4.1.1: 14825 14945 version "4.1.1" ··· 15242 15362 braces "^3.0.2" 15243 15363 picomatch "^2.3.1" 15244 15364 15245 - micromatch@^4.0.0: 15365 + micromatch@^4.0.0, micromatch@^4.0.7: 15246 15366 version "4.0.8" 15247 15367 resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" 15248 15368 integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== ··· 15424 15544 resolved "https://registry.yarnpkg.com/murmurhash/-/murmurhash-2.0.1.tgz#4097720e08cf978872194ad84ea5be2dec9b610f" 15425 15545 integrity sha512-5vQEh3y+DG/lMPM0mCGPDnyV8chYg/g7rl6v3Gd8WMF9S429ox3Xk8qrk174kWhG767KQMqqxLD1WnGd77hiew== 15426 15546 15427 - mute-stream@0.0.8: 15428 - version "0.0.8" 15429 - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" 15430 - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== 15431 - 15432 15547 mz@^2.7.0: 15433 15548 version "2.7.0" 15434 15549 resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" ··· 15743 15858 define-properties "^1.2.1" 15744 15859 es-object-atoms "^1.0.0" 15745 15860 15861 + observable-fns@^0.6.1: 15862 + version "0.6.1" 15863 + resolved "https://registry.yarnpkg.com/observable-fns/-/observable-fns-0.6.1.tgz#636eae4fdd1132e88c0faf38d33658cc79d87e37" 15864 + integrity sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg== 15865 + 15746 15866 obuf@^1.0.0, obuf@^1.1.2: 15747 15867 version "1.1.2" 15748 15868 resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" ··· 15871 15991 resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-2.1.1.tgz#61481269c44031c449915497bf5a4ad273c512d2" 15872 15992 integrity sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g== 15873 15993 15874 - os-tmpdir@~1.0.2: 15875 - version "1.0.2" 15876 - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 15877 - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== 15878 - 15879 15994 own-keys@^1.0.1: 15880 15995 version "1.0.1" 15881 15996 resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" ··· 15990 16105 dependencies: 15991 16106 callsites "^3.0.0" 15992 16107 15993 - parse-json@^5.0.0, parse-json@^5.2.0: 16108 + parse-json@^5.2.0: 15994 16109 version "5.2.0" 15995 16110 resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 15996 16111 integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== ··· 16115 16230 version "4.0.0" 16116 16231 resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 16117 16232 integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 16118 - 16119 - pathe@^1.1.0: 16120 - version "1.1.1" 16121 - resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a" 16122 - integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== 16123 16233 16124 16234 peek-readable@^4.1.0: 16125 16235 version "4.1.0" ··· 17122 17232 "@radix-ui/react-use-size" "1.1.1" 17123 17233 "@radix-ui/react-visually-hidden" "1.2.3" 17124 17234 17125 - ramda@^0.27.1: 17126 - version "0.27.2" 17127 - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.2.tgz#84463226f7f36dc33592f6f4ed6374c48306c3f1" 17128 - integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA== 17129 - 17130 17235 randombytes@^2.1.0: 17131 17236 version "2.1.0" 17132 17237 resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" ··· 17831 17936 resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" 17832 17937 integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== 17833 17938 17834 - resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.2: 17939 + resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.2: 17835 17940 version "1.22.4" 17836 17941 resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" 17837 17942 integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== ··· 17949 18054 resolved "https://registry.yarnpkg.com/rtl-detect/-/rtl-detect-1.0.4.tgz#40ae0ea7302a150b96bc75af7d749607392ecac6" 17950 18055 integrity sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ== 17951 18056 17952 - run-async@^2.4.0: 17953 - version "2.4.1" 17954 - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" 17955 - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== 17956 - 17957 18057 run-parallel@^1.1.9: 17958 18058 version "1.2.0" 17959 18059 resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" ··· 17966 18066 resolved "https://registry.yarnpkg.com/russian-bad-words/-/russian-bad-words-0.5.0.tgz#d4abcdc55f7af37606cdbac44bcb9e0bde6c3855" 17967 18067 integrity sha512-euNvEYki6iYYpkNbeudW+lEMMYGEmN7EBwVF8ezlbv0bZoQpVYB7W10cCeUIGV7Ed50sJynLQ0c559q5iI0ejQ== 17968 18068 17969 - rxjs@^6.6.0: 17970 - version "6.6.7" 17971 - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" 17972 - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== 17973 - dependencies: 17974 - tslib "^1.9.0" 17975 - 17976 18069 rxjs@^7.5.2: 17977 18070 version "7.8.1" 17978 18071 resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" ··· 18598 18691 resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" 18599 18692 integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== 18600 18693 18601 - source-map@^0.8.0-beta.0: 18602 - version "0.8.0-beta.0" 18603 - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" 18604 - integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== 18605 - dependencies: 18606 - whatwg-url "^7.0.0" 18694 + source-map@^0.7.6: 18695 + version "0.7.6" 18696 + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.6.tgz#a3658ab87e5b6429c8a1f3ba0083d4c61ca3ef02" 18697 + integrity sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ== 18607 18698 18608 18699 spdy-transport@^3.0.0: 18609 18700 version "3.0.0" ··· 19238 19329 dependencies: 19239 19330 real-require "^0.2.0" 19240 19331 19332 + threads@^1.7.0: 19333 + version "1.7.0" 19334 + resolved "https://registry.yarnpkg.com/threads/-/threads-1.7.0.tgz#d9e9627bfc1ef22ada3b733c2e7558bbe78e589c" 19335 + integrity sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ== 19336 + dependencies: 19337 + callsites "^3.1.0" 19338 + debug "^4.2.0" 19339 + is-observable "^2.1.0" 19340 + observable-fns "^0.6.1" 19341 + optionalDependencies: 19342 + tiny-worker ">= 2" 19343 + 19241 19344 throat@^5.0.0: 19242 19345 version "5.0.0" 19243 19346 resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" 19244 19347 integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== 19245 19348 19246 - through@^2.3.6: 19247 - version "2.3.8" 19248 - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 19249 - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 19250 - 19251 19349 thunky@^1.0.2: 19252 19350 version "1.1.0" 19253 19351 resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" 19254 19352 integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== 19353 + 19354 + "tiny-worker@>= 2": 19355 + version "2.3.0" 19356 + resolved "https://registry.yarnpkg.com/tiny-worker/-/tiny-worker-2.3.0.tgz#715ae34304c757a9af573ae9a8e3967177e6011e" 19357 + integrity sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g== 19358 + dependencies: 19359 + esm "^3.2.25" 19255 19360 19256 19361 tinyglobby@^0.2.11, tinyglobby@^0.2.14, tinyglobby@^0.2.15: 19257 19362 version "0.2.15" ··· 19284 19389 integrity sha512-fw81lXV2CijkNrZAZvee7wegs+EOlTyIuVl/z4q6OUzZHQ1jGL2xQzKXq9geYf/1tzo9LZQLrkcko2m8HLh+rg== 19285 19390 dependencies: 19286 19391 tldts-core "^6.1.46" 19287 - 19288 - tmp@^0.0.33: 19289 - version "0.0.33" 19290 - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 19291 - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 19292 - dependencies: 19293 - os-tmpdir "~1.0.2" 19294 19392 19295 19393 tmp@^0.2.4: 19296 19394 version "0.2.5" ··· 19347 19445 resolved "https://registry.yarnpkg.com/toygrad/-/toygrad-2.6.0.tgz#e814bb7da026db8e08dc7da14c7155f49cdb4d54" 19348 19446 integrity sha512-g4zBmlSbvzOE5FOILxYkAybTSxijKLkj1WoNqVGnbMcWDyj4wWQ+eYSr3ik7XOpIgMq/7eBcPRTJX3DM2E0YMg== 19349 19447 19350 - tr46@^1.0.1: 19351 - version "1.0.1" 19352 - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" 19353 - integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== 19354 - dependencies: 19355 - punycode "^2.1.0" 19356 - 19357 19448 tr46@^3.0.0: 19358 19449 version "3.0.0" 19359 19450 resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" ··· 19405 19496 resolved "https://registry.yarnpkg.com/ts-plugin-sort-import-suggestions/-/ts-plugin-sort-import-suggestions-1.0.4.tgz#d1ed6c235feb8c8bb8b34c625ea75b46e3e62925" 19406 19497 integrity sha512-85n5lm2OQQ+b7aRNK9omU1gmjMNXRsgeLwojm5u4OSY5sVBkAHTcgMQPEeHMNlyyfFW0uXnwgqAU0pNfhD96Bw== 19407 19498 19408 - tslib@^1.8.1, tslib@^1.9.0: 19499 + tslib@^1.8.1: 19409 19500 version "1.14.1" 19410 19501 resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 19411 19502 integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== ··· 19729 19820 webpack-sources "^3.2.3" 19730 19821 webpack-virtual-modules "^0.5.0" 19731 19822 19732 - unraw@^3.0.0: 19733 - version "3.0.0" 19734 - resolved "https://registry.yarnpkg.com/unraw/-/unraw-3.0.0.tgz#73443ed70d2ab09ccbac2b00525602d5991fbbe3" 19735 - integrity sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg== 19736 - 19737 19823 unrs-resolver@^1.7.11, unrs-resolver@^1.9.2: 19738 19824 version "1.11.1" 19739 19825 resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.11.1.tgz#be9cd8686c99ef53ecb96df2a473c64d304048a9" ··· 19996 20082 resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 19997 20083 integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 19998 20084 19999 - webidl-conversions@^4.0.2: 20000 - version "4.0.2" 20001 - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" 20002 - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== 20003 - 20004 20085 webidl-conversions@^5.0.0: 20005 20086 version "5.0.0" 20006 20087 resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" ··· 20188 20269 dependencies: 20189 20270 tr46 "~0.0.3" 20190 20271 webidl-conversions "^3.0.0" 20191 - 20192 - whatwg-url@^7.0.0: 20193 - version "7.1.0" 20194 - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" 20195 - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== 20196 - dependencies: 20197 - lodash.sortby "^4.7.0" 20198 - tr46 "^1.0.1" 20199 - webidl-conversions "^4.0.2" 20200 20272 20201 20273 which-boxed-primitive@^1.0.2: 20202 20274 version "1.0.2" ··· 20509 20581 resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" 20510 20582 integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== 20511 20583 20512 - yaml@^1.10.0, yaml@^1.10.2: 20584 + yaml@^1.10.2: 20513 20585 version "1.10.2" 20514 20586 resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 20515 20587 integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==