Skip to content

Commit

Permalink
feat: add hook use ticket
Browse files Browse the repository at this point in the history
  • Loading branch information
ialexanderbrito committed Apr 8, 2022
1 parent 17362ec commit 638f701
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions src/hooks/useTicket.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import { useEffect, useState } from 'react';
import { useNavigate, useParams } from 'react-router-dom';

import { format } from 'date-fns';
import { ClienteMetadata } from 'types/IContext';

import { useUser } from 'contexts/User';

import { getHorarioSelecionado } from 'services/get/horarioMarcado';

export function useTicket() {
const navigate = useNavigate();
const params = useParams();
const { selectHours, selectDay, setSelectHours, setSelectDay } = useUser();

const [cliente, setCliente] = useState<ClienteMetadata>();
const [loading, setLoading] = useState(true);

const dayFormatted = format(selectDay, 'yyyy-MM-dd');

async function buscaCliente() {
setLoading(true);
const { data, error, status } = await getHorarioSelecionado(params?.id || '', dayFormatted, selectHours);

if (error) {
setLoading(false);
navigate('/');
switch (status) {
default:
return;
}
}

if (!data) return;
if (!data[0].j) return;
if (!data[0].j[0]) return;

if (data[0].j === null) {
setLoading(false);
return;
}

setCliente(data[0].j[0]);
setLoading(false);
}

useEffect(() => {
buscaCliente();
}, []);

useEffect(() => {
setSelectHours('');
setSelectDay(new Date());
}, [params.id]);

return {
cliente,
loading,
};
}

0 comments on commit 638f701

Please sign in to comment.