From 93776a582fd0de186d7c32e532e1eb7136aa786e Mon Sep 17 00:00:00 2001 From: Matheus Albino Brunhara Date: Sat, 3 Sep 2022 21:57:00 -0300 Subject: [PATCH] =?UTF-8?q?Busca=20por=20itiner=C3=A1rios=20consome=20dado?= =?UTF-8?q?s=20do=20backend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constants/routes/itinerariesRoutes.ts | 2 +- src/pages/BuscarItinerario.tsx | 47 ++++++++++++++++++-- src/pages/PerfilEditar.tsx | 2 - src/services/api/itineraries.ts | 16 +++---- src/services/functions/itinerariesService.ts | 14 +++--- 5 files changed, 58 insertions(+), 23 deletions(-) diff --git a/src/constants/routes/itinerariesRoutes.ts b/src/constants/routes/itinerariesRoutes.ts index 6161bcb..199e82a 100644 --- a/src/constants/routes/itinerariesRoutes.ts +++ b/src/constants/routes/itinerariesRoutes.ts @@ -7,7 +7,7 @@ const transportsRoutes = { url: `${transportsRoutesDefault}` }, search: { - url: `${transportsRoutesDefault}/search` + url: `${transportsRoutesDefault}/search/inradius` }, update: { url: `${transportsRoutesDefault}` diff --git a/src/pages/BuscarItinerario.tsx b/src/pages/BuscarItinerario.tsx index 3c0cf81..9f9c103 100644 --- a/src/pages/BuscarItinerario.tsx +++ b/src/pages/BuscarItinerario.tsx @@ -15,6 +15,7 @@ import { IonPage, IonRow, IonTitle, + IonToast, IonToolbar, } from "@ionic/react"; import { @@ -40,9 +41,17 @@ import GooglePlacesAutocomplete, { } from "react-google-places-autocomplete"; import { Itinerary } from "../models/itinerary.model"; import { PageHeader } from "../components/PageHeader"; +import { closeToast } from "../services/utils"; + +import { Color } from "@ionic/core"; const BuscarItinerario: React.FC = () => { const history = useHistory(); + + const [showToast, setShowToast] = useState(false); + const [messageToast, setMessageToast] = useState(""); + const [toastColor, setToastColor] = useState("primary"); + const [addressFrom, setAddressFrom] = useState(""); const [coordinatesFrom, setCoordinatesFrom] = useState(""); const [addressTo, setAddressTo] = useState(""); @@ -107,9 +116,27 @@ const BuscarItinerario: React.FC = () => { return; } - const itinerariesList = await itinerariesService.getAllItineraries(); + await itinerariesService + .searchItineraries({ + coordinatesFrom, + coordinatesTo, + }) + .then((response) => { + // if (response.status === "error") { + // setToastColor("danger"); + // setMessageToast(response.message); + // setShowToast(true); - setItinerariesList(itinerariesList); + // return; + // } + + setItinerariesList(response); + }) + .catch((err) => { + setToastColor("danger"); + setMessageToast(err); + setShowToast(true); + }); } return ( @@ -252,7 +279,13 @@ const BuscarItinerario: React.FC = () => { Resultados {itinerariesList.map((itinerary, index) => { return ( - { history.push(`/itinerary/${itinerary.id_itinerary}`) }}> + { + history.push(`/itinerary/${itinerary.id_itinerary}`); + }} + > {itinerary.itinerary_nickname} @@ -277,6 +310,14 @@ const BuscarItinerario: React.FC = () => { ) : ( <> )} + + closeToast(setShowToast)} + message={messageToast} + duration={2500} + /> ); diff --git a/src/pages/PerfilEditar.tsx b/src/pages/PerfilEditar.tsx index 7c4ac1f..97fc249 100644 --- a/src/pages/PerfilEditar.tsx +++ b/src/pages/PerfilEditar.tsx @@ -86,8 +86,6 @@ const PerfilEditar: React.FC = () => { birth_date: userData.birth_date, bio: userData.bio, }); - - console.log(inputValues); }, [userData]); const handleUpdateUserData = () => { diff --git a/src/services/api/itineraries.ts b/src/services/api/itineraries.ts index b9149c6..da31c52 100644 --- a/src/services/api/itineraries.ts +++ b/src/services/api/itineraries.ts @@ -19,15 +19,9 @@ function updateHeader() { } } -export interface GetItinerariesRequest { - coordinatesFrom: { - lat: number, - lng: number - }, - coordinatesTo: { - lat: number, - lng: number - } +export interface Coordinates { + lat: number, + lng: number } export async function get() { @@ -37,9 +31,9 @@ export async function get() { return response.data; } -export async function search(coordinates: GetItinerariesRequest) { +export async function search(coordinatesOrigin: Coordinates, coordinatesDestination: Coordinates) { updateHeader(); - const response = await instance.get(transportsRoutes.get.url + `/${coordinates}`, { headers: header }); + const response = await instance.post(transportsRoutes.search.url, { coordinatesOrigin, coordinatesDestination }, { headers: header }); return response.data; } \ No newline at end of file diff --git a/src/services/functions/itinerariesService.ts b/src/services/functions/itinerariesService.ts index 4f265ae..3b845f4 100644 --- a/src/services/functions/itinerariesService.ts +++ b/src/services/functions/itinerariesService.ts @@ -1,17 +1,17 @@ import * as itinerariesRoutes from '../api/itineraries'; interface CoordinatesRequest { - coordinatesFrom:{ + coordinatesFrom: { lat: number, lng: number }, - coordinatesTo:{ + coordinatesTo: { lat: number, lng: number } } -export async function getAllItineraries() : Promise { +export async function getAllItineraries(): Promise { let res: any; try { @@ -24,13 +24,15 @@ export async function getAllItineraries() : Promise { } -export async function searchItineraries(request: CoordinatesRequest) : Promise { - let res +export async function searchItineraries({ coordinatesFrom, coordinatesTo }: CoordinatesRequest): Promise { + let res: any try { - let res : any = await itinerariesRoutes.search(request); + res = await itinerariesRoutes.search(coordinatesFrom, coordinatesTo); } catch (error) { // TODO } + + return res.data } export default { getAllItineraries, searchItineraries }