import { Color } from "@ionic/core"; import { IonBackButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonContent, IonHeader, IonPage, IonTitle, IonToast, IonToolbar, } from "@ionic/react"; import { useEffect, useState } from "react"; import { useHistory } from "react-router"; import * as vansRoutes from "../services/api/vans"; import sessionsService from "../services/functions/sessionsService"; interface VanInfo { plate: string; brand: string; model: string; seats_number: string; document_status: boolean; locator_name: string; locator_address: string; locator_complement: string; locator_city: string; locator_state: string; } const MinhasVans: React.FC = () => { const history = useHistory(); const [showToast, setShowToast] = useState(false); const [toastMessage, setToastMessage] = useState(""); const [toastColor, setToastColor] = useState("primary"); const [userVans, setUserVans] = useState(); const redirectUserToLogin = () => { history.push({ pathname: "/login" }); }; useEffect(() => { const getUserVans = async () => { let userId = ""; const refreshSessionRes = await sessionsService.refreshSession(); if (refreshSessionRes.error) { redirectUserToLogin(); return; } if (refreshSessionRes.userId) { userId = refreshSessionRes.userId; } vansRoutes .getByUserId(userId) .then((response) => { if (response.status === "error") { setToastColor("danger"); setToastMessage(response.message); setShowToast(true); return; } setUserVans(response.data); }) .catch((err) => { setToastColor("danger"); setToastMessage(err); setShowToast(true); }); }; getUserVans(); }, []); return ( Minhas vans {userVans ? ( userVans.map((van, index) => { return ( {van.plate} {van.brand} - {van.model} {van.locator_name ? ( <> {van.seats_number} assentos - Locador: {van.locator_name} ) : ( <> {van.seats_number} assentos - Não é alugado )} ); }) ) : ( <> )} setShowToast(false)} message={toastMessage} duration={2500} /> ); }; export default MinhasVans;