using System; using Avalonia.Controls; using Avalonia.Interactivity; using ChronoFlow.Model; using ChronoFlow.View.Admin; namespace ChronoFlow.View { public partial class MainWindow : Window { private readonly ViewManager _viewManager; private readonly User _loggedInUser; public MainWindow(User user) { InitializeComponent(); _loggedInUser = user; Console.WriteLine($"[DEBUG] MainWindow gestartet für Benutzer: {_loggedInUser.Username} ({_loggedInUser.Role})"); _viewManager = new ViewManager(ContentArea); _viewManager.Register("ProjektErstellen", () => new ProjektErstellenView(_viewManager)); _viewManager.Register("MitarbeiterHinzufuegen", () => new MitarbeiterHinzufuegenView()); _viewManager.Register("AdminMain", () => new AdminMainView(_viewManager)); _viewManager.Register("AlleProjekte", () => new AlleProjekteView(_viewManager)); _viewManager.Register("MitarbeiterListe", () => new MitarbeiterListeView(_viewManager)); _viewManager.Register("AbgeschlosseneProjekte", () => new AbgeschlosseneProjekteView(_viewManager)); // ⏳ später: _viewManager.Register("MitarbeiterMain", () => new MitarbeiterMainView(_viewManager)); if (_loggedInUser.Role == "Admin") { _viewManager.Show("AdminMain"); } else if (_loggedInUser.Role == "Mitarbeiter") { _viewManager.Show("Zeiterfassung"); // ⏳ später: MitarbeiterMain } this.Title = $"ChronoFlow - Willkommen {_loggedInUser.Username} ({_loggedInUser.Role})"; } private void Zeiterfassung_Click(object? sender, RoutedEventArgs e) { _viewManager.Show("Zeiterfassung"); } private void MitarbeiterHinzufuegen_Click(object? sender, RoutedEventArgs e) { _viewManager.Show("MitarbeiterHinzufuegen"); } private void AdminDashboard_Click(object? sender, RoutedEventArgs e) { _viewManager.Show("AdminMain"); } public void ShowAdminDashboard() { _viewManager.Show("AdminMain"); } } }