Inhalt

Aktueller Ordner: duesseldorfer-schuelerinventar-xcode
⬅ Übergeordnet

MainMenuViewModel.cs

using DüsseldorferSchülerinventar.Services;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;

namespace DüsseldorferSchülerinventar.ViewModels
{
    public partial class MainMenuViewModel : ObservableObject
    {
        private readonly AuthService _authService;
        
        [ObservableProperty]
        private bool _isAdmin;

        public MainMenuViewModel(AuthService authService)
        {
            _authService = authService;
            CheckAdminStatus();
        }

        public void CheckAdminStatus()
        {
            IsAdmin = _authService.CurrentUser?.IsAdmin ?? false;
        }

        [RelayCommand]
        private async Task NavigateToQuestionnaire()
        {
            await Shell.Current.GoToAsync(nameof(QuestionnaireView));
        }

        [RelayCommand]
        private async Task NavigateToProfileList()
        {
            await Shell.Current.GoToAsync(nameof(ProfileListView));
        }

        [RelayCommand]
        private async Task NavigateToAdmin()
        {
            await Shell.Current.GoToAsync(nameof(AdminView));
        }

        [RelayCommand]
        private async Task Logout()
        {
            _authService.Logout();
            await Shell.Current.GoToAsync($"//{nameof(LoginView)}");
        }
    }
}