Add TodoApp sample with reconstructed XAML

Complete TodoApp sample application with:
- App.xaml/cs: Colors and styles for light/dark themes
- TodoListPage: Task list with theme toggle switch
- NewTodoPage: Form to create new tasks
- TodoDetailPage: Edit task details with delete option
- TodoItem.cs/TodoService.cs: Data model and service
- SVG icons for save, delete, and add actions

Theme switching via toggle on main page applies app-wide.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-01 19:52:56 -05:00
parent 8a36a44341
commit 18ab0abe97
16 changed files with 613 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
using System;
using Microsoft.Maui.Controls;
namespace TodoApp;
public partial class TodoDetailPage : ContentPage
{
private readonly TodoService _service = TodoService.Instance;
private readonly TodoItem _item;
public TodoDetailPage(TodoItem item)
{
InitializeComponent();
_item = item;
TitleEntry.Text = item.Title;
NotesEditor.Text = item.Notes;
CompletedCheckBox.IsChecked = item.IsCompleted;
CreatedLabel.Text = $"Created {item.CreatedAt:MMMM d, yyyy} at {item.CreatedAt:h:mm tt}";
}
private async void OnSaveClicked(object? sender, EventArgs e)
{
_item.Title = TitleEntry.Text ?? "";
_item.Notes = NotesEditor.Text ?? "";
_item.IsCompleted = CompletedCheckBox.IsChecked;
await Navigation.PopAsync();
}
private async void OnDeleteClicked(object? sender, EventArgs e)
{
bool confirm = await DisplayAlert("Delete Task",
"Are you sure you want to delete this task?",
"Delete", "Cancel");
if (confirm)
{
_service.RemoveTodo(_item);
await Navigation.PopAsync();
}
}
}