CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 9s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 37s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 2m44s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m30s
30 lines
974 B
TypeScript
30 lines
974 B
TypeScript
import { useQueryClient } from "@tanstack/react-query";
|
|
import { useNavigate } from "@tanstack/react-router";
|
|
import { useLingui } from "@lingui/react/macro";
|
|
import { associatePlayer, createPlayer } from "@/features/players/server";
|
|
import { playerKeys } from "@/features/players/queries";
|
|
import { useServerMutation } from "@/lib/tanstack-query/hooks";
|
|
|
|
const useCreateUser = () => {
|
|
const navigate = useNavigate();
|
|
const queryClient = useQueryClient();
|
|
const { t } = useLingui();
|
|
|
|
return useServerMutation({
|
|
mutationFn: (data: { first_name: string, last_name: string } | string) =>
|
|
typeof data === 'string' ?
|
|
associatePlayer({ data })
|
|
: createPlayer({ data }),
|
|
successMessage: t`Account created successfully!`,
|
|
onSuccess: (data) => {
|
|
queryClient.setQueryData(playerKeys.auth, (old: any) => ({
|
|
...old,
|
|
user: data
|
|
}));
|
|
window.location.href = '/';
|
|
}
|
|
});
|
|
};
|
|
|
|
export default useCreateUser;
|