diff --git a/src/App.tsx b/src/App.tsx index 90805f3..68357e2 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -24,8 +24,6 @@ import CompletarDocumento from './pages/CadastroCompletar/CompletarDocumento'; import CompletarTelefone from './pages/CadastroCompletar/CompletarTelefone'; import Transportes from './pages/Transportes/Transportes'; import BuscarPassageiro from './pages/BuscarPassageiro/BuscarPassageiro'; -import BuscarItinerarioList from './pages/BuscarItinerarioList'; -import Debug from './pages/Debug'; /* Core CSS required for Ionic components to work properly */ import '@ionic/react/css/core.css'; diff --git a/src/pages/BuscarItinerario.tsx b/src/pages/BuscarItinerario.tsx index 9f9c103..6137a08 100644 --- a/src/pages/BuscarItinerario.tsx +++ b/src/pages/BuscarItinerario.tsx @@ -57,9 +57,11 @@ const BuscarItinerario: React.FC = () => { const [addressTo, setAddressTo] = useState(""); const [coordinatesTo, setCoordinatesTo] = useState(""); const [showModalEnd, setShowModalEnd] = useState(false); - const [addressResults, setAddressResults] = useState([]); + const [addressResults, setAddressResults] = useState([]); const [inputActive, setInputActive] = useState(""); + const [recentSearches, setRecentSearches] = useState([]); + const [itinerariesList, setItinerariesList] = useState(); // const optionsAddress = async (inputValue: any) => { @@ -116,6 +118,21 @@ const BuscarItinerario: React.FC = () => { return; } + const maxRecentSearchesLength = 0 + + if (recentSearches.length >= maxRecentSearchesLength) { + setRecentSearches(recentSearches.slice(recentSearches.length - maxRecentSearchesLength)); + } + + setRecentSearches((arr) => [ + ...arr, + { + addressFrom: addressFrom.label, + addressTo: addressTo.label, + time: Date.now(), + }, + ]); + await itinerariesService .searchItineraries({ coordinatesFrom, @@ -139,6 +156,11 @@ const BuscarItinerario: React.FC = () => { }); } + function fillSearchBars(addressFrom: string, addressTo: string) { + // setAddressFrom(addressFrom); + // setAddressTo(addressTo); + } + return ( { - Pesquisas recentes - - -
- Rua Tal Tal, 154, São Paulo - SP - - USP -
- Há 1 hora -
- -
- + + {recentSearches && recentSearches.length !== 0 ? ( + <> + Pesquisas recentes + + {recentSearches.map((search, index) => { + return ( + <> +
+ { + fillSearchBars(search.addressFrom, search.addressTo); + }} + > + +
+ {search.addressFrom} + + {search.addressTo} +
+ {search.time} +
+ +
+
+ + ); + })} +
+ + ) : ( + <> + )} + {/* { size="large" icon={chevronForwardOutline} /> - +
*/} {/*
@@ -274,7 +318,7 @@ const BuscarItinerario: React.FC = () => { */} - {itinerariesList ? ( + {itinerariesList && itinerariesList.length !== 0 ? ( <> Resultados {itinerariesList.map((itinerary, index) => { diff --git a/src/pages/BuscarItinerarioList.tsx b/src/pages/BuscarItinerarioList.tsx deleted file mode 100644 index 3135171..0000000 --- a/src/pages/BuscarItinerarioList.tsx +++ /dev/null @@ -1,190 +0,0 @@ -import { - IonBackButton, - IonButtons, - IonCard, - IonCardContent, - IonCardHeader, - IonCardSubtitle, - IonCardTitle, - IonContent, - IonGrid, - IonHeader, - IonIcon, - IonItem, - IonLabel, - IonList, - IonListHeader, - IonPage, - IonRow, - IonSelect, - IonSelectOption, - IonTitle, - IonToolbar, -} from "@ionic/react"; -import { cashOutline, personOutline, starOutline } from "ionicons/icons"; - -import { useEffect, useState } from "react"; -import { useHistory } from "react-router"; -import { PageHeader } from "../components/PageHeader"; - -interface coordinates { - lat: number; - lgn: number; -} - -interface Itinerario { - motorista: string; - valor: string; - lugares: string; - avaliacao: string; - bairros_atendidos: coordinates[]; - destinos: coordinates[]; -} - -const BuscarItinerario: React.FC = () => { - const [selectedBairro, setSelectedBairro] = useState(""); - const [selectedFaculdade, setSelectedFaculdade] = useState(""); - - const [itinerarios, setItinerarios] = useState(); - - useEffect(() => { - setItinerarios([ - { - motorista: "João", - valor: "R$ 150,00", - lugares: "2", - avaliacao: "4.5", - bairros_atendidos: [{ lat: -22.873432, lgn: -47.142274 }], - destinos: [{ lat: -22.833645, lgn: -47.048905 }], - }, - { - motorista: "Ricardo", - valor: "R$ 180,00", - lugares: "5", - avaliacao: "4.0", - bairros_atendidos: [{ lat: -22.873432, lgn: -47.142274 }], - destinos: [{ lat: -22.833645, lgn: -47.048905 }], - }, - { - motorista: "Luiz", - valor: "R$ 200,00", - lugares: "1", - avaliacao: "4.3", - bairros_atendidos: [{ lat: -22.873432, lgn: -47.142274 }], - destinos: [{ lat: -22.833645, lgn: -47.048905 }], - }, - { - motorista: "Marcos", - valor: "R$ 199,00", - lugares: "6", - avaliacao: "4.9", - bairros_atendidos: [{ lat: -22.873432, lgn: -47.142274 }], - destinos: [{ lat: -22.833645, lgn: -47.048905 }], - }, - { - motorista: "Orandi", - valor: "R$ 210,00", - lugares: "8", - avaliacao: "5.0", - bairros_atendidos: [{ lat: -22.873432, lgn: -47.142274 }], - destinos: [{ lat: -22.833645, lgn: -47.048905 }], - }, - { - motorista: "Pedro", - valor: "R$ 189,00", - lugares: "4", - avaliacao: "4.1", - bairros_atendidos: [{ lat: -22.873432, lgn: -47.142274 }], - destinos: [{ lat: -22.833645, lgn: -47.048905 }], - }, - { - motorista: "Pericles", - valor: "R$ 220,00", - lugares: "19", - avaliacao: "4.5", - bairros_atendidos: [{ lat: -23.873432, lgn: -47.142274 }], - destinos: [{ lat: -22.833645, lgn: -47.048905 }], - }, - ]); - }, []); - - return ( - - - - - {/* - */} - - Filtros de busca - - Bairro de origem - { - setSelectedBairro(e.detail.value!); - }} - > - Vila Marieta - Botafogo - Cambuí - - - - - Instituição de ensino de destino - { - setSelectedFaculdade(e.detail.value!); - }} - > - - PUC Campinas (campus 1) - - Unicamp - UNIP - - - - {/* */} - - {/* */} - {selectedBairro && selectedFaculdade ? ( - <> - {itinerarios ? ( - itinerarios.map((itinerario, index) => { - return ( - - - - {/*

Bairros atendidos: {itinerario.bairros_atendidos[0].lat},{itinerario.bairros_atendidos[0].lgn}

*/} - {/*

Instituições de ensino atendidas: {itinerario.destinos[0].lat},{itinerario.destinos[0].lgn}

*/} -
- -

Vagas disponíveis: {itinerario.lugares}

-

Motorista: {itinerario.motorista}

-

Valor: {itinerario.valor}

-
-
-
- ); - }) - ) : ( - <> - )} - - ) : ( - <> - )} - {/*
-
*/} -
-
- ); -}; - -export default BuscarItinerario;