import { useEffect, useRef, useState } from 'react'; import { api } from '../api.js'; import useLiveData from '../useLiveData.js'; // Freunde: Grundlage fürs Teilen von Listen und Kanban-Projekten und für fremde Punkte auf der Reise-Karte export default function Freunde() { const { data, error, busy, run } = useLiveData('/api/freunde', { refresh: 30 }); const [q, setQ] = useState(''); const [results, setResults] = useState([]); const timer = useRef(null); useEffect(() => { clearTimeout(timer.current); if (q.trim().length < 2) { setResults([]); return undefined; } timer.current = setTimeout(() => { api('GET', `/api/freunde/suche?q=${encodeURIComponent(q.trim())}`).then(setResults).catch(() => setResults([])); }, 250); return () => clearTimeout(timer.current); }, [q, data]); const act = (method, person) => run(method, `/api/freunde/${person.id}`); const label = { freund: '✓ Freund', angefragt: 'Angefragt', eingeladen: 'Hat dich angefragt' }; return ( <>
Mit Freunden teilst du Vorratslisten und Kanban-Projekte und siehst ihre Reise-Punkte. Eine Freundschaft gilt erst, wenn beide zugestimmt haben.
{error}
}Kein Konto gefunden.
}Noch keine Freunde. Oben suchen und anfragen.
}