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>
65 lines
3.2 KiB
XML
65 lines
3.2 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
x:Class="TodoApp.NewTodoPage"
|
|
Title="New Task"
|
|
BackgroundColor="{AppThemeBinding Light={StaticResource PageBackgroundLight}, Dark={StaticResource PageBackgroundDark}}">
|
|
|
|
<ContentPage.ToolbarItems>
|
|
<ToolbarItem IconImageSource="icon_save_light.svg" Clicked="OnSaveClicked" />
|
|
</ContentPage.ToolbarItems>
|
|
|
|
<Grid RowDefinitions="Auto,Auto,*"
|
|
RowSpacing="16"
|
|
Padding="20">
|
|
|
|
<!-- Title Section -->
|
|
<VerticalStackLayout Grid.Row="0" Spacing="8">
|
|
<Label Text="TITLE"
|
|
FontSize="13"
|
|
FontAttributes="Bold"
|
|
TextColor="{StaticResource PrimaryColor}" />
|
|
|
|
<Border BackgroundColor="{AppThemeBinding Light={StaticResource CardBackgroundLight}, Dark={StaticResource CardBackgroundDark}}"
|
|
Stroke="{AppThemeBinding Light={StaticResource BorderLight}, Dark={StaticResource BorderDark}}"
|
|
StrokeThickness="1"
|
|
Padding="16,12">
|
|
<Border.StrokeShape>
|
|
<RoundRectangle CornerRadius="10" />
|
|
</Border.StrokeShape>
|
|
<Entry x:Name="TitleEntry"
|
|
Placeholder="What needs to be done?"
|
|
FontSize="18"
|
|
BackgroundColor="{AppThemeBinding Light={StaticResource InputBackgroundLight}, Dark={StaticResource InputBackgroundDark}}"
|
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}"
|
|
PlaceholderColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
|
</Border>
|
|
</VerticalStackLayout>
|
|
|
|
<!-- Notes Label -->
|
|
<Label Grid.Row="1"
|
|
Text="NOTES"
|
|
FontSize="13"
|
|
FontAttributes="Bold"
|
|
TextColor="{StaticResource PrimaryColor}" />
|
|
|
|
<!-- Notes Section -->
|
|
<Border Grid.Row="2"
|
|
BackgroundColor="{AppThemeBinding Light={StaticResource CardBackgroundLight}, Dark={StaticResource CardBackgroundDark}}"
|
|
Stroke="{AppThemeBinding Light={StaticResource BorderLight}, Dark={StaticResource BorderDark}}"
|
|
StrokeThickness="1"
|
|
Padding="16,12">
|
|
<Border.StrokeShape>
|
|
<RoundRectangle CornerRadius="10" />
|
|
</Border.StrokeShape>
|
|
<Editor x:Name="NotesEditor"
|
|
Placeholder="Add notes (optional)..."
|
|
FontSize="14"
|
|
BackgroundColor="{AppThemeBinding Light={StaticResource InputBackgroundLight}, Dark={StaticResource InputBackgroundDark}}"
|
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}"
|
|
PlaceholderColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}"
|
|
VerticalOptions="Fill" />
|
|
</Border>
|
|
</Grid>
|
|
</ContentPage>
|