Files
Wino-Mail/Wino.Mail.ViewModels/IdlePageViewModel.cs
T

51 lines
1.7 KiB
C#
Raw Normal View History

using System;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Wino.Core.Domain;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.Navigation;
2024-11-10 23:28:25 +01:00
using Wino.Core.ViewModels;
2024-04-18 01:44:37 +02:00
2025-02-16 11:54:23 +01:00
namespace Wino.Mail.ViewModels;
public partial class IdlePageViewModel : CoreBaseViewModel
2024-04-18 01:44:37 +02:00
{
public const string MailEmptyStateParameter = "mail-empty-state";
private readonly INavigationService _navigationService;
[ObservableProperty]
public partial bool IsMailEmptyStateVisible { get; set; }
public string MailEmptyStateTitle => Translator.MailEmptyState_Title;
public string MailEmptyStateMessage => Translator.MailEmptyState_Message;
public string AddAccountText => Translator.MailEmptyState_AddAccount;
public string ManageAccountsText => Translator.MailEmptyState_ManageAccounts;
public IdlePageViewModel(IMailDialogService dialogService, INavigationService navigationService)
{
_navigationService = navigationService;
}
public override void OnNavigatedTo(NavigationMode mode, object parameters)
{
base.OnNavigatedTo(mode, parameters);
IsMailEmptyStateVisible = string.Equals(parameters as string, MailEmptyStateParameter, StringComparison.Ordinal);
}
[RelayCommand]
private void AddAccount()
=> _navigationService.Navigate(
WinoPage.SettingsPage,
ProviderSelectionNavigationContext.CreateForSettingsAddAccount(),
NavigationReferenceFrame.ShellFrame);
[RelayCommand]
private void ManageAccounts()
=> _navigationService.Navigate(
WinoPage.SettingsPage,
WinoPage.ManageAccountsPage,
NavigationReferenceFrame.ShellFrame);
2024-04-18 01:44:37 +02:00
}