Create codemod for addressing ESLint warnings (#10032)

This commit is contained in:
DS Boyce
2026-03-11 15:51:31 -07:00
committed by GitHub
parent 80429ec902
commit 1db01a09a8
240 changed files with 1560 additions and 1347 deletions
+3 -3
View File
@@ -1,4 +1,4 @@
import React from 'react'
import {useEffect, useRef} from 'react'
import {Modal, View} from 'react-native'
import {useDialogStateControlContext} from '#/state/dialogs'
@@ -14,9 +14,9 @@ export function Composer({}: {winHeight: number}) {
const ref = useComposerCancelRef()
const open = !!state
const prevOpen = React.useRef(open)
const prevOpen = useRef(open)
React.useEffect(() => {
useEffect(() => {
if (open && !prevOpen.current) {
setFullyExpandedCount(c => c + 1)
} else if (!open && prevOpen.current) {
+10 -13
View File
@@ -1,4 +1,4 @@
import React from 'react'
import {useCallback, useState} from 'react'
import {StyleSheet, View} from 'react-native'
import {DismissableLayer, FocusGuards, FocusScope} from 'radix-ui/internal'
import {RemoveScrollBar} from 'react-remove-scroll-bar'
@@ -41,23 +41,20 @@ function Inner({state}: {state: ComposerOpts}) {
const t = useTheme()
const {gtMobile} = useBreakpoints()
const {reduceMotionEnabled} = useA11y()
const [pickerState, setPickerState] = React.useState<EmojiPickerState>({
const [pickerState, setPickerState] = useState<EmojiPickerState>({
isOpen: false,
pos: {top: 0, left: 0, right: 0, bottom: 0, nextFocusRef: null},
})
const onOpenPicker = React.useCallback(
(pos: EmojiPickerPosition | undefined) => {
if (!pos) return
setPickerState({
isOpen: true,
pos,
})
},
[],
)
const onOpenPicker = useCallback((pos: EmojiPickerPosition | undefined) => {
if (!pos) return
setPickerState({
isOpen: true,
pos,
})
}, [])
const onClosePicker = React.useCallback(() => {
const onClosePicker = useCallback(() => {
setPickerState(prev => ({
...prev,
isOpen: false,
+25 -28
View File
@@ -1,4 +1,4 @@
import React, {type ComponentProps, type JSX} from 'react'
import {type ComponentProps, type JSX, memo, useCallback} from 'react'
import {Linking, ScrollView, TouchableOpacity, View} from 'react-native'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {msg, plural} from '@lingui/core/macro'
@@ -130,7 +130,7 @@ let DrawerProfileCard = ({
</TouchableOpacity>
)
}
DrawerProfileCard = React.memo(DrawerProfileCard)
DrawerProfileCard = memo(DrawerProfileCard)
export {DrawerProfileCard}
let DrawerContent = ({}: React.PropsWithoutRef<{}>): React.ReactNode => {
@@ -152,7 +152,7 @@ let DrawerContent = ({}: React.PropsWithoutRef<{}>): React.ReactNode => {
// events
// =
const onPressTab = React.useCallback(
const onPressTab = useCallback(
(tab: 'Home' | 'Search' | 'Messages' | 'Notifications' | 'MyProfile') => {
const state = navigation.getState()
setDrawerOpen(false)
@@ -193,48 +193,45 @@ let DrawerContent = ({}: React.PropsWithoutRef<{}>): React.ReactNode => {
[navigation, setDrawerOpen, currentAccount],
)
const onPressHome = React.useCallback(() => onPressTab('Home'), [onPressTab])
const onPressHome = useCallback(() => onPressTab('Home'), [onPressTab])
const onPressSearch = React.useCallback(
() => onPressTab('Search'),
[onPressTab],
)
const onPressSearch = useCallback(() => onPressTab('Search'), [onPressTab])
const onPressMessages = React.useCallback(
const onPressMessages = useCallback(
() => onPressTab('Messages'),
[onPressTab],
)
const onPressNotifications = React.useCallback(
const onPressNotifications = useCallback(
() => onPressTab('Notifications'),
[onPressTab],
)
const onPressProfile = React.useCallback(() => {
const onPressProfile = useCallback(() => {
onPressTab('MyProfile')
}, [onPressTab])
const onPressMyFeeds = React.useCallback(() => {
const onPressMyFeeds = useCallback(() => {
navigation.navigate('Feeds')
setDrawerOpen(false)
}, [navigation, setDrawerOpen])
const onPressLists = React.useCallback(() => {
const onPressLists = useCallback(() => {
navigation.navigate('Lists')
setDrawerOpen(false)
}, [navigation, setDrawerOpen])
const onPressBookmarks = React.useCallback(() => {
const onPressBookmarks = useCallback(() => {
navigation.navigate('Bookmarks')
setDrawerOpen(false)
}, [navigation, setDrawerOpen])
const onPressSettings = React.useCallback(() => {
const onPressSettings = useCallback(() => {
navigation.navigate('Settings')
setDrawerOpen(false)
}, [navigation, setDrawerOpen])
const onPressFeedback = React.useCallback(() => {
const onPressFeedback = useCallback(() => {
Linking.openURL(
FEEDBACK_FORM_URL({
email: currentAccount?.email,
@@ -243,7 +240,7 @@ let DrawerContent = ({}: React.PropsWithoutRef<{}>): React.ReactNode => {
)
}, [currentAccount])
const onPressHelp = React.useCallback(() => {
const onPressHelp = useCallback(() => {
Linking.openURL(HELP_DESK_URL)
}, [])
@@ -321,7 +318,7 @@ let DrawerContent = ({}: React.PropsWithoutRef<{}>): React.ReactNode => {
</View>
)
}
DrawerContent = React.memo(DrawerContent)
DrawerContent = memo(DrawerContent)
export {DrawerContent}
let DrawerFooter = ({
@@ -375,7 +372,7 @@ let DrawerFooter = ({
</View>
)
}
DrawerFooter = React.memo(DrawerFooter)
DrawerFooter = memo(DrawerFooter)
interface MenuItemProps extends ComponentProps<typeof PressableScale> {
icon: JSX.Element
@@ -408,7 +405,7 @@ let SearchMenuItem = ({
/>
)
}
SearchMenuItem = React.memo(SearchMenuItem)
SearchMenuItem = memo(SearchMenuItem)
let HomeMenuItem = ({
isActive,
@@ -434,7 +431,7 @@ let HomeMenuItem = ({
/>
)
}
HomeMenuItem = React.memo(HomeMenuItem)
HomeMenuItem = memo(HomeMenuItem)
let ChatMenuItem = ({
isActive,
@@ -460,7 +457,7 @@ let ChatMenuItem = ({
/>
)
}
ChatMenuItem = React.memo(ChatMenuItem)
ChatMenuItem = memo(ChatMenuItem)
let NotificationsMenuItem = ({
isActive,
@@ -498,7 +495,7 @@ let NotificationsMenuItem = ({
/>
)
}
NotificationsMenuItem = React.memo(NotificationsMenuItem)
NotificationsMenuItem = memo(NotificationsMenuItem)
let FeedsMenuItem = ({
isActive,
@@ -524,7 +521,7 @@ let FeedsMenuItem = ({
/>
)
}
FeedsMenuItem = React.memo(FeedsMenuItem)
FeedsMenuItem = memo(FeedsMenuItem)
let ListsMenuItem = ({onPress}: {onPress: () => void}): React.ReactNode => {
const {_} = useLingui()
@@ -538,7 +535,7 @@ let ListsMenuItem = ({onPress}: {onPress: () => void}): React.ReactNode => {
/>
)
}
ListsMenuItem = React.memo(ListsMenuItem)
ListsMenuItem = memo(ListsMenuItem)
let BookmarksMenuItem = ({
isActive,
@@ -564,7 +561,7 @@ let BookmarksMenuItem = ({
/>
)
}
BookmarksMenuItem = React.memo(BookmarksMenuItem)
BookmarksMenuItem = memo(BookmarksMenuItem)
let ProfileMenuItem = ({
isActive,
@@ -589,7 +586,7 @@ let ProfileMenuItem = ({
/>
)
}
ProfileMenuItem = React.memo(ProfileMenuItem)
ProfileMenuItem = memo(ProfileMenuItem)
let SettingsMenuItem = ({onPress}: {onPress: () => void}): React.ReactNode => {
const {_} = useLingui()
@@ -602,7 +599,7 @@ let SettingsMenuItem = ({onPress}: {onPress: () => void}): React.ReactNode => {
/>
)
}
SettingsMenuItem = React.memo(SettingsMenuItem)
SettingsMenuItem = memo(SettingsMenuItem)
function MenuItem({icon, label, count, bold, onPress}: MenuItemProps) {
const t = useTheme()
+4 -4
View File
@@ -1,4 +1,4 @@
import React from 'react'
import {memo, useCallback} from 'react'
import {View} from 'react-native'
import {msg} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
@@ -18,12 +18,12 @@ let NavSignupCard = ({}: {}): React.ReactNode => {
const {requestSwitchToAccount} = useLoggedOutViewControls()
const closeAllActiveElements = useCloseAllActiveElements()
const showSignIn = React.useCallback(() => {
const showSignIn = useCallback(() => {
closeAllActiveElements()
requestSwitchToAccount({requestedAccount: 'none'})
}, [requestSwitchToAccount, closeAllActiveElements])
const showCreateAccount = React.useCallback(() => {
const showCreateAccount = useCallback(() => {
closeAllActiveElements()
requestSwitchToAccount({requestedAccount: 'new'})
// setShowLoggedOut(true)
@@ -71,5 +71,5 @@ let NavSignupCard = ({}: {}): React.ReactNode => {
</View>
)
}
NavSignupCard = React.memo(NavSignupCard)
NavSignupCard = memo(NavSignupCard)
export {NavSignupCard}
+4 -4
View File
@@ -1,4 +1,4 @@
import React from 'react'
import {useCallback} from 'react'
import {View} from 'react-native'
import Animated from 'react-native-reanimated'
import {msg, plural} from '@lingui/core/macro'
@@ -61,18 +61,18 @@ export function BottomBarWeb() {
const unreadMessageCount = useUnreadMessageCount()
const notificationCountStr = useUnreadNotifications()
const showSignIn = React.useCallback(() => {
const showSignIn = useCallback(() => {
closeAllActiveElements()
requestSwitchToAccount({requestedAccount: 'none'})
}, [requestSwitchToAccount, closeAllActiveElements])
const showCreateAccount = React.useCallback(() => {
const showCreateAccount = useCallback(() => {
closeAllActiveElements()
requestSwitchToAccount({requestedAccount: 'new'})
// setShowLoggedOut(true)
}, [requestSwitchToAccount, closeAllActiveElements])
const onLongPressProfile = React.useCallback(() => {
const onLongPressProfile = useCallback(() => {
accountSwitchControl.open()
}, [accountSwitchControl])