[Session] Add useAgent hook and replace (#3706)

* Hook it up

* Memoize getAgent method

* Use one shared reference

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
This commit is contained in:
Eric Bailey
2024-04-25 16:29:05 -05:00
committed by GitHub
parent d8c8e1e854
commit 45d354cd0c
53 changed files with 231 additions and 114 deletions
+2 -1
View File
@@ -27,7 +27,7 @@ import {
} from '@tanstack/react-query'
import {useMutedThreads} from '#/state/muted-threads'
import {getAgent} from '#/state/session'
import {useAgent} from '#/state/session'
import {STALE} from '..'
import {useModerationOpts} from '../preferences'
import {embedViewRecordToPostView, getEmbeddedPost} from '../util'
@@ -47,6 +47,7 @@ export function RQKEY() {
}
export function useNotificationFeedQuery(opts?: {enabled?: boolean}) {
const {getAgent} = useAgent()
const queryClient = useQueryClient()
const moderationOpts = useModerationOpts()
const threadMutes = useMutedThreads()
+3 -2
View File
@@ -12,7 +12,7 @@ import BroadcastChannel from '#/lib/broadcast'
import {logger} from '#/logger'
import {isNative} from '#/platform/detection'
import {useMutedThreads} from '#/state/muted-threads'
import {getAgent, useSession} from '#/state/session'
import {useAgent, useSession} from '#/state/session'
import {useModerationOpts} from '../preferences'
import {truncateAndInvalidate} from '../util'
import {RQKEY as RQKEY_NOTIFS} from './feed'
@@ -46,6 +46,7 @@ const apiContext = React.createContext<ApiContext>({
export function Provider({children}: React.PropsWithChildren<{}>) {
const {hasSession} = useSession()
const {getAgent} = useAgent()
const queryClient = useQueryClient()
const moderationOpts = useModerationOpts()
const threadMutes = useMutedThreads()
@@ -197,7 +198,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}
},
}
}, [setNumUnread, queryClient, moderationOpts, threadMutes])
}, [setNumUnread, queryClient, moderationOpts, threadMutes, getAgent])
checkUnreadRef.current = api.checkUnread
return (