Files
gridpilot.gg/apps/website/hooks/onboarding/useGenerateAvatars.ts
2026-01-06 19:36:03 +01:00

22 lines
871 B
TypeScript

import { useMutation, UseMutationOptions } from '@tanstack/react-query';
import { useInject } from '@/lib/di/hooks/useInject';
import { ONBOARDING_SERVICE_TOKEN } from '@/lib/di/tokens';
import { ApiError } from '@/lib/api/base/ApiError';
import { AvatarGenerationViewModel } from '@/lib/view-models/AvatarGenerationViewModel';
interface GenerateAvatarsParams {
userId: string;
facePhotoData: string;
suitColor: string;
}
export function useGenerateAvatars(
options?: Omit<UseMutationOptions<AvatarGenerationViewModel, ApiError, GenerateAvatarsParams>, 'mutationFn'>
) {
const onboardingService = useInject(ONBOARDING_SERVICE_TOKEN);
return useMutation<AvatarGenerationViewModel, ApiError, GenerateAvatarsParams>({
mutationFn: (params) => onboardingService.generateAvatars(params.userId, params.facePhotoData, params.suitColor),
...options,
});
}