import React from "react"; import {useEffect, useState} from "react"; import api from "../api.js"; export default function AccountsModule() { const [accounts, setAccounts] = useState([]) const [loading, setLoading] = useState(false) const [serviceDays, setServiceDays] = useState([]) const [loadingDays, setLoadingDays] = useState(false) const [activeAccount, setActiveAccount] = useState([]) const [accountStatus, setAccountStatus] = useState([]) const fetchServiceDays = async (account) => { setLoadingDays(true); try { const response = await api.get(`days/${account}/`); if (response.status === 200) { setServiceDays(response.data );} } catch (error) { alert(error); } finally { setLoadingDays(false); } }; const handleToggle = (account) => { if (activeAccount === account) { setServiceDays([]) setActiveAccount([]) } else { setServiceDays([]) setActiveAccount(account) fetchServiceDays(account) } } useEffect(() => { const fetchAccounts = async () => { setLoading(true); try { const response = await api.get('/accounts/'); if (response.status === 200) { const sortedAccounts = response.data.sort((a, b) => a.full_name.localeCompare(b.full_name)); setAccounts(sortedAccounts); } } catch (error) { alert(error); } finally { setLoading(false); } }; const fetchAccountStatus = async () => { setLoading(true); try { const response = await api.get('/accounts/status/'); if (response.status === 200) { setAccountStatus(response.data); } } catch (error) { alert(error); } finally { setLoading(false); } }; fetchAccounts(); fetchAccountStatus(); }, []); const activeAccounts = accounts.filter(account => { const status = accountStatus.find(status => status.short_name === account.short_name); return status && status.is_active; }); const inactiveAccounts = accounts.filter(account => { const status = accountStatus.find(status => status.short_name === account.short_name); return status?!status.is_active: false; }); return (
{loc.street_address}, {loc.city}, {loc.state} {loc.zip_code}
{loadingDays ?Loading service days...
: serviceDays.map(schedule => (Monday
: null} {schedule.tues_serv === true ?Tuesday
: null} {schedule.wed_serv === true ?Wednesday
: null} {schedule.thurs_serv === true ?Thursday
: null} {schedule.fri_serv === true ?Friday
: null} {schedule.sat_serv === true ?Saturday
: null} {schedule.sun_serv === true ?Sunday
: null} {schedule.weekend_serv === true ?Friday with weekend option
: null} {schedule.exception_serv === true ?Schedule exceptions exist - see scope of work
: null}{loc.street_address}, {loc.city}, {loc.state} {loc.zip_code}
{loadingDays ?Loading service days...
: serviceDays.map(schedule => (Monday
: null} {schedule.tues_serv === true ?Tuesday
: null} {schedule.wed_serv === true ?Wednesday
: null} {schedule.thurs_serv === true ?Thursday
: null} {schedule.fri_serv === true ?Friday
: null} {schedule.sat_serv === true ?Saturday
: null} {schedule.sun_serv === true ?Sunday
: null} {schedule.weekend_serv === true ?Friday with weekend option
: null} {schedule.exception_serv === true ?Schedule exceptions exist - see scope of work
: null}