Files
gridpilot.gg/apps/website/hooks/onboarding/useGenerateAvatars.ts
2026-01-17 15:46:55 +01:00

28 lines
767 B
TypeScript

'use client';
import { useMutation, UseMutationOptions } from '@tanstack/react-query';
import { generateAvatarsAction } from '@/app/actions/generateAvatarsAction';
import { Result } from '@/lib/contracts/Result';
interface GenerateAvatarsParams {
userId: string;
facePhotoData: string;
suitColor: string;
}
interface GenerateAvatarsResult {
success: boolean;
avatarUrls?: string[];
}
export function useGenerateAvatars(
options?: Omit<UseMutationOptions<Result<GenerateAvatarsResult, string>, Error, GenerateAvatarsParams>, 'mutationFn'>
) {
return useMutation<Result<GenerateAvatarsResult, string>, Error, GenerateAvatarsParams>({
mutationFn: async (params) => {
return await generateAvatarsAction(params);
},
...options,
});
}