60 lines
1.4 KiB
C#
60 lines
1.4 KiB
C#
using System.Threading.Tasks;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
|
|
namespace TournamentOrganizer.ViewModels;
|
|
|
|
public partial class MainViewModel : ViewModelBase
|
|
{
|
|
[ObservableProperty]
|
|
private ViewModelBase _currentView;
|
|
|
|
[ObservableProperty]
|
|
private string _title = "Tournament Organizer";
|
|
|
|
public MainViewModel()
|
|
{
|
|
CurrentView = new HomeViewModel();
|
|
}
|
|
|
|
[RelayCommand]
|
|
private void NavigateToHome()
|
|
{
|
|
CurrentView = new HomeViewModel();
|
|
Title = "Tournament Organizer";
|
|
}
|
|
|
|
[RelayCommand]
|
|
private async Task NavigateToTeams()
|
|
{
|
|
var teamsVm = new TeamsViewModel();
|
|
CurrentView = teamsVm;
|
|
Title = "Teams Management";
|
|
await teamsVm.LoadTeams();
|
|
}
|
|
|
|
[RelayCommand]
|
|
private async Task NavigateToGames()
|
|
{
|
|
var gamesVm = new GamesViewModel();
|
|
CurrentView = gamesVm;
|
|
Title = "Games Management";
|
|
await gamesVm.LoadGames();
|
|
}
|
|
|
|
[RelayCommand]
|
|
private async Task NavigateToEvents()
|
|
{
|
|
var eventsVm = new EventsViewModel();
|
|
CurrentView = eventsVm;
|
|
Title = "Events Management";
|
|
await eventsVm.LoadEvents();
|
|
}
|
|
}
|
|
|
|
public partial class HomeViewModel : ViewModelBase
|
|
{
|
|
[ObservableProperty]
|
|
private string _welcomeMessage = "Welcome to Tournament Organizer!";
|
|
}
|