refactor(client): use generated API client and hooks
Signed-off-by: Noa Virellia <noa@requiem.garden>
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
import { createFileRoute, useNavigate } from '@tanstack/react-router';
|
||||
import { useEffect, useState } from 'react';
|
||||
import {
|
||||
useEffect,
|
||||
useState } from 'react';
|
||||
import z from 'zod';
|
||||
import { doSetTokenByCode } from '@/lib/token';
|
||||
import { postAuthTokenMutation } from '@/client/@tanstack/react-query.gen';
|
||||
import { useMutation } from '@tanstack/react-query';
|
||||
import { setRefreshToken, setToken } from '@/lib/token';
|
||||
|
||||
const tokenCodeSchema = z.object({
|
||||
code: z.string().nonempty(),
|
||||
@@ -17,14 +21,23 @@ function RouteComponent() {
|
||||
const [status, setStatus] = useState('Loading...');
|
||||
const navigate = useNavigate();
|
||||
|
||||
useEffect(() => {
|
||||
doSetTokenByCode(code).then(() => {
|
||||
const mutation = useMutation({
|
||||
...postAuthTokenMutation(),
|
||||
onSuccess: (data) => {
|
||||
setToken(data.data?.access_token!)
|
||||
setRefreshToken(data.data?.refresh_token!)
|
||||
void navigate({ to: '/' });
|
||||
}).catch((_) => {
|
||||
},
|
||||
onError: () => {
|
||||
setStatus('Error getting token');
|
||||
});
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, []);
|
||||
}
|
||||
})
|
||||
|
||||
useEffect(() => {
|
||||
if (mutation.isIdle) {
|
||||
mutation.mutate({ body: { code } })
|
||||
}
|
||||
}, [])
|
||||
|
||||
return <div>{status}</div>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user