import React from "react"; import {useEffect, useState} from "react"; import api from "../api.js"; import ProjectCreateModal from "../components/ProjectCreateModal.jsx"; import ProjectPunchlistModal from "../components/ProjectPunchlistModal.jsx"; import ProjectCloseModal from "../components/ProjectCloseModal.jsx"; export default function ProjectsModule() { const [stores, setStores] = useState([]) const [loading, setLoading] = useState(false) const [loadingProjects, setLoadingProjects] = useState(false) const [projects, setProjects] = useState([]) useEffect(() => { const fetchProjects = async () => { setLoadingProjects(true); try { const response = await api.get('projects/'); if (response.status === 200) { setProjects(response.data); } } catch (error) { alert(error); } finally { setLoadingProjects(false); } }; const fetchStores = async () => { setLoading(true); try { const response = await api.get('/stores/'); if (response.status === 200) { const sortedStores = [...response.data].sort((a, b) => a.store - b.store); setStores(sortedStores); } } catch (error) { alert(error); } finally { setLoading(false); } }; fetchStores(); fetchProjects(); }, []); return (

Upcoming

{loadingProjects ?

Loading Projects...

:
{projects.filter(proj => proj.status === 'Open').map(proj => (

{proj.punchlist === null ? : null} {proj.status === 'Open' ? : null}
))}
}

Stores

{loading ?

Loading Stores...

:
{stores.map(loc => (

{loc.street_address}, {loc.city}, {loc.state} {loc.zip_code}

Entity: {loc.entity}

Phone: {loc.phone}

Store Contact: {loc.store_contact}

Store Email: {loc.store_contact_email}

Supervisor Contact: {loc.super_contact}

Supervisor Email: {loc.super_contact_email}

))}
}
) }