Files
auto-trade/hooks/queries/use-user-query.ts

43 lines
1.1 KiB
TypeScript
Raw Normal View History

import { useQuery } from "@tanstack/react-query";
import { createClient } from "@/utils/supabase/client";
/**
* [ ]
*
* .
* -
* - /
*
* @example
* ```tsx
* import { useUserQuery } from '@/hooks/queries/use-user-query';
*
* function Profile() {
* const { data: user, isLoading, error } = useUserQuery();
*
* if (isLoading) return <div>Loading...</div>;
* if (error) return <div>Error: {error.message}</div>;
* if (!user) return <div>Not logged in</div>;
*
* return <div>Welcome, {user.email}</div>;
* }
* ```
*/
export function useUserQuery() {
return useQuery({
queryKey: ["user"],
queryFn: async () => {
const supabase = createClient();
const {
data: { user },
error,
} = await supabase.auth.getUser();
if (error) throw error;
return user;
},
staleTime: 5 * 60 * 1000, // 5분 - 사용자 정보는 자주 변경되지 않음
retry: 1,
});
}