64 lines
2.2 KiB
C#
64 lines
2.2 KiB
C#
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");
|
|
}
|
|
}
|
|
}
|