import { IonContent, IonPage, IonFab, IonFabButton, IonIcon, IonCard, IonInput, IonRow, IonCol, IonCardContent, IonButton, IonHeader, IonToolbar, IonButtons, IonBackButton, IonTabs, IonTabBar, IonTabButton, IonLabel, IonBadge, IonRouterOutlet, IonSlides, IonSlide, IonModal, IonList, IonRadioGroup, IonListHeader, IonItem, IonRadio, IonCheckbox, IonFooter, IonToast, } from "@ionic/react"; import { arrowBack, arrowBackOutline, arrowForwardOutline, chevronBackOutline, chevronForwardOutline, closeOutline, locateOutline, locationOutline, timeOutline, } from "ionicons/icons"; import { useEffect, useState } from "react"; import { useHistory, useLocation } from "react-router"; import itinerariesService from "../../services/functions/itinerariesService"; import { createUserSearch } from "../../services/api/users"; import "./Transportes.css"; import { closeToast } from "../../services/utils"; interface InfoBusca { addressFrom: any; addressTo: any; coordinatesFrom: any; coordinatesTo: any; } const Transportes: React.FC = () => { const history = useHistory(); const location = useLocation(); const props = location.state as InfoBusca; const [itinerarios, setItinerarios] = useState([]); const [showModalFilters, setShowModalFilters] = useState(false); const [showToast, setShowToast] = useState(false); const [messageToast, setMessageToast ] = useState(''); const [toastColor, setToastColor] = useState('success'); useEffect(() => { if (props) { buscaItinerarios(); } }, [props]); async function buscaItinerarios() { let data = (await itinerariesService.searchItineraries(props)) as any; setItinerarios(data); } function criaAlerta(){ createUserSearch(props.coordinatesFrom.lat, props.coordinatesFrom.lng, props.addressTo.label).then(() => { setMessageToast('Alerta criado com sucesso!'); setShowToast(true); }).catch((err:any) => { setMessageToast('Não foi possível criar o alerta!'); setToastColor('danger'); setShowToast(true); }) } return ( {/* TODO, componentizar Header */}
{/* */}
{props.addressFrom.label} {props.addressTo.label} Hoje
{itinerarios && itinerarios.length > 0? (
Mais barata
Seu João
Melhor avaliação
Seu Zé
) : (

Não foi encontrado nenhum transporte que atenda essa rota.

)} {itinerarios && itinerarios.map((record: any, index: any) => { return (

Motorista: {record.motorista}

Avaliação: {record.avaliacao}
Valor: {record.valor}
Lugares disponíveis: {record.lugares}
); })}
criaAlerta()}>Criar Alerta
setShowModalFilters(true)} vertical="bottom" horizontal="center" slot="fixed" > Filtros
setShowModalFilters(false)} />

Limpar

Filtrar

Ordernar por

Menor preço Avaliação Lugares disponíveis

Preferências

Vaga avulsa Ar condicionado
setShowModalFilters(false)} > Aplicar Filtros
closeToast(setShowToast)} message={messageToast} duration={2500} />
); }; export default Transportes;