From 45d354cd0c76563de6d3d1146bebb750e0f6d4a0 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Thu, 25 Apr 2024 16:29:05 -0500 Subject: [Session] Add `useAgent` hook and replace (#3706) * Hook it up * Memoize getAgent method * Use one shared reference --------- Co-authored-by: Dan Abramov --- src/components/hooks/useRichText.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/components/hooks/useRichText.ts') diff --git a/src/components/hooks/useRichText.ts b/src/components/hooks/useRichText.ts index e363ae5a9..4329638ea 100644 --- a/src/components/hooks/useRichText.ts +++ b/src/components/hooks/useRichText.ts @@ -1,12 +1,13 @@ import React from 'react' import {RichText as RichTextAPI} from '@atproto/api' -import {getAgent} from '#/state/session' +import {useAgent} from '#/state/session' export function useRichText(text: string): [RichTextAPI, boolean] { const [prevText, setPrevText] = React.useState(text) const [rawRT, setRawRT] = React.useState(() => new RichTextAPI({text})) const [resolvedRT, setResolvedRT] = React.useState(null) + const {getAgent} = useAgent() if (text !== prevText) { setPrevText(text) setRawRT(new RichTextAPI({text})) @@ -27,7 +28,7 @@ export function useRichText(text: string): [RichTextAPI, boolean] { return () => { ignore = true } - }, [text]) + }, [text, getAgent]) const isResolving = resolvedRT === null return [resolvedRT ?? rawRT, isResolving] } -- cgit 1.4.1