Create codemod for addressing ESLint warnings (#10032)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import React from 'react'
|
||||
import {createContext, useCallback, useContext, useMemo, useState} from 'react'
|
||||
import {type AppBskyFeedThreadgate} from '@atproto/api'
|
||||
|
||||
type StateContext = {
|
||||
@@ -10,25 +10,25 @@ type ApiContext = {
|
||||
removeHiddenReplyUri: (uri: string) => void
|
||||
}
|
||||
|
||||
const StateContext = React.createContext<StateContext>({
|
||||
const StateContext = createContext<StateContext>({
|
||||
uris: new Set(),
|
||||
recentlyUnhiddenUris: new Set(),
|
||||
})
|
||||
StateContext.displayName = 'ThreadgateHiddenRepliesStateContext'
|
||||
|
||||
const ApiContext = React.createContext<ApiContext>({
|
||||
const ApiContext = createContext<ApiContext>({
|
||||
addHiddenReplyUri: () => {},
|
||||
removeHiddenReplyUri: () => {},
|
||||
})
|
||||
ApiContext.displayName = 'ThreadgateHiddenRepliesApiContext'
|
||||
|
||||
export function Provider({children}: {children: React.ReactNode}) {
|
||||
const [uris, setHiddenReplyUris] = React.useState<Set<string>>(new Set())
|
||||
const [recentlyUnhiddenUris, setRecentlyUnhiddenUris] = React.useState<
|
||||
Set<string>
|
||||
>(new Set())
|
||||
const [uris, setHiddenReplyUris] = useState<Set<string>>(new Set())
|
||||
const [recentlyUnhiddenUris, setRecentlyUnhiddenUris] = useState<Set<string>>(
|
||||
new Set(),
|
||||
)
|
||||
|
||||
const stateCtx = React.useMemo(
|
||||
const stateCtx = useMemo(
|
||||
() => ({
|
||||
uris,
|
||||
recentlyUnhiddenUris,
|
||||
@@ -36,7 +36,7 @@ export function Provider({children}: {children: React.ReactNode}) {
|
||||
[uris, recentlyUnhiddenUris],
|
||||
)
|
||||
|
||||
const apiCtx = React.useMemo(
|
||||
const apiCtx = useMemo(
|
||||
() => ({
|
||||
addHiddenReplyUri(uri: string) {
|
||||
setHiddenReplyUris(prev => new Set(prev.add(uri)))
|
||||
@@ -64,11 +64,11 @@ export function Provider({children}: {children: React.ReactNode}) {
|
||||
}
|
||||
|
||||
export function useThreadgateHiddenReplyUris() {
|
||||
return React.useContext(StateContext)
|
||||
return useContext(StateContext)
|
||||
}
|
||||
|
||||
export function useThreadgateHiddenReplyUrisAPI() {
|
||||
return React.useContext(ApiContext)
|
||||
return useContext(ApiContext)
|
||||
}
|
||||
|
||||
export function useMergedThreadgateHiddenReplies({
|
||||
@@ -77,7 +77,7 @@ export function useMergedThreadgateHiddenReplies({
|
||||
threadgateRecord?: AppBskyFeedThreadgate.Record
|
||||
}) {
|
||||
const {uris, recentlyUnhiddenUris} = useThreadgateHiddenReplyUris()
|
||||
return React.useMemo(() => {
|
||||
return useMemo(() => {
|
||||
const set = new Set([...(threadgateRecord?.hiddenReplies || []), ...uris])
|
||||
for (const uri of recentlyUnhiddenUris) {
|
||||
set.delete(uri)
|
||||
@@ -88,7 +88,7 @@ export function useMergedThreadgateHiddenReplies({
|
||||
|
||||
export function useMergeThreadgateHiddenReplies() {
|
||||
const {uris, recentlyUnhiddenUris} = useThreadgateHiddenReplyUris()
|
||||
return React.useCallback(
|
||||
return useCallback(
|
||||
(threadgate?: AppBskyFeedThreadgate.Record) => {
|
||||
const set = new Set([...(threadgate?.hiddenReplies || []), ...uris])
|
||||
for (const uri of recentlyUnhiddenUris) {
|
||||
|
||||
Reference in New Issue
Block a user