diff options
author | Eric Bailey <git@esb.lol> | 2024-04-25 16:29:05 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-25 22:29:05 +0100 |
commit | 45d354cd0c76563de6d3d1146bebb750e0f6d4a0 (patch) | |
tree | 0939d1d6d91a4f812b1abeb005c6347b39692086 /src/components | |
parent | d8c8e1e854654dbcf9585d0b3bd8c87d77df2e0f (diff) | |
download | voidsky-45d354cd0c76563de6d3d1146bebb750e0f6d4a0.tar.zst |
[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>
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/ReportDialog/SubmitView.tsx | 4 | ||||
-rw-r--r-- | src/components/hooks/useRichText.ts | 5 | ||||
-rw-r--r-- | src/components/moderation/LabelsOnMeDialog.tsx | 3 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/components/ReportDialog/SubmitView.tsx b/src/components/ReportDialog/SubmitView.tsx index 892e55489..40d655aa9 100644 --- a/src/components/ReportDialog/SubmitView.tsx +++ b/src/components/ReportDialog/SubmitView.tsx @@ -6,7 +6,7 @@ import {useLingui} from '@lingui/react' import {getLabelingServiceTitle} from '#/lib/moderation' import {ReportOption} from '#/lib/moderation/useReportOptions' -import {getAgent} from '#/state/session' +import {useAgent} from '#/state/session' import {CharProgress} from '#/view/com/composer/char-progress/CharProgress' import * as Toast from '#/view/com/util/Toast' import {atoms as a, native, useTheme} from '#/alf' @@ -35,6 +35,7 @@ export function SubmitView({ }) { const t = useTheme() const {_} = useLingui() + const {getAgent} = useAgent() const [details, setDetails] = React.useState<string>('') const [submitting, setSubmitting] = React.useState<boolean>(false) const [selectedServices, setSelectedServices] = React.useState<string[]>([ @@ -90,6 +91,7 @@ export function SubmitView({ selectedServices, onSubmitComplete, setError, + getAgent, ]) return ( 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<RichTextAPI | null>(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] } diff --git a/src/components/moderation/LabelsOnMeDialog.tsx b/src/components/moderation/LabelsOnMeDialog.tsx index 5cf86644c..04b4dbd53 100644 --- a/src/components/moderation/LabelsOnMeDialog.tsx +++ b/src/components/moderation/LabelsOnMeDialog.tsx @@ -7,7 +7,7 @@ import {useLingui} from '@lingui/react' import {useLabelInfo} from '#/lib/moderation/useLabelInfo' import {makeProfileLink} from '#/lib/routes/links' import {sanitizeHandle} from '#/lib/strings/handles' -import {getAgent} from '#/state/session' +import {useAgent} from '#/state/session' import * as Toast from '#/view/com/util/Toast' import {atoms as a, useBreakpoints, useTheme} from '#/alf' import {Button, ButtonText} from '#/components/Button' @@ -173,6 +173,7 @@ function AppealForm({ const {gtMobile} = useBreakpoints() const [details, setDetails] = React.useState('') const isAccountReport = 'did' in subject + const {getAgent} = useAgent() const onSubmit = async () => { try { |