diff options
author | Samuel Newman <mozzius@protonmail.com> | 2025-08-14 01:13:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-14 01:13:51 +0300 |
commit | 7a334362aefadca29bef9de0f4459d0577d328ca (patch) | |
tree | 218ffe4b79e096c5926c38f3269a13d42f798961 /src/lib | |
parent | b2c56cbd6dfa9af576f947dd41a0d33376b184d1 (diff) | |
download | voidsky-7a334362aefadca29bef9de0f4459d0577d328ca.tar.zst |
[Perf - part 1] Hoist service config query (#8812)
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/hooks/useEmail.ts | 36 | ||||
-rw-r--r-- | src/lib/hooks/useOpenComposer.tsx | 4 | ||||
-rw-r--r-- | src/lib/hooks/useRequireEmailVerification.tsx | 2 |
3 files changed, 3 insertions, 39 deletions
diff --git a/src/lib/hooks/useEmail.ts b/src/lib/hooks/useEmail.ts deleted file mode 100644 index 1e940ec96..000000000 --- a/src/lib/hooks/useEmail.ts +++ /dev/null @@ -1,36 +0,0 @@ -import {STALE} from '#/state/queries' -import {useServiceConfigQuery} from '#/state/queries/email-verification-required' -import {useProfileQuery} from '#/state/queries/profile' -import {useSession} from '#/state/session' -import {BSKY_SERVICE} from '../constants' -import {getHostnameFromUrl} from '../strings/url-helpers' - -export function useEmail() { - const {currentAccount} = useSession() - - const {data: serviceConfig} = useServiceConfigQuery() - const {data: profile} = useProfileQuery({ - did: currentAccount?.did, - staleTime: STALE.INFINITY, - }) - - const checkEmailConfirmed = !!serviceConfig?.checkEmailConfirmed - - // Date set for 11 AM PST on the 18th of November - const isNewEnough = - !!profile?.createdAt && - Date.parse(profile.createdAt) >= Date.parse('2024-11-18T19:00:00.000Z') - - const isSelfHost = - currentAccount && - getHostnameFromUrl(currentAccount.service) !== - getHostnameFromUrl(BSKY_SERVICE) - - const needsEmailVerification = - !isSelfHost && - checkEmailConfirmed && - !currentAccount?.emailConfirmed && - isNewEnough - - return {needsEmailVerification} -} diff --git a/src/lib/hooks/useOpenComposer.tsx b/src/lib/hooks/useOpenComposer.tsx index 50c04d1e1..789fa1f87 100644 --- a/src/lib/hooks/useOpenComposer.tsx +++ b/src/lib/hooks/useOpenComposer.tsx @@ -2,10 +2,10 @@ import {useMemo} from 'react' import {Trans} from '@lingui/macro' import {useRequireEmailVerification} from '#/lib/hooks/useRequireEmailVerification' -import {useOpenComposer as rootUseOpenComposer} from '#/state/shell/composer' +import {useOpenComposer as useRootOpenComposer} from '#/state/shell/composer' export function useOpenComposer() { - const {openComposer} = rootUseOpenComposer() + const {openComposer} = useRootOpenComposer() const requireEmailVerification = useRequireEmailVerification() return useMemo(() => { return { diff --git a/src/lib/hooks/useRequireEmailVerification.tsx b/src/lib/hooks/useRequireEmailVerification.tsx index 26045847e..2e5b33978 100644 --- a/src/lib/hooks/useRequireEmailVerification.tsx +++ b/src/lib/hooks/useRequireEmailVerification.tsx @@ -1,7 +1,7 @@ import {useCallback} from 'react' import {Keyboard} from 'react-native' -import {useEmail} from '#/lib/hooks/useEmail' +import {useEmail} from '#/state/email-verification' import {useRequireAuth, useSession} from '#/state/session' import {useCloseAllActiveElements} from '#/state/util' import { |