import React, { useState, useEffect } from 'react' import { useAuth } from '../context/AuthContext' import api from '../utils/api' import EmailVerificationBanner from '../components/EmailVerificationBanner' function Dashboard() { const [version, setVersion] = useState(null) const [profile, setProfile] = useState(null) const [loading, setLoading] = useState(true) const { user } = useAuth() useEffect(() => { loadData() }, []) const loadData = async () => { try { const [versionData, profileData] = await Promise.all([ api.getVersion(), api.getCurrentProfile() ]) setVersion(versionData) setProfile(profileData) } catch (err) { console.error('Failed to load data:', err) } finally { setLoading(false) } } if (loading) { return (

Laden...

) } return (

Dashboard

Willkommen, {user?.name || user?.email}!

{profile && } {/* Welcome Card */}

Willkommen bei Shinkan Jinkendo

Trainer- und Vereinsplattform für Kampfsport-Trainingsplanung

{/* Status Grid */}

✅ Fertig

  • Backend-Basis
  • Datenbank-Schema
  • Auth-System
  • Login & Registrierung

🚧 In Arbeit

  • Übungsverwaltung
  • Trainingsplanung
  • Kataloge (Skills, Methods)

📋 Geplant

  • MediaWiki-Import
  • Trainingsprogramme
  • Admin-Panel
{/* System Info */} {version && (

System-Information

Version: {version.app_version} Build: {version.build_date} Umgebung: {version.environment} DB Schema: {version.db_schema_version} Dein Tier: {profile?.tier || 'free'} Rolle: {profile?.role || 'user'}
)}
) } export default Dashboard