import { useEffect, useState, useCallback } from 'react' import { Plus, MapPin, User, Phone, Radio } from 'lucide-react' import { useStore } from '../store' import { fetchContacts } from '../api' export default function ContactList() { const contacts = useStore((s) => s.contacts) const contactsLoaded = useStore((s) => s.contactsLoaded) const setContacts = useStore((s) => s.setContacts) const setEditingContact = useStore((s) => s.setEditingContact) const setSelectedPlace = useStore((s) => s.setSelectedPlace) const [filter, setFilter] = useState('') const [authFailed, setAuthFailed] = useState(false) const loadContacts = useCallback(async () => { const data = await fetchContacts() if (data?.auth === false) { setAuthFailed(true) return } if (Array.isArray(data)) { setContacts(data) setAuthFailed(false) } }, [setContacts]) useEffect(() => { if (!contactsLoaded) loadContacts() }, [contactsLoaded, loadContacts]) if (authFailed) { return (
Sign in to use contacts