import { useState, useEffect } from 'react' import { useUser } from '../context/UserContext' import { getActivityLog } from '../api' const actionLabels = { server_start: 'Server gestartet', server_stop: 'Server gestoppt', server_restart: 'Server neugestartet', rcon_command: 'RCON Befehl', autoshutdown_config: 'Auto-Shutdown geändert', zomboid_config: 'Config geändert', factorio_world_create: 'Welt erstellt', factorio_world_delete: 'Welt gelöscht' } const actionIcons = { server_start: '▶️', server_stop: '⏹️', server_restart: '🔄', rcon_command: '💻', autoshutdown_config: '⏱️', zomboid_config: '📝', factorio_world_create: '🌍', factorio_world_delete: '🗑️' } const serverLabels = { minecraft: 'Minecraft', factorio: 'Factorio', zomboid: 'Project Zomboid', vrising: 'V Rising' } function getAvatarUrl(discordId, avatar) { if (!discordId || !avatar) return null return `https://cdn.discordapp.com/avatars/${discordId}/${avatar}.png?size=32` } function getDiscordProfileUrl(discordId) { return `https://discord.com/users/${discordId}` } export default function ActivityLog({ onClose }) { const { token } = useUser() const [logs, setLogs] = useState([]) const [loading, setLoading] = useState(true) const [error, setError] = useState('') useEffect(() => { const fetchLogs = async () => { try { const data = await getActivityLog(token, 100) setLogs(data) setError('') } catch (err) { setError('Fehler beim Laden des Activity Logs') } finally { setLoading(false) } } fetchLogs() }, [token]) const formatDate = (dateStr) => { const date = new Date(dateStr + 'Z') const now = new Date() const diff = now - date if (diff < 60000) return 'Gerade eben' if (diff < 3600000) return Math.floor(diff / 60000) + ' Min' if (diff < 86400000) return Math.floor(diff / 3600000) + ' Std' return date.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', hour: '2-digit', minute: '2-digit' }) } return (