45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using Wino.Core.Domain.Interfaces;
|
|
|
|
namespace Wino.Calendar.ViewModels;
|
|
|
|
public partial class CalendarNotificationSettingsPageViewModel : CalendarSettingsSectionViewModelBase
|
|
{
|
|
[ObservableProperty]
|
|
public partial int SelectedDefaultReminderIndex { get; set; }
|
|
|
|
[ObservableProperty]
|
|
public partial int SelectedDefaultSnoozeIndex { get; set; }
|
|
|
|
public CalendarNotificationSettingsPageViewModel(
|
|
IPreferencesService preferencesService,
|
|
ICalendarService calendarService,
|
|
IAccountService accountService)
|
|
: base(preferencesService, calendarService, accountService)
|
|
{
|
|
LoadReminderOptions();
|
|
LoadSnoozeOptions();
|
|
|
|
SelectedDefaultReminderIndex = GetSelectedReminderIndex();
|
|
SelectedDefaultSnoozeIndex = GetSelectedSnoozeIndex();
|
|
|
|
IsLoaded = true;
|
|
}
|
|
|
|
partial void OnSelectedDefaultReminderIndexChanged(int value)
|
|
{
|
|
if (!IsLoaded)
|
|
return;
|
|
|
|
SaveReminderIndex(value);
|
|
}
|
|
|
|
partial void OnSelectedDefaultSnoozeIndexChanged(int value)
|
|
{
|
|
if (!IsLoaded)
|
|
return;
|
|
|
|
SaveSnoozeIndex(value);
|
|
}
|
|
}
|