import React, { useState, useEffect } from 'react'; import { Player } from '../types'; import { dbService } from '../services/DatabaseService'; interface PlayersProps { onSelectPlayer: (id: string) => void; } const Players: React.FC = ({ onSelectPlayer }) => { const [players, setPlayers] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { const loadData = async () => { setLoading(true); try { await dbService.fetchAll(); } catch (error) { console.warn('Failed to fetch fresh data:', error); // Continue with cached data } setLoading(false); }; // Subscribe to database updates const unsubDb = dbService.subscribe(() => { setPlayers(dbService.getPlayers()); }); // Load fresh data on mount loadData(); return unsubDb; }, []); return (

Bürgerverzeichnis

{loading ? (
) : (
{players.map(player => (
onSelectPlayer(player.uuid)} className="group bg-surface border border-border p-4 rounded-xl cursor-pointer hover:border-accentInfo/50 transition-all duration-200 hover:shadow-card" >
{player.username}
{player.tags.slice(0, 2).map(t => {t})}
))}
)}
); }; export default Players;