From 3149f5234d3aa516c1003af39a8ec01b86dfdafc Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Sat, 13 Apr 2024 13:40:53 -0500 Subject: [PATCH] Add back deprecated updateCurrentAccount and revert usages (#3540) --- src/state/session/index.tsx | 6 ++++++ src/state/session/types.ts | 8 ++++++++ src/view/com/modals/ChangeEmail.tsx | 12 +++++++++--- src/view/com/modals/ChangeHandle.tsx | 8 +++++--- src/view/com/modals/VerifyEmail.tsx | 4 ++-- 5 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx index c1890afe3b..ef2d81f14c 100644 --- a/src/state/session/index.tsx +++ b/src/state/session/index.tsx @@ -371,6 +371,10 @@ export function Provider({children}: React.PropsWithChildren<{}>) { upsertAndPersistAccount, ]) + const updateCurrentAccount = React.useCallback(async () => { + await refreshSession() + }, [refreshSession]) + const selectAccount = React.useCallback( async (account, logContext) => { setIsSwitchingAccounts(true) @@ -504,6 +508,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) { selectAccount, refreshSession, clearCurrentAccount, + updateCurrentAccount, }), [ createAccount, @@ -515,6 +520,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) { selectAccount, refreshSession, clearCurrentAccount, + updateCurrentAccount, ], ) diff --git a/src/state/session/types.ts b/src/state/session/types.ts index 926a5e267e..30331d1df1 100644 --- a/src/state/session/types.ts +++ b/src/state/session/types.ts @@ -77,4 +77,12 @@ export type SessionApiContext = { * Refreshes the BskyAgent's session and derive a fresh `currentAccount` */ refreshSession: () => void + /** + * @deprecated Use `refreshSession` instead. + */ + updateCurrentAccount: ( + account: Partial< + Pick + >, + ) => void } diff --git a/src/view/com/modals/ChangeEmail.tsx b/src/view/com/modals/ChangeEmail.tsx index 3cdc0ec7b8..0dd687627f 100644 --- a/src/view/com/modals/ChangeEmail.tsx +++ b/src/view/com/modals/ChangeEmail.tsx @@ -27,7 +27,7 @@ export const snapPoints = ['90%'] export function Component() { const pal = usePalette('default') const {currentAccount} = useSession() - const {refreshSession} = useSessionApi() + const {updateCurrentAccount} = useSessionApi() const {_} = useLingui() const [stage, setStage] = useState(Stages.InputEmail) const [email, setEmail] = useState(currentAccount?.email || '') @@ -50,7 +50,10 @@ export function Component() { setStage(Stages.ConfirmCode) } else { await getAgent().com.atproto.server.updateEmail({email: email.trim()}) - refreshSession() + updateCurrentAccount({ + email: email.trim(), + emailConfirmed: false, + }) Toast.show(_(msg`Email updated`)) setStage(Stages.Done) } @@ -79,7 +82,10 @@ export function Component() { email: email.trim(), token: confirmationCode.trim(), }) - refreshSession() + updateCurrentAccount({ + email: email.trim(), + emailConfirmed: false, + }) Toast.show(_(msg`Email updated`)) setStage(Stages.Done) } catch (e) { diff --git a/src/view/com/modals/ChangeHandle.tsx b/src/view/com/modals/ChangeHandle.tsx index f416f09988..125da44be7 100644 --- a/src/view/com/modals/ChangeHandle.tsx +++ b/src/view/com/modals/ChangeHandle.tsx @@ -72,7 +72,7 @@ export function Inner({ const {_} = useLingui() const pal = usePalette('default') const {track} = useAnalytics() - const {refreshSession} = useSessionApi() + const {updateCurrentAccount} = useSessionApi() const {closeModal} = useModalControls() const {mutateAsync: updateHandle, isPending: isUpdateHandlePending} = useUpdateHandleMutation() @@ -115,7 +115,9 @@ export function Inner({ await updateHandle({ handle: newHandle, }) - refreshSession() + updateCurrentAccount({ + handle: newHandle, + }) closeModal() onChanged() } catch (err: any) { @@ -131,7 +133,7 @@ export function Inner({ onChanged, track, closeModal, - refreshSession, + updateCurrentAccount, updateHandle, serviceInfo, ]) diff --git a/src/view/com/modals/VerifyEmail.tsx b/src/view/com/modals/VerifyEmail.tsx index 5a24db7149..ef748eb821 100644 --- a/src/view/com/modals/VerifyEmail.tsx +++ b/src/view/com/modals/VerifyEmail.tsx @@ -36,7 +36,7 @@ enum Stages { export function Component({showReminder}: {showReminder?: boolean}) { const pal = usePalette('default') const {currentAccount} = useSession() - const {refreshSession} = useSessionApi() + const {updateCurrentAccount} = useSessionApi() const {_} = useLingui() const [stage, setStage] = useState( showReminder ? Stages.Reminder : Stages.Email, @@ -75,7 +75,7 @@ export function Component({showReminder}: {showReminder?: boolean}) { email: (currentAccount?.email || '').trim(), token: confirmationCode.trim(), }) - refreshSession() + updateCurrentAccount({emailConfirmed: true}) Toast.show(_(msg`Email verified`)) closeModal() } catch (e) {