From ff5ad3825331b292fd869fda3555629329de008e Mon Sep 17 00:00:00 2001 From: Paul Coroneos Date: Tue, 19 Nov 2024 15:33:07 +0000 Subject: [PATCH] Leverage jsx transform to remove unnecessary react imports and update eslint config (#6516) * update eslint config with jsx runtime * leverage jsx transform to remove unnecessary react imports and update eslint config * run yarn lint --fix to remove eslint disables related to react/prop-types that is now disabled --- .eslintrc.js | 2 ++ src/components/AvatarStack.tsx | 1 - src/components/Divider.tsx | 1 - src/components/Error.tsx | 1 - src/components/GradientFill.tsx | 1 - src/components/IconCircle.tsx | 1 - src/components/LikesDialog.tsx | 2 +- src/components/Loader.web.tsx | 1 - src/components/Menu/index.web.tsx | 2 -- src/components/ProgressGuide/List.tsx | 1 - src/components/ProgressGuide/Task.tsx | 1 - src/components/ReportDialog/SelectLabelerView.tsx | 1 - src/components/StarterPack/ShareDialog.tsx | 1 - src/components/StarterPack/Wizard/WizardEditListDialog.tsx | 2 +- src/components/StarterPack/Wizard/WizardListCard.tsx | 1 - src/components/SubtleWebHover.web.tsx | 1 - src/components/dialogs/EmbedConsent.tsx | 2 +- src/components/dialogs/SwitchAccount.tsx | 2 +- src/components/dms/ConvoMenu.tsx | 2 +- src/components/dms/LeaveConvoPrompt.tsx | 1 - src/components/dms/ReportConversationPrompt.tsx | 1 - src/components/dms/dialogs/NewChatDialog.tsx | 2 +- src/components/dms/dialogs/ShareViaChatDialog.tsx | 2 +- src/components/forms/DateField/index.shared.tsx | 1 - src/components/forms/FormError.tsx | 1 - src/components/icons/common.tsx | 1 - src/components/moderation/LabelsOnMe.tsx | 1 - src/components/moderation/ModerationDetailsDialog.tsx | 1 - src/components/moderation/PostAlerts.tsx | 1 - src/components/moderation/ProfileHeaderAlerts.tsx | 1 - src/components/video/PlayButtonIcon.tsx | 1 - src/lib/custom-animations/LikeIcon.tsx | 1 - src/lib/custom-animations/PressableScale.tsx | 1 - src/lib/icons.tsx | 1 - src/screens/Login/PasswordUpdatedForm.tsx | 1 - src/screens/Login/SetNewPasswordForm.tsx | 2 +- src/screens/Messages/ChatList.tsx | 2 +- src/screens/Messages/Settings.tsx | 2 +- src/screens/Messages/components/ChatDisabled.tsx | 2 +- src/screens/Messages/components/MessageInputEmbed.tsx | 2 +- src/screens/Profile/Header/DisplayName.tsx | 1 - src/screens/Profile/Header/EditProfileDialog.tsx | 2 +- src/screens/Profile/Header/Handle.tsx | 1 - src/screens/Profile/Header/Metrics.tsx | 1 - src/screens/Settings/AboutSettings.tsx | 1 - src/screens/Settings/AccessibilitySettings.tsx | 1 - src/screens/Settings/AccountSettings.tsx | 1 - src/screens/Settings/AppPasswords.tsx | 2 +- src/screens/Settings/ContentAndMediaSettings.tsx | 1 - src/screens/Settings/ExternalMediaPreferences.tsx | 2 +- src/screens/Settings/FollowingFeedPreferences.tsx | 1 - src/screens/Settings/LanguageSettings.tsx | 2 +- src/screens/Settings/NotificationSettings.tsx | 1 - src/screens/Settings/PrivacyAndSecuritySettings.tsx | 1 - src/screens/Settings/Settings.tsx | 2 +- src/screens/Settings/ThreadPreferences.tsx | 1 - src/screens/Settings/components/AddAppPasswordDialog.tsx | 2 +- src/screens/Settings/components/ChangeHandleDialog.tsx | 2 +- src/screens/Settings/components/CopyButton.tsx | 2 +- src/screens/Settings/components/DisableEmail2FADialog.tsx | 2 +- src/screens/Settings/components/SettingsList.tsx | 1 - src/screens/Signup/BackNextButtons.tsx | 1 - src/screens/Signup/StepInfo/Policies.tsx | 2 +- src/screens/StarterPack/Wizard/StepDetails.tsx | 1 - src/screens/StarterPack/Wizard/StepFeeds.tsx | 2 +- src/screens/StarterPack/Wizard/StepProfiles.tsx | 2 +- src/view/com/auth/SplashScreen.tsx | 1 - src/view/com/auth/util/HelpTip.tsx | 1 - src/view/com/auth/util/TextInput.tsx | 2 +- src/view/com/composer/ExternalEmbedRemoveBtn.tsx | 1 - src/view/com/composer/GifAltText.tsx | 2 +- src/view/com/composer/char-progress/CharProgress.tsx | 1 - src/view/com/composer/labels/LabelsBtn.tsx | 1 - src/view/com/composer/photos/OpenCameraBtn.tsx | 2 +- src/view/com/composer/photos/SelectGifBtn.tsx | 2 +- src/view/com/composer/photos/SelectPhotoBtn.tsx | 2 +- src/view/com/composer/select-language/SelectLangBtn.tsx | 2 +- src/view/com/composer/select-language/SuggestedLanguage.tsx | 2 +- src/view/com/composer/text-input/mobile/Autocomplete.tsx | 2 +- src/view/com/composer/text-input/web/Autocomplete.tsx | 7 +------ src/view/com/composer/threadgate/ThreadgateBtn.tsx | 1 - src/view/com/composer/videos/SelectVideoBtn.tsx | 2 +- src/view/com/composer/videos/SubtitleDialog.tsx | 2 +- src/view/com/composer/videos/VideoPreview.web.tsx | 2 +- src/view/com/composer/videos/VideoTranscodeBackdrop.tsx | 1 - src/view/com/composer/videos/VideoTranscodeProgress.tsx | 1 - src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx | 1 - src/view/com/modals/ChangeEmail.tsx | 2 +- src/view/com/modals/ChangePassword.tsx | 2 +- src/view/com/modals/CreateOrEditList.tsx | 2 +- src/view/com/modals/EditProfile.tsx | 2 +- src/view/com/modals/Modal.tsx | 2 +- src/view/com/modals/Modal.web.tsx | 1 - src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx | 1 - src/view/com/modals/lang-settings/LanguageToggle.tsx | 1 - src/view/com/post-thread/PostLikedBy.tsx | 2 +- src/view/com/post-thread/PostQuotes.tsx | 2 +- src/view/com/post-thread/PostRepostedBy.tsx | 2 +- src/view/com/post-thread/PostThreadComposePrompt.tsx | 1 - src/view/com/post-thread/PostThreadShowHiddenReplies.tsx | 1 - src/view/com/posts/DiscoverFallbackHeader.tsx | 1 - src/view/com/profile/FollowButton.tsx | 1 - src/view/com/testing/TestCtrls.e2e.tsx | 1 - src/view/com/util/EmptyState.tsx | 1 - src/view/com/util/EmptyStateWithButton.tsx | 1 - src/view/com/util/ErrorBoundary.tsx | 2 +- src/view/com/util/FeedInfoText.tsx | 1 - src/view/com/util/LoadMoreRetryBtn.tsx | 1 - src/view/com/util/LoadingPlaceholder.tsx | 1 - src/view/com/util/LoadingScreen.tsx | 1 - src/view/com/util/PressableWithHover.tsx | 2 +- src/view/com/util/Selector.tsx | 2 +- src/view/com/util/Toast.tsx | 2 +- src/view/com/util/UserInfoText.tsx | 1 - src/view/com/util/error/ErrorMessage.tsx | 1 - src/view/com/util/error/ErrorScreen.tsx | 1 - src/view/com/util/fab/FAB.web.tsx | 1 - src/view/com/util/fab/FABInner.tsx | 2 +- src/view/com/util/forms/DateInput.tsx | 2 +- src/view/com/util/forms/DateInput.web.tsx | 2 +- src/view/com/util/forms/RadioButton.tsx | 1 - src/view/com/util/forms/RadioGroup.tsx | 2 +- src/view/com/util/forms/SelectableBtn.tsx | 1 - src/view/com/util/forms/ToggleButton.tsx | 1 - src/view/com/util/images/Image.tsx | 1 - src/view/com/util/load-latest/LoadLatestBtn.tsx | 1 - src/view/com/util/post-embeds/VideoEmbedInner/TimeIndicator.tsx | 1 - src/view/icons/Logomark.tsx | 1 - src/view/icons/Logotype.tsx | 1 - src/view/screens/Storybook/Admonitions.tsx | 1 - src/view/screens/Storybook/Breakpoints.tsx | 1 - src/view/screens/Storybook/Icons.tsx | 1 - src/view/screens/Storybook/Links.tsx | 1 - src/view/screens/Storybook/Menus.tsx | 1 - src/view/screens/Storybook/Palette.tsx | 1 - src/view/screens/Storybook/Settings.tsx | 1 - src/view/screens/Storybook/Shadows.tsx | 1 - src/view/screens/Storybook/Spacing.tsx | 1 - src/view/screens/Storybook/Theming.tsx | 1 - src/view/screens/Storybook/Typography.tsx | 1 - src/view/shell/Composer.tsx | 2 +- src/view/shell/desktop/Feeds.tsx | 1 - src/view/shell/desktop/RightNav.tsx | 1 - 143 file(s) changed, 55 insertion(s)(+), 148 deletion(s)(-) diff --git a/.eslintrc.js b/.eslintrc.js --- a/.eslintrc.js +++ b/.eslintrc.js @@ -3,6 +3,7 @@ root: true, extends: [ '@react-native-community', 'plugin:react/recommended', + 'plugin:react/jsx-runtime', 'plugin:react-native-a11y/ios', 'prettier', ], @@ -19,6 +20,7 @@ rules: { // Temporary until https://github.com/facebook/react-native/pull/43756 gets into a release. 'prettier/prettier': 0, 'react/no-unescaped-entities': 0, + 'react/prop-types': 0, 'react-native/no-inline-styles': 0, 'bsky-internal/avoid-unwrapped-text': [ 'error', diff --git a/src/components/AvatarStack.tsx b/src/components/AvatarStack.tsx --- a/src/components/AvatarStack.tsx +++ b/src/components/AvatarStack.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {moderateProfile} from '@atproto/api' diff --git a/src/components/Divider.tsx b/src/components/Divider.tsx --- a/src/components/Divider.tsx +++ b/src/components/Divider.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, flatten, useTheme, ViewStyleProp} from '#/alf' diff --git a/src/components/Error.tsx b/src/components/Error.tsx --- a/src/components/Error.tsx +++ b/src/components/Error.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/components/GradientFill.tsx b/src/components/GradientFill.tsx --- a/src/components/GradientFill.tsx +++ b/src/components/GradientFill.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {LinearGradient} from 'expo-linear-gradient' import {atoms as a, tokens} from '#/alf' diff --git a/src/components/IconCircle.tsx b/src/components/IconCircle.tsx --- a/src/components/IconCircle.tsx +++ b/src/components/IconCircle.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import { diff --git a/src/components/LikesDialog.tsx b/src/components/LikesDialog.tsx --- a/src/components/LikesDialog.tsx +++ b/src/components/LikesDialog.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useMemo} from 'react' +import {useCallback, useMemo} from 'react' import {ActivityIndicator, FlatList, View} from 'react-native' import {AppBskyFeedGetLikes as GetLikes} from '@atproto/api' import {msg, Trans} from '@lingui/macro' diff --git a/src/components/Loader.web.tsx b/src/components/Loader.web.tsx --- a/src/components/Loader.web.tsx +++ b/src/components/Loader.web.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, flatten, useTheme} from '#/alf' diff --git a/src/components/Menu/index.web.tsx b/src/components/Menu/index.web.tsx --- a/src/components/Menu/index.web.tsx +++ b/src/components/Menu/index.web.tsx @@ -1,5 +1,3 @@ -/* eslint-disable react/prop-types */ - import React from 'react' import {Pressable, StyleProp, View, ViewStyle} from 'react-native' import {msg} from '@lingui/macro' diff --git a/src/components/ProgressGuide/List.tsx b/src/components/ProgressGuide/List.tsx --- a/src/components/ProgressGuide/List.tsx +++ b/src/components/ProgressGuide/List.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, View, ViewStyle} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/components/ProgressGuide/Task.tsx b/src/components/ProgressGuide/Task.tsx --- a/src/components/ProgressGuide/Task.tsx +++ b/src/components/ProgressGuide/Task.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import * as Progress from 'react-native-progress' diff --git a/src/components/ReportDialog/SelectLabelerView.tsx b/src/components/ReportDialog/SelectLabelerView.tsx --- a/src/components/ReportDialog/SelectLabelerView.tsx +++ b/src/components/ReportDialog/SelectLabelerView.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {AppBskyLabelerDefs} from '@atproto/api' import {msg, Trans} from '@lingui/macro' diff --git a/src/components/StarterPack/ShareDialog.tsx b/src/components/StarterPack/ShareDialog.tsx --- a/src/components/StarterPack/ShareDialog.tsx +++ b/src/components/StarterPack/ShareDialog.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {Image} from 'expo-image' import {requestMediaLibraryPermissionsAsync} from 'expo-image-picker' diff --git a/src/components/StarterPack/Wizard/WizardEditListDialog.tsx b/src/components/StarterPack/Wizard/WizardEditListDialog.tsx --- a/src/components/StarterPack/Wizard/WizardEditListDialog.tsx +++ b/src/components/StarterPack/Wizard/WizardEditListDialog.tsx @@ -1,4 +1,4 @@ -import React, {useRef} from 'react' +import {useRef} from 'react' import type {ListRenderItemInfo} from 'react-native' import {View} from 'react-native' import {AppBskyActorDefs, ModerationOpts} from '@atproto/api' diff --git a/src/components/StarterPack/Wizard/WizardListCard.tsx b/src/components/StarterPack/Wizard/WizardListCard.tsx --- a/src/components/StarterPack/Wizard/WizardListCard.tsx +++ b/src/components/StarterPack/Wizard/WizardListCard.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Keyboard, View} from 'react-native' import { AppBskyActorDefs, diff --git a/src/components/SubtleWebHover.web.tsx b/src/components/SubtleWebHover.web.tsx --- a/src/components/SubtleWebHover.web.tsx +++ b/src/components/SubtleWebHover.web.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet, View} from 'react-native' import {isTouchDevice} from '#/lib/browser' diff --git a/src/components/dialogs/EmbedConsent.tsx b/src/components/dialogs/EmbedConsent.tsx --- a/src/components/dialogs/EmbedConsent.tsx +++ b/src/components/dialogs/EmbedConsent.tsx @@ -1,4 +1,4 @@ -import React, {useCallback} from 'react' +import {useCallback} from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/components/dialogs/SwitchAccount.tsx b/src/components/dialogs/SwitchAccount.tsx --- a/src/components/dialogs/SwitchAccount.tsx +++ b/src/components/dialogs/SwitchAccount.tsx @@ -1,4 +1,4 @@ -import React, {useCallback} from 'react' +import {useCallback} from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/components/dms/ConvoMenu.tsx b/src/components/dms/ConvoMenu.tsx --- a/src/components/dms/ConvoMenu.tsx +++ b/src/components/dms/ConvoMenu.tsx @@ -115,7 +115,7 @@ { Keyboard.dismiss() - // eslint-disable-next-line react/prop-types -- eslint is confused by the name `props` + props.onPress() }} style={[ diff --git a/src/components/dms/LeaveConvoPrompt.tsx b/src/components/dms/LeaveConvoPrompt.tsx --- a/src/components/dms/LeaveConvoPrompt.tsx +++ b/src/components/dms/LeaveConvoPrompt.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useNavigation} from '@react-navigation/native' diff --git a/src/components/dms/ReportConversationPrompt.tsx b/src/components/dms/ReportConversationPrompt.tsx --- a/src/components/dms/ReportConversationPrompt.tsx +++ b/src/components/dms/ReportConversationPrompt.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/components/dms/dialogs/NewChatDialog.tsx b/src/components/dms/dialogs/NewChatDialog.tsx --- a/src/components/dms/dialogs/NewChatDialog.tsx +++ b/src/components/dms/dialogs/NewChatDialog.tsx @@ -1,4 +1,4 @@ -import React, {useCallback} from 'react' +import {useCallback} from 'react' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/components/dms/dialogs/ShareViaChatDialog.tsx b/src/components/dms/dialogs/ShareViaChatDialog.tsx --- a/src/components/dms/dialogs/ShareViaChatDialog.tsx +++ b/src/components/dms/dialogs/ShareViaChatDialog.tsx @@ -1,4 +1,4 @@ -import React, {useCallback} from 'react' +import {useCallback} from 'react' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/components/forms/DateField/index.shared.tsx b/src/components/forms/DateField/index.shared.tsx --- a/src/components/forms/DateField/index.shared.tsx +++ b/src/components/forms/DateField/index.shared.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Pressable, View} from 'react-native' import {useLingui} from '@lingui/react' diff --git a/src/components/forms/FormError.tsx b/src/components/forms/FormError.tsx --- a/src/components/forms/FormError.tsx +++ b/src/components/forms/FormError.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useTheme} from '#/alf' diff --git a/src/components/icons/common.tsx b/src/components/icons/common.tsx --- a/src/components/icons/common.tsx +++ b/src/components/icons/common.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet, TextProps} from 'react-native' import type {PathProps, SvgProps} from 'react-native-svg' import {Defs, LinearGradient, Stop} from 'react-native-svg' diff --git a/src/components/moderation/LabelsOnMe.tsx b/src/components/moderation/LabelsOnMe.tsx --- a/src/components/moderation/LabelsOnMe.tsx +++ b/src/components/moderation/LabelsOnMe.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, View, ViewStyle} from 'react-native' import {AppBskyFeedDefs, ComAtprotoLabelDefs} from '@atproto/api' import {msg, Plural} from '@lingui/macro' diff --git a/src/components/moderation/ModerationDetailsDialog.tsx b/src/components/moderation/ModerationDetailsDialog.tsx --- a/src/components/moderation/ModerationDetailsDialog.tsx +++ b/src/components/moderation/ModerationDetailsDialog.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {ModerationCause} from '@atproto/api' import {msg, Trans} from '@lingui/macro' diff --git a/src/components/moderation/PostAlerts.tsx b/src/components/moderation/PostAlerts.tsx --- a/src/components/moderation/PostAlerts.tsx +++ b/src/components/moderation/PostAlerts.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, ViewStyle} from 'react-native' import {ModerationCause, ModerationUI} from '@atproto/api' diff --git a/src/components/moderation/ProfileHeaderAlerts.tsx b/src/components/moderation/ProfileHeaderAlerts.tsx --- a/src/components/moderation/ProfileHeaderAlerts.tsx +++ b/src/components/moderation/ProfileHeaderAlerts.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, ViewStyle} from 'react-native' import {ModerationDecision} from '@atproto/api' diff --git a/src/components/video/PlayButtonIcon.tsx b/src/components/video/PlayButtonIcon.tsx --- a/src/components/video/PlayButtonIcon.tsx +++ b/src/components/video/PlayButtonIcon.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useTheme} from '#/alf' diff --git a/src/lib/custom-animations/LikeIcon.tsx b/src/lib/custom-animations/LikeIcon.tsx --- a/src/lib/custom-animations/LikeIcon.tsx +++ b/src/lib/custom-animations/LikeIcon.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import Animated, { Keyframe, diff --git a/src/lib/custom-animations/PressableScale.tsx b/src/lib/custom-animations/PressableScale.tsx --- a/src/lib/custom-animations/PressableScale.tsx +++ b/src/lib/custom-animations/PressableScale.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Pressable, PressableProps, StyleProp, ViewStyle} from 'react-native' import Animated, { cancelAnimation, diff --git a/src/lib/icons.tsx b/src/lib/icons.tsx --- a/src/lib/icons.tsx +++ b/src/lib/icons.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, TextStyle, ViewStyle} from 'react-native' import Svg, {Ellipse, Line, Path, Rect} from 'react-native-svg' diff --git a/src/screens/Login/PasswordUpdatedForm.tsx b/src/screens/Login/PasswordUpdatedForm.tsx --- a/src/screens/Login/PasswordUpdatedForm.tsx +++ b/src/screens/Login/PasswordUpdatedForm.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/Login/SetNewPasswordForm.tsx b/src/screens/Login/SetNewPasswordForm.tsx --- a/src/screens/Login/SetNewPasswordForm.tsx +++ b/src/screens/Login/SetNewPasswordForm.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import {useState} from 'react' import {ActivityIndicator, View} from 'react-native' import {BskyAgent} from '@atproto/api' import {msg, Trans} from '@lingui/macro' diff --git a/src/screens/Messages/ChatList.tsx b/src/screens/Messages/ChatList.tsx --- a/src/screens/Messages/ChatList.tsx +++ b/src/screens/Messages/ChatList.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useEffect, useMemo, useState} from 'react' +import {useCallback, useEffect, useMemo, useState} from 'react' import {View} from 'react-native' import {ChatBskyConvoDefs} from '@atproto/api' import {msg, Trans} from '@lingui/macro' diff --git a/src/screens/Messages/Settings.tsx b/src/screens/Messages/Settings.tsx --- a/src/screens/Messages/Settings.tsx +++ b/src/screens/Messages/Settings.tsx @@ -1,4 +1,4 @@ -import React, {useCallback} from 'react' +import {useCallback} from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/Messages/components/ChatDisabled.tsx b/src/screens/Messages/components/ChatDisabled.tsx --- a/src/screens/Messages/components/ChatDisabled.tsx +++ b/src/screens/Messages/components/ChatDisabled.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useState} from 'react' +import {useCallback, useState} from 'react' import {View} from 'react-native' import {ComAtprotoModerationDefs} from '@atproto/api' import {msg, Trans} from '@lingui/macro' diff --git a/src/screens/Messages/components/MessageInputEmbed.tsx b/src/screens/Messages/components/MessageInputEmbed.tsx --- a/src/screens/Messages/components/MessageInputEmbed.tsx +++ b/src/screens/Messages/components/MessageInputEmbed.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useEffect, useMemo, useState} from 'react' +import {useCallback, useEffect, useMemo, useState} from 'react' import {LayoutAnimation, View} from 'react-native' import { AppBskyFeedPost, diff --git a/src/screens/Profile/Header/DisplayName.tsx b/src/screens/Profile/Header/DisplayName.tsx --- a/src/screens/Profile/Header/DisplayName.tsx +++ b/src/screens/Profile/Header/DisplayName.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {AppBskyActorDefs, ModerationDecision} from '@atproto/api' diff --git a/src/screens/Profile/Header/EditProfileDialog.tsx b/src/screens/Profile/Header/EditProfileDialog.tsx --- a/src/screens/Profile/Header/EditProfileDialog.tsx +++ b/src/screens/Profile/Header/EditProfileDialog.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useEffect, useState} from 'react' +import {useCallback, useEffect, useState} from 'react' import {Dimensions, View} from 'react-native' import {Image as RNImage} from 'react-native-image-crop-picker' import {AppBskyActorDefs} from '@atproto/api' diff --git a/src/screens/Profile/Header/Handle.tsx b/src/screens/Profile/Header/Handle.tsx --- a/src/screens/Profile/Header/Handle.tsx +++ b/src/screens/Profile/Header/Handle.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {AppBskyActorDefs} from '@atproto/api' import {msg, Trans} from '@lingui/macro' diff --git a/src/screens/Profile/Header/Metrics.tsx b/src/screens/Profile/Header/Metrics.tsx --- a/src/screens/Profile/Header/Metrics.tsx +++ b/src/screens/Profile/Header/Metrics.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {AppBskyActorDefs} from '@atproto/api' import {msg, plural} from '@lingui/macro' diff --git a/src/screens/Settings/AboutSettings.tsx b/src/screens/Settings/AboutSettings.tsx --- a/src/screens/Settings/AboutSettings.tsx +++ b/src/screens/Settings/AboutSettings.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Platform} from 'react-native' import {setStringAsync} from 'expo-clipboard' import {msg, Trans} from '@lingui/macro' diff --git a/src/screens/Settings/AccessibilitySettings.tsx b/src/screens/Settings/AccessibilitySettings.tsx --- a/src/screens/Settings/AccessibilitySettings.tsx +++ b/src/screens/Settings/AccessibilitySettings.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {NativeStackScreenProps} from '@react-navigation/native-stack' diff --git a/src/screens/Settings/AccountSettings.tsx b/src/screens/Settings/AccountSettings.tsx --- a/src/screens/Settings/AccountSettings.tsx +++ b/src/screens/Settings/AccountSettings.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {NativeStackScreenProps} from '@react-navigation/native-stack' diff --git a/src/screens/Settings/AppPasswords.tsx b/src/screens/Settings/AppPasswords.tsx --- a/src/screens/Settings/AppPasswords.tsx +++ b/src/screens/Settings/AppPasswords.tsx @@ -1,4 +1,4 @@ -import React, {useCallback} from 'react' +import {useCallback} from 'react' import {View} from 'react-native' import Animated, { FadeIn, diff --git a/src/screens/Settings/ContentAndMediaSettings.tsx b/src/screens/Settings/ContentAndMediaSettings.tsx --- a/src/screens/Settings/ContentAndMediaSettings.tsx +++ b/src/screens/Settings/ContentAndMediaSettings.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {NativeStackScreenProps} from '@react-navigation/native-stack' diff --git a/src/screens/Settings/ExternalMediaPreferences.tsx b/src/screens/Settings/ExternalMediaPreferences.tsx --- a/src/screens/Settings/ExternalMediaPreferences.tsx +++ b/src/screens/Settings/ExternalMediaPreferences.tsx @@ -1,4 +1,4 @@ -import React, {Fragment} from 'react' +import {Fragment} from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/Settings/FollowingFeedPreferences.tsx b/src/screens/Settings/FollowingFeedPreferences.tsx --- a/src/screens/Settings/FollowingFeedPreferences.tsx +++ b/src/screens/Settings/FollowingFeedPreferences.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/Settings/LanguageSettings.tsx b/src/screens/Settings/LanguageSettings.tsx --- a/src/screens/Settings/LanguageSettings.tsx +++ b/src/screens/Settings/LanguageSettings.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useMemo} from 'react' +import {useCallback, useMemo} from 'react' import {View} from 'react-native' import RNPickerSelect, {PickerSelectProps} from 'react-native-picker-select' import {msg, Trans} from '@lingui/macro' diff --git a/src/screens/Settings/NotificationSettings.tsx b/src/screens/Settings/NotificationSettings.tsx --- a/src/screens/Settings/NotificationSettings.tsx +++ b/src/screens/Settings/NotificationSettings.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Text} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/Settings/PrivacyAndSecuritySettings.tsx b/src/screens/Settings/PrivacyAndSecuritySettings.tsx --- a/src/screens/Settings/PrivacyAndSecuritySettings.tsx +++ b/src/screens/Settings/PrivacyAndSecuritySettings.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/Settings/Settings.tsx b/src/screens/Settings/Settings.tsx --- a/src/screens/Settings/Settings.tsx +++ b/src/screens/Settings/Settings.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import {useState} from 'react' import {LayoutAnimation, Pressable, View} from 'react-native' import {Linking} from 'react-native' import {useReducedMotion} from 'react-native-reanimated' diff --git a/src/screens/Settings/ThreadPreferences.tsx b/src/screens/Settings/ThreadPreferences.tsx --- a/src/screens/Settings/ThreadPreferences.tsx +++ b/src/screens/Settings/ThreadPreferences.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/Settings/components/AddAppPasswordDialog.tsx b/src/screens/Settings/components/AddAppPasswordDialog.tsx --- a/src/screens/Settings/components/AddAppPasswordDialog.tsx +++ b/src/screens/Settings/components/AddAppPasswordDialog.tsx @@ -1,4 +1,4 @@ -import React, {useEffect, useMemo, useState} from 'react' +import {useEffect, useMemo, useState} from 'react' import {useWindowDimensions, View} from 'react-native' import Animated, { FadeIn, diff --git a/src/screens/Settings/components/ChangeHandleDialog.tsx b/src/screens/Settings/components/ChangeHandleDialog.tsx --- a/src/screens/Settings/components/ChangeHandleDialog.tsx +++ b/src/screens/Settings/components/ChangeHandleDialog.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useMemo, useState} from 'react' +import {useCallback, useMemo, useState} from 'react' import {useWindowDimensions, View} from 'react-native' import Animated, { FadeIn, diff --git a/src/screens/Settings/components/CopyButton.tsx b/src/screens/Settings/components/CopyButton.tsx --- a/src/screens/Settings/components/CopyButton.tsx +++ b/src/screens/Settings/components/CopyButton.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useEffect, useState} from 'react' +import {useCallback, useEffect, useState} from 'react' import {GestureResponderEvent, View} from 'react-native' import Animated, { FadeOutUp, diff --git a/src/screens/Settings/components/DisableEmail2FADialog.tsx b/src/screens/Settings/components/DisableEmail2FADialog.tsx --- a/src/screens/Settings/components/DisableEmail2FADialog.tsx +++ b/src/screens/Settings/components/DisableEmail2FADialog.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import {useState} from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/Settings/components/SettingsList.tsx b/src/screens/Settings/components/SettingsList.tsx --- a/src/screens/Settings/components/SettingsList.tsx +++ b/src/screens/Settings/components/SettingsList.tsx @@ -213,7 +213,6 @@ } } export function ItemText({ - // eslint-disable-next-line react/prop-types style, ...props }: React.ComponentProps) { diff --git a/src/screens/Signup/BackNextButtons.tsx b/src/screens/Signup/BackNextButtons.tsx --- a/src/screens/Signup/BackNextButtons.tsx +++ b/src/screens/Signup/BackNextButtons.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/Signup/StepInfo/Policies.tsx b/src/screens/Signup/StepInfo/Policies.tsx --- a/src/screens/Signup/StepInfo/Policies.tsx +++ b/src/screens/Signup/StepInfo/Policies.tsx @@ -1,4 +1,4 @@ -import React, {ReactElement} from 'react' +import {ReactElement} from 'react' import {View} from 'react-native' import {ComAtprotoServerDescribeServer} from '@atproto/api' import {msg, Trans} from '@lingui/macro' diff --git a/src/screens/StarterPack/Wizard/StepDetails.tsx b/src/screens/StarterPack/Wizard/StepDetails.tsx --- a/src/screens/StarterPack/Wizard/StepDetails.tsx +++ b/src/screens/StarterPack/Wizard/StepDetails.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/screens/StarterPack/Wizard/StepFeeds.tsx b/src/screens/StarterPack/Wizard/StepFeeds.tsx --- a/src/screens/StarterPack/Wizard/StepFeeds.tsx +++ b/src/screens/StarterPack/Wizard/StepFeeds.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import {useState} from 'react' import {ListRenderItemInfo, View} from 'react-native' import {KeyboardAwareScrollView} from 'react-native-keyboard-controller' import {AppBskyFeedDefs, ModerationOpts} from '@atproto/api' diff --git a/src/screens/StarterPack/Wizard/StepProfiles.tsx b/src/screens/StarterPack/Wizard/StepProfiles.tsx --- a/src/screens/StarterPack/Wizard/StepProfiles.tsx +++ b/src/screens/StarterPack/Wizard/StepProfiles.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import {useState} from 'react' import {ListRenderItemInfo, View} from 'react-native' import {KeyboardAwareScrollView} from 'react-native-keyboard-controller' import {AppBskyActorDefs, ModerationOpts} from '@atproto/api' diff --git a/src/view/com/auth/SplashScreen.tsx b/src/view/com/auth/SplashScreen.tsx --- a/src/view/com/auth/SplashScreen.tsx +++ b/src/view/com/auth/SplashScreen.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {useSafeAreaInsets} from 'react-native-safe-area-context' import {msg, Trans} from '@lingui/macro' diff --git a/src/view/com/auth/util/HelpTip.tsx b/src/view/com/auth/util/HelpTip.tsx --- a/src/view/com/auth/util/HelpTip.tsx +++ b/src/view/com/auth/util/HelpTip.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet, View} from 'react-native' import {useColorSchemeStyle} from '#/lib/hooks/useColorSchemeStyle' diff --git a/src/view/com/auth/util/TextInput.tsx b/src/view/com/auth/util/TextInput.tsx --- a/src/view/com/auth/util/TextInput.tsx +++ b/src/view/com/auth/util/TextInput.tsx @@ -1,4 +1,4 @@ -import React, {ComponentProps} from 'react' +import {ComponentProps} from 'react' import {StyleSheet, TextInput as RNTextInput, View} from 'react-native' import {IconProp} from '@fortawesome/fontawesome-svg-core' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' diff --git a/src/view/com/composer/ExternalEmbedRemoveBtn.tsx b/src/view/com/composer/ExternalEmbedRemoveBtn.tsx --- a/src/view/com/composer/ExternalEmbedRemoveBtn.tsx +++ b/src/view/com/composer/ExternalEmbedRemoveBtn.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/composer/GifAltText.tsx b/src/view/com/composer/GifAltText.tsx --- a/src/view/com/composer/GifAltText.tsx +++ b/src/view/com/composer/GifAltText.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import {useState} from 'react' import {TouchableOpacity, View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/composer/char-progress/CharProgress.tsx b/src/view/com/composer/char-progress/CharProgress.tsx --- a/src/view/com/composer/char-progress/CharProgress.tsx +++ b/src/view/com/composer/char-progress/CharProgress.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, TextStyle, View, ViewStyle} from 'react-native' // @ts-ignore no type definition -prf import ProgressCircle from 'react-native-progress/Circle' diff --git a/src/view/com/composer/labels/LabelsBtn.tsx b/src/view/com/composer/labels/LabelsBtn.tsx --- a/src/view/com/composer/labels/LabelsBtn.tsx +++ b/src/view/com/composer/labels/LabelsBtn.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Keyboard, View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/composer/photos/OpenCameraBtn.tsx b/src/view/com/composer/photos/OpenCameraBtn.tsx --- a/src/view/com/composer/photos/OpenCameraBtn.tsx +++ b/src/view/com/composer/photos/OpenCameraBtn.tsx @@ -1,4 +1,4 @@ -import React, {useCallback} from 'react' +import {useCallback} from 'react' import * as MediaLibrary from 'expo-media-library' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/composer/photos/SelectGifBtn.tsx b/src/view/com/composer/photos/SelectGifBtn.tsx --- a/src/view/com/composer/photos/SelectGifBtn.tsx +++ b/src/view/com/composer/photos/SelectGifBtn.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useRef} from 'react' +import {useCallback, useRef} from 'react' import {Keyboard} from 'react-native' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/composer/photos/SelectPhotoBtn.tsx b/src/view/com/composer/photos/SelectPhotoBtn.tsx --- a/src/view/com/composer/photos/SelectPhotoBtn.tsx +++ b/src/view/com/composer/photos/SelectPhotoBtn.tsx @@ -1,5 +1,5 @@ /* eslint-disable react-native-a11y/has-valid-accessibility-ignores-invert-colors */ -import React, {useCallback} from 'react' +import {useCallback} from 'react' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/composer/select-language/SelectLangBtn.tsx b/src/view/com/composer/select-language/SelectLangBtn.tsx --- a/src/view/com/composer/select-language/SelectLangBtn.tsx +++ b/src/view/com/composer/select-language/SelectLangBtn.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useMemo} from 'react' +import {useCallback, useMemo} from 'react' import {Keyboard, StyleSheet} from 'react-native' import { FontAwesomeIcon, diff --git a/src/view/com/composer/select-language/SuggestedLanguage.tsx b/src/view/com/composer/select-language/SuggestedLanguage.tsx --- a/src/view/com/composer/select-language/SuggestedLanguage.tsx +++ b/src/view/com/composer/select-language/SuggestedLanguage.tsx @@ -1,4 +1,4 @@ -import React, {useEffect, useState} from 'react' +import {useEffect, useState} from 'react' import {StyleSheet, View} from 'react-native' import { FontAwesomeIcon, diff --git a/src/view/com/composer/text-input/mobile/Autocomplete.tsx b/src/view/com/composer/text-input/mobile/Autocomplete.tsx --- a/src/view/com/composer/text-input/mobile/Autocomplete.tsx +++ b/src/view/com/composer/text-input/mobile/Autocomplete.tsx @@ -1,4 +1,4 @@ -import React, {useRef} from 'react' +import {useRef} from 'react' import {View} from 'react-native' import Animated, {FadeInDown, FadeOut} from 'react-native-reanimated' import {AppBskyActorDefs} from '@atproto/api' diff --git a/src/view/com/composer/text-input/web/Autocomplete.tsx b/src/view/com/composer/text-input/web/Autocomplete.tsx --- a/src/view/com/composer/text-input/web/Autocomplete.tsx +++ b/src/view/com/composer/text-input/web/Autocomplete.tsx @@ -1,9 +1,4 @@ -import React, { - forwardRef, - useEffect, - useImperativeHandle, - useState, -} from 'react' +import {forwardRef, useEffect, useImperativeHandle, useState} from 'react' import {Pressable, StyleSheet, View} from 'react-native' import {Trans} from '@lingui/macro' import {ReactRenderer} from '@tiptap/react' diff --git a/src/view/com/composer/threadgate/ThreadgateBtn.tsx b/src/view/com/composer/threadgate/ThreadgateBtn.tsx --- a/src/view/com/composer/threadgate/ThreadgateBtn.tsx +++ b/src/view/com/composer/threadgate/ThreadgateBtn.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Keyboard, StyleProp, ViewStyle} from 'react-native' import {AnimatedStyle} from 'react-native-reanimated' import {AppBskyFeedPostgate} from '@atproto/api' diff --git a/src/view/com/composer/videos/SelectVideoBtn.tsx b/src/view/com/composer/videos/SelectVideoBtn.tsx --- a/src/view/com/composer/videos/SelectVideoBtn.tsx +++ b/src/view/com/composer/videos/SelectVideoBtn.tsx @@ -1,4 +1,4 @@ -import React, {useCallback} from 'react' +import {useCallback} from 'react' import {Keyboard} from 'react-native' import { ImagePickerAsset, diff --git a/src/view/com/composer/videos/SubtitleDialog.tsx b/src/view/com/composer/videos/SubtitleDialog.tsx --- a/src/view/com/composer/videos/SubtitleDialog.tsx +++ b/src/view/com/composer/videos/SubtitleDialog.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useState} from 'react' +import {useCallback, useState} from 'react' import {Keyboard, StyleProp, View, ViewStyle} from 'react-native' import RNPickerSelect from 'react-native-picker-select' import {msg, Trans} from '@lingui/macro' diff --git a/src/view/com/composer/videos/VideoPreview.web.tsx b/src/view/com/composer/videos/VideoPreview.web.tsx --- a/src/view/com/composer/videos/VideoPreview.web.tsx +++ b/src/view/com/composer/videos/VideoPreview.web.tsx @@ -1,4 +1,4 @@ -import React, {useEffect, useRef} from 'react' +import {useEffect, useRef} from 'react' import {View} from 'react-native' import {ImagePickerAsset} from 'expo-image-picker' import {msg} from '@lingui/macro' diff --git a/src/view/com/composer/videos/VideoTranscodeBackdrop.tsx b/src/view/com/composer/videos/VideoTranscodeBackdrop.tsx --- a/src/view/com/composer/videos/VideoTranscodeBackdrop.tsx +++ b/src/view/com/composer/videos/VideoTranscodeBackdrop.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {clearCache, createVideoThumbnail} from 'react-native-compressor' import Animated, {FadeIn} from 'react-native-reanimated' import {Image} from 'expo-image' diff --git a/src/view/com/composer/videos/VideoTranscodeProgress.tsx b/src/view/com/composer/videos/VideoTranscodeProgress.tsx --- a/src/view/com/composer/videos/VideoTranscodeProgress.tsx +++ b/src/view/com/composer/videos/VideoTranscodeProgress.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' // @ts-expect-error no type definition import ProgressPie from 'react-native-progress/Pie' diff --git a/src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx b/src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx --- a/src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx +++ b/src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx @@ -5,7 +5,6 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * */ -import React from 'react' import { SafeAreaView, StyleSheet, diff --git a/src/view/com/modals/ChangeEmail.tsx b/src/view/com/modals/ChangeEmail.tsx --- a/src/view/com/modals/ChangeEmail.tsx +++ b/src/view/com/modals/ChangeEmail.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import {useState} from 'react' import {ActivityIndicator, SafeAreaView, StyleSheet, View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/modals/ChangePassword.tsx b/src/view/com/modals/ChangePassword.tsx --- a/src/view/com/modals/ChangePassword.tsx +++ b/src/view/com/modals/ChangePassword.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import {useState} from 'react' import { ActivityIndicator, SafeAreaView, diff --git a/src/view/com/modals/CreateOrEditList.tsx b/src/view/com/modals/CreateOrEditList.tsx --- a/src/view/com/modals/CreateOrEditList.tsx +++ b/src/view/com/modals/CreateOrEditList.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useMemo, useState} from 'react' +import {useCallback, useMemo, useState} from 'react' import { ActivityIndicator, KeyboardAvoidingView, diff --git a/src/view/com/modals/EditProfile.tsx b/src/view/com/modals/EditProfile.tsx --- a/src/view/com/modals/EditProfile.tsx +++ b/src/view/com/modals/EditProfile.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useState} from 'react' +import {useCallback, useState} from 'react' import { ActivityIndicator, KeyboardAvoidingView, diff --git a/src/view/com/modals/Modal.tsx b/src/view/com/modals/Modal.tsx --- a/src/view/com/modals/Modal.tsx +++ b/src/view/com/modals/Modal.tsx @@ -1,4 +1,4 @@ -import React, {Fragment, useEffect, useRef} from 'react' +import {Fragment, useEffect, useRef} from 'react' import {StyleSheet} from 'react-native' import {SafeAreaView} from 'react-native-safe-area-context' import BottomSheet from '@discord/bottom-sheet/src' diff --git a/src/view/com/modals/Modal.web.tsx b/src/view/com/modals/Modal.web.tsx --- a/src/view/com/modals/Modal.web.tsx +++ b/src/view/com/modals/Modal.web.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet, TouchableWithoutFeedback, View} from 'react-native' import Animated, {FadeIn, FadeOut} from 'react-native-reanimated' diff --git a/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx b/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx --- a/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx +++ b/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Pressable, StyleSheet, Text, View} from 'react-native' import {LinearGradient} from 'expo-linear-gradient' import {msg, Trans} from '@lingui/macro' diff --git a/src/view/com/modals/lang-settings/LanguageToggle.tsx b/src/view/com/modals/lang-settings/LanguageToggle.tsx --- a/src/view/com/modals/lang-settings/LanguageToggle.tsx +++ b/src/view/com/modals/lang-settings/LanguageToggle.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet} from 'react-native' import {usePalette} from '#/lib/hooks/usePalette' diff --git a/src/view/com/post-thread/PostLikedBy.tsx b/src/view/com/post-thread/PostLikedBy.tsx --- a/src/view/com/post-thread/PostLikedBy.tsx +++ b/src/view/com/post-thread/PostLikedBy.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useMemo, useState} from 'react' +import {useCallback, useMemo, useState} from 'react' import {AppBskyFeedGetLikes as GetLikes} from '@atproto/api' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/post-thread/PostQuotes.tsx b/src/view/com/post-thread/PostQuotes.tsx --- a/src/view/com/post-thread/PostQuotes.tsx +++ b/src/view/com/post-thread/PostQuotes.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useState} from 'react' +import {useCallback, useState} from 'react' import { AppBskyFeedDefs, AppBskyFeedPost, diff --git a/src/view/com/post-thread/PostRepostedBy.tsx b/src/view/com/post-thread/PostRepostedBy.tsx --- a/src/view/com/post-thread/PostRepostedBy.tsx +++ b/src/view/com/post-thread/PostRepostedBy.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useMemo, useState} from 'react' +import {useCallback, useMemo, useState} from 'react' import {AppBskyActorDefs as ActorDefs} from '@atproto/api' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/post-thread/PostThreadComposePrompt.tsx b/src/view/com/post-thread/PostThreadComposePrompt.tsx --- a/src/view/com/post-thread/PostThreadComposePrompt.tsx +++ b/src/view/com/post-thread/PostThreadComposePrompt.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/post-thread/PostThreadShowHiddenReplies.tsx b/src/view/com/post-thread/PostThreadShowHiddenReplies.tsx --- a/src/view/com/post-thread/PostThreadShowHiddenReplies.tsx +++ b/src/view/com/post-thread/PostThreadShowHiddenReplies.tsx @@ -1,4 +1,3 @@ -import * as React from 'react' import {View} from 'react-native' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/posts/DiscoverFallbackHeader.tsx b/src/view/com/posts/DiscoverFallbackHeader.tsx --- a/src/view/com/posts/DiscoverFallbackHeader.tsx +++ b/src/view/com/posts/DiscoverFallbackHeader.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {Trans} from '@lingui/macro' diff --git a/src/view/com/profile/FollowButton.tsx b/src/view/com/profile/FollowButton.tsx --- a/src/view/com/profile/FollowButton.tsx +++ b/src/view/com/profile/FollowButton.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, TextStyle, View} from 'react-native' import {AppBskyActorDefs} from '@atproto/api' import {msg} from '@lingui/macro' diff --git a/src/view/com/testing/TestCtrls.e2e.tsx b/src/view/com/testing/TestCtrls.e2e.tsx --- a/src/view/com/testing/TestCtrls.e2e.tsx +++ b/src/view/com/testing/TestCtrls.e2e.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {LogBox, Pressable, View} from 'react-native' import {useQueryClient} from '@tanstack/react-query' diff --git a/src/view/com/util/EmptyState.tsx b/src/view/com/util/EmptyState.tsx --- a/src/view/com/util/EmptyState.tsx +++ b/src/view/com/util/EmptyState.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native' import {IconProp} from '@fortawesome/fontawesome-svg-core' import { diff --git a/src/view/com/util/EmptyStateWithButton.tsx b/src/view/com/util/EmptyStateWithButton.tsx --- a/src/view/com/util/EmptyStateWithButton.tsx +++ b/src/view/com/util/EmptyStateWithButton.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet, View} from 'react-native' import {IconProp} from '@fortawesome/fontawesome-svg-core' import { diff --git a/src/view/com/util/ErrorBoundary.tsx b/src/view/com/util/ErrorBoundary.tsx --- a/src/view/com/util/ErrorBoundary.tsx +++ b/src/view/com/util/ErrorBoundary.tsx @@ -1,4 +1,4 @@ -import React, {Component, ErrorInfo, ReactNode} from 'react' +import {Component, ErrorInfo, ReactNode} from 'react' import {StyleProp, ViewStyle} from 'react-native' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/util/FeedInfoText.tsx b/src/view/com/util/FeedInfoText.tsx --- a/src/view/com/util/FeedInfoText.tsx +++ b/src/view/com/util/FeedInfoText.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, StyleSheet, TextStyle} from 'react-native' import {sanitizeDisplayName} from '#/lib/strings/display-names' diff --git a/src/view/com/util/LoadMoreRetryBtn.tsx b/src/view/com/util/LoadMoreRetryBtn.tsx --- a/src/view/com/util/LoadMoreRetryBtn.tsx +++ b/src/view/com/util/LoadMoreRetryBtn.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet} from 'react-native' import { FontAwesomeIcon, diff --git a/src/view/com/util/LoadingPlaceholder.tsx b/src/view/com/util/LoadingPlaceholder.tsx --- a/src/view/com/util/LoadingPlaceholder.tsx +++ b/src/view/com/util/LoadingPlaceholder.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { DimensionValue, StyleProp, diff --git a/src/view/com/util/LoadingScreen.tsx b/src/view/com/util/LoadingScreen.tsx --- a/src/view/com/util/LoadingScreen.tsx +++ b/src/view/com/util/LoadingScreen.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {ActivityIndicator, View} from 'react-native' import {s} from '#/lib/styles' diff --git a/src/view/com/util/PressableWithHover.tsx b/src/view/com/util/PressableWithHover.tsx --- a/src/view/com/util/PressableWithHover.tsx +++ b/src/view/com/util/PressableWithHover.tsx @@ -1,4 +1,4 @@ -import React, {forwardRef, PropsWithChildren} from 'react' +import {forwardRef, PropsWithChildren} from 'react' import {Pressable, PressableProps, StyleProp, ViewStyle} from 'react-native' import {View} from 'react-native' diff --git a/src/view/com/util/Selector.tsx b/src/view/com/util/Selector.tsx --- a/src/view/com/util/Selector.tsx +++ b/src/view/com/util/Selector.tsx @@ -1,4 +1,4 @@ -import React, {createRef, useMemo, useRef, useState} from 'react' +import {createRef, useMemo, useRef, useState} from 'react' import {Animated, Pressable, StyleSheet, View} from 'react-native' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/util/Toast.tsx b/src/view/com/util/Toast.tsx --- a/src/view/com/util/Toast.tsx +++ b/src/view/com/util/Toast.tsx @@ -1,4 +1,4 @@ -import React, {useEffect, useState} from 'react' +import {useEffect, useState} from 'react' import {View} from 'react-native' import Animated, {FadeInUp, FadeOutUp} from 'react-native-reanimated' import RootSiblings from 'react-native-root-siblings' diff --git a/src/view/com/util/UserInfoText.tsx b/src/view/com/util/UserInfoText.tsx --- a/src/view/com/util/UserInfoText.tsx +++ b/src/view/com/util/UserInfoText.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, StyleSheet, TextStyle} from 'react-native' import {AppBskyActorGetProfile as GetProfile} from '@atproto/api' diff --git a/src/view/com/util/error/ErrorMessage.tsx b/src/view/com/util/error/ErrorMessage.tsx --- a/src/view/com/util/error/ErrorMessage.tsx +++ b/src/view/com/util/error/ErrorMessage.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { StyleProp, StyleSheet, diff --git a/src/view/com/util/error/ErrorScreen.tsx b/src/view/com/util/error/ErrorScreen.tsx --- a/src/view/com/util/error/ErrorScreen.tsx +++ b/src/view/com/util/error/ErrorScreen.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet, View} from 'react-native' import { FontAwesomeIcon, diff --git a/src/view/com/util/fab/FAB.web.tsx b/src/view/com/util/fab/FAB.web.tsx --- a/src/view/com/util/fab/FAB.web.tsx +++ b/src/view/com/util/fab/FAB.web.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' diff --git a/src/view/com/util/fab/FABInner.tsx b/src/view/com/util/fab/FABInner.tsx --- a/src/view/com/util/fab/FABInner.tsx +++ b/src/view/com/util/fab/FABInner.tsx @@ -1,4 +1,4 @@ -import React, {ComponentProps} from 'react' +import {ComponentProps} from 'react' import {StyleSheet, TouchableWithoutFeedback} from 'react-native' import Animated from 'react-native-reanimated' import {useSafeAreaInsets} from 'react-native-safe-area-context' diff --git a/src/view/com/util/forms/DateInput.tsx b/src/view/com/util/forms/DateInput.tsx --- a/src/view/com/util/forms/DateInput.tsx +++ b/src/view/com/util/forms/DateInput.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useState} from 'react' +import {useCallback, useState} from 'react' import {StyleProp, StyleSheet, TextStyle, View, ViewStyle} from 'react-native' import DatePicker from 'react-native-date-picker' import { diff --git a/src/view/com/util/forms/DateInput.web.tsx b/src/view/com/util/forms/DateInput.web.tsx --- a/src/view/com/util/forms/DateInput.web.tsx +++ b/src/view/com/util/forms/DateInput.web.tsx @@ -1,4 +1,4 @@ -import React, {useCallback, useState} from 'react' +import {useCallback, useState} from 'react' import {StyleProp, StyleSheet, TextStyle, View, ViewStyle} from 'react-native' // @ts-ignore types not available -prf import {unstable_createElement} from 'react-native-web' diff --git a/src/view/com/util/forms/RadioButton.tsx b/src/view/com/util/forms/RadioButton.tsx --- a/src/view/com/util/forms/RadioButton.tsx +++ b/src/view/com/util/forms/RadioButton.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, StyleSheet, TextStyle, View, ViewStyle} from 'react-native' import {choose} from '#/lib/functions' diff --git a/src/view/com/util/forms/RadioGroup.tsx b/src/view/com/util/forms/RadioGroup.tsx --- a/src/view/com/util/forms/RadioGroup.tsx +++ b/src/view/com/util/forms/RadioGroup.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import {useState} from 'react' import {View} from 'react-native' import {s} from '#/lib/styles' diff --git a/src/view/com/util/forms/SelectableBtn.tsx b/src/view/com/util/forms/SelectableBtn.tsx --- a/src/view/com/util/forms/SelectableBtn.tsx +++ b/src/view/com/util/forms/SelectableBtn.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Pressable, StyleProp, StyleSheet, ViewStyle} from 'react-native' import {usePalette} from '#/lib/hooks/usePalette' diff --git a/src/view/com/util/forms/ToggleButton.tsx b/src/view/com/util/forms/ToggleButton.tsx --- a/src/view/com/util/forms/ToggleButton.tsx +++ b/src/view/com/util/forms/ToggleButton.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, StyleSheet, TextStyle, View, ViewStyle} from 'react-native' import {choose} from '#/lib/functions' diff --git a/src/view/com/util/images/Image.tsx b/src/view/com/util/images/Image.tsx --- a/src/view/com/util/images/Image.tsx +++ b/src/view/com/util/images/Image.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {Image, ImageProps, ImageSource} from 'expo-image' interface HighPriorityImageProps extends ImageProps { diff --git a/src/view/com/util/load-latest/LoadLatestBtn.tsx b/src/view/com/util/load-latest/LoadLatestBtn.tsx --- a/src/view/com/util/load-latest/LoadLatestBtn.tsx +++ b/src/view/com/util/load-latest/LoadLatestBtn.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet, TouchableOpacity, View} from 'react-native' import Animated from 'react-native-reanimated' import {useSafeAreaInsets} from 'react-native-safe-area-context' diff --git a/src/view/com/util/post-embeds/VideoEmbedInner/TimeIndicator.tsx b/src/view/com/util/post-embeds/VideoEmbedInner/TimeIndicator.tsx --- a/src/view/com/util/post-embeds/VideoEmbedInner/TimeIndicator.tsx +++ b/src/view/com/util/post-embeds/VideoEmbedInner/TimeIndicator.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleProp, ViewStyle} from 'react-native' import {View} from 'react-native' diff --git a/src/view/icons/Logomark.tsx b/src/view/icons/Logomark.tsx --- a/src/view/icons/Logomark.tsx +++ b/src/view/icons/Logomark.tsx @@ -1,4 +1,3 @@ -import React from 'react' import Svg, {Path, PathProps, SvgProps} from 'react-native-svg' import {usePalette} from '#/lib/hooks/usePalette' diff --git a/src/view/icons/Logotype.tsx b/src/view/icons/Logotype.tsx --- a/src/view/icons/Logotype.tsx +++ b/src/view/icons/Logotype.tsx @@ -1,4 +1,3 @@ -import React from 'react' import Svg, {Path, PathProps, SvgProps} from 'react-native-svg' import {usePalette} from '#/lib/hooks/usePalette' diff --git a/src/view/screens/Storybook/Admonitions.tsx b/src/view/screens/Storybook/Admonitions.tsx --- a/src/view/screens/Storybook/Admonitions.tsx +++ b/src/view/screens/Storybook/Admonitions.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a} from '#/alf' diff --git a/src/view/screens/Storybook/Breakpoints.tsx b/src/view/screens/Storybook/Breakpoints.tsx --- a/src/view/screens/Storybook/Breakpoints.tsx +++ b/src/view/screens/Storybook/Breakpoints.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useBreakpoints, useTheme} from '#/alf' diff --git a/src/view/screens/Storybook/Icons.tsx b/src/view/screens/Storybook/Icons.tsx --- a/src/view/screens/Storybook/Icons.tsx +++ b/src/view/screens/Storybook/Icons.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useTheme} from '#/alf' diff --git a/src/view/screens/Storybook/Links.tsx b/src/view/screens/Storybook/Links.tsx --- a/src/view/screens/Storybook/Links.tsx +++ b/src/view/screens/Storybook/Links.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useTheme} from '#/alf' diff --git a/src/view/screens/Storybook/Menus.tsx b/src/view/screens/Storybook/Menus.tsx --- a/src/view/screens/Storybook/Menus.tsx +++ b/src/view/screens/Storybook/Menus.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useTheme} from '#/alf' diff --git a/src/view/screens/Storybook/Palette.tsx b/src/view/screens/Storybook/Palette.tsx --- a/src/view/screens/Storybook/Palette.tsx +++ b/src/view/screens/Storybook/Palette.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useTheme} from '#/alf' diff --git a/src/view/screens/Storybook/Settings.tsx b/src/view/screens/Storybook/Settings.tsx --- a/src/view/screens/Storybook/Settings.tsx +++ b/src/view/screens/Storybook/Settings.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import * as Toast from '#/view/com/util/Toast' diff --git a/src/view/screens/Storybook/Shadows.tsx b/src/view/screens/Storybook/Shadows.tsx --- a/src/view/screens/Storybook/Shadows.tsx +++ b/src/view/screens/Storybook/Shadows.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useTheme} from '#/alf' diff --git a/src/view/screens/Storybook/Spacing.tsx b/src/view/screens/Storybook/Spacing.tsx --- a/src/view/screens/Storybook/Spacing.tsx +++ b/src/view/screens/Storybook/Spacing.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useTheme} from '#/alf' diff --git a/src/view/screens/Storybook/Theming.tsx b/src/view/screens/Storybook/Theming.tsx --- a/src/view/screens/Storybook/Theming.tsx +++ b/src/view/screens/Storybook/Theming.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a, useTheme} from '#/alf' diff --git a/src/view/screens/Storybook/Typography.tsx b/src/view/screens/Storybook/Typography.tsx --- a/src/view/screens/Storybook/Typography.tsx +++ b/src/view/screens/Storybook/Typography.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {View} from 'react-native' import {atoms as a} from '#/alf' diff --git a/src/view/shell/Composer.tsx b/src/view/shell/Composer.tsx --- a/src/view/shell/Composer.tsx +++ b/src/view/shell/Composer.tsx @@ -1,4 +1,4 @@ -import React, {useEffect} from 'react' +import {useEffect} from 'react' import {Animated, Easing, StyleSheet, View} from 'react-native' import {useAnimatedValue} from '#/lib/hooks/useAnimatedValue' diff --git a/src/view/shell/desktop/Feeds.tsx b/src/view/shell/desktop/Feeds.tsx --- a/src/view/shell/desktop/Feeds.tsx +++ b/src/view/shell/desktop/Feeds.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet, View} from 'react-native' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/shell/desktop/RightNav.tsx b/src/view/shell/desktop/RightNav.tsx --- a/src/view/shell/desktop/RightNav.tsx +++ b/src/view/shell/desktop/RightNav.tsx @@ -1,4 +1,3 @@ -import React from 'react' import {StyleSheet, View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' -- tangled.sh