build: Tạo các tệp đầu ra debug ban đầu cho dự án AppClientBase trên iOS và Mac Catalyst.

This commit is contained in:
Ho Ngoc Hai
2026-01-15 23:45:09 +07:00
parent 28c9dd85d0
commit 2f7d695773
61 changed files with 3627 additions and 946 deletions

View File

@@ -0,0 +1,84 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using AppClientBase.Services;
namespace AppClientBase.ViewModels;
/// <summary>
/// EN: Main page ViewModel.
/// VI: ViewModel của trang chính.
/// </summary>
public partial class MainViewModel : BaseViewModel
{
private readonly ISettingsService _settingsService;
/// <summary>
/// EN: Welcome message displayed on the main page.
/// VI: Thông điệp chào mừng hiển thị trên trang chính.
/// </summary>
[ObservableProperty]
private string _welcomeMessage = "Welcome to AppClientBase!";
/// <summary>
/// EN: Click counter for demonstration.
/// VI: Bộ đếm click để minh họa.
/// </summary>
[ObservableProperty]
private int _clickCount;
/// <summary>
/// EN: Button text that updates with click count.
/// VI: Text nút cập nhật theo số lần click.
/// </summary>
[ObservableProperty]
private string _buttonText = "Click me";
/// <summary>
/// EN: Constructor with required services.
/// VI: Constructor với các services cần thiết.
/// </summary>
public MainViewModel(
INavigationService navigationService,
ISettingsService settingsService)
: base(navigationService)
{
_settingsService = settingsService;
Title = "Home";
// Defer loading settings to avoid startup crash
// ClickCount will be loaded on first interaction
}
/// <summary>
/// EN: Increment click counter command.
/// VI: Command tăng bộ đếm click.
/// </summary>
[RelayCommand]
private void IncrementCounter()
{
ClickCount++;
try
{
_settingsService.Set("ClickCount", ClickCount);
}
catch
{
// Ignore settings errors
}
UpdateButtonText();
}
/// <summary>
/// EN: Update button text based on click count.
/// VI: Cập nhật text nút dựa trên số lần click.
/// </summary>
private void UpdateButtonText()
{
ButtonText = ClickCount switch
{
0 => "Click me",
1 => "Clicked 1 time",
_ => $"Clicked {ClickCount} times"
};
}
}