https://dev.kronoz.win/r/marzneshin.git
1import { queryOptions, useQuery } from "@tanstack/react-query";
2import { fetch } from "@marzneshin/utils";
3import type { UserType } from "../types";
4
5export async function fetchUser({
6 queryKey,
7}: { queryKey: [string, string] }): Promise<UserType> {
8 return fetch(`/users/${queryKey[1]}`);
9}
10
11export const UserQueryFetchKey = "users";
12
13export const userQueryOptions = ({ username }: { username: string }) => {
14 return queryOptions({
15 queryKey: [UserQueryFetchKey, username],
16 queryFn: fetchUser,
17 initialData: null,
18 });
19};
20
21export const useUserQuery = ({ username }: { username: string }) => {
22 return useQuery(userQueryOptions({ username }));
23};