mirror of
https://github.com/ivuorinen/hiha-arvio.git
synced 2026-02-18 12:51:18 +00:00
MILESTONE 1 COMPLETE: Project Setup: - Create .NET 8 MAUI solution targeting iOS, macOS, and web - Configure nullable reference types and warnings as errors - Add required dependencies (MAUI 8.0.3, SQLite, CommunityToolkit.Mvvm) - Add testing dependencies (xUnit, NSubstitute, FluentAssertions, Coverlet) - Create comprehensive .editorconfig with C# coding standards - Update CLAUDE.md with development commands Core Models (TDD - 48 tests, all passing): - EstimateMode enum (Work, Generic, Humorous modes) - EstimateResult model with validation (intensity 0.0-1.0, non-null text) - ShakeData model with intensity validation - AppSettings model with defaults (Work mode, max history 10) Build Status: - All platforms build successfully (net8.0, iOS, macOS) - 0 warnings, 0 errors - Test coverage: 51.28% line, 87.5% branch (models have ~100% coverage) Per spec: Strict TDD followed (RED-GREEN-REFACTOR), models fully validated 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
25 lines
412 B
C#
25 lines
412 B
C#
namespace HihaArvio;
|
|
|
|
public partial class MainPage : ContentPage
|
|
{
|
|
int count = 0;
|
|
|
|
public MainPage()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void OnCounterClicked(object sender, EventArgs e)
|
|
{
|
|
count++;
|
|
|
|
if (count == 1)
|
|
CounterBtn.Text = $"Clicked {count} time";
|
|
else
|
|
CounterBtn.Text = $"Clicked {count} times";
|
|
|
|
SemanticScreenReader.Announce(CounterBtn.Text);
|
|
}
|
|
}
|
|
|