Skip to content

Commit d17900d

Browse files
committed
refactor(2FA): use queries in UserTwoFactorSettings
1 parent f298396 commit d17900d

3 files changed

Lines changed: 23 additions & 13 deletions

File tree

src/app/(main)/admin/users/[userId]/UserTwoFactorSettings.tsx

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
11
'use client';
22
import { Column, Row, Switch, Text, Tooltip, TooltipTrigger } from '@umami/react-zen';
33
import { Badge } from '@/components/common/Badge';
4-
import { useMessages, useUpdateQuery, useTwoFactorStatusQuery } from '@/components/hooks';
5-
import { useApi } from '@/components/hooks/useApi';
6-
import { useQuery, useQueryClient } from '@tanstack/react-query';
4+
import {
5+
useMessages,
6+
useUpdateQuery,
7+
useTwoFactorStatusQuery,
8+
useUserQuery,
9+
useTwoFactorUserStatusQuery
10+
} from '@/components/hooks';
11+
import { useQueryClient } from '@tanstack/react-query';
712

813
export function UserTwoFactorSettings({ userId }: { userId: string }) {
914
const { t, labels, messages } = useMessages();
10-
const { get } = useApi();
1115
const queryClient = useQueryClient();
1216

1317
const { data: globalStatus } = useTwoFactorStatusQuery(true);
1418
const isGlobalRequired = globalStatus?.requiredReason === 'global';
1519

16-
const { data: userTfaData } = useQuery({
17-
queryKey: ['user-2fa-status', userId],
18-
queryFn: () => get(`/admin/users/${userId}/2fa`),
19-
});
20-
21-
const { data: userData } = useQuery({
22-
queryKey: ['user', userId],
23-
queryFn: () => get(`/users/${userId}`),
24-
});
20+
const { data: userTfaData } = useTwoFactorUserStatusQuery(userId);
21+
const { data: userData } = useUserQuery(userId);
2522

2623
const { mutateAsync: setUserRequired } = useUpdateQuery(`/admin/users/${userId}/2fa`);
2724

src/components/hooks/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export * from './queries/useLinkSharesQuery';
3333
export * from './queries/useLinksQuery';
3434
export * from './queries/useLoginQuery';
3535
export * from './queries/useTwoFactorStatusQuery';
36+
export * from './queries/useTwoFactorUserStatus';
3637
export * from './queries/useTwoFactorVerifyMutation';
3738
export * from './queries/usePixelQuery';
3839
export * from './queries/usePixelSharesQuery';
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { useApi } from '../useApi';
2+
3+
export function useTwoFactorUserStatusQuery(userId: string) {
4+
const { get, useQuery } = useApi();
5+
6+
return useQuery({
7+
queryKey: ['user-2fa-status', userId],
8+
queryFn: () => get(`/admin/users/${userId}/2fa`),
9+
refetchOnWindowFocus: true,
10+
refetchOnReconnect: true,
11+
});
12+
}

0 commit comments

Comments
 (0)