Files
ClaudeDo/src/ClaudeDo.Ui/Views/Modals/WeeklyReportModalView.axaml
T
Mika Kuns bbd6151ba6 feat(claude-do): [A4] WeeklyReport, DailyPrep und Planning-Aktionen auf OperationStatus umstellen
WeeklyReportModalViewModel.Generate, PrepPanelViewModel.PlanDayAsync und die beiden
Planning-Aktionen (QueuePlanningSubtasksAsync, FinalizePlanningSessionAsync) laufen jetzt
durch je eine OperationStatus + OperationIndicator statt handgebauter Spinner. Die beiden
Planning-Aktionen teilen sich eine Instanz, angezeigt im Tasks-Island-Header, weil sie aus
einem sofort schliessenden Kontextmenue ausgeloest werden und es keine dauerhafte
Pro-Zeilen-Flaeche gibt, an die ein Indikator gehaengt werden koennte.
2026-08-12 09:39:42 +02:00

45 lines
2.2 KiB
XML

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:ClaudeDo.Ui.ViewModels.Modals"
xmlns:ctl="using:ClaudeDo.Ui.Views.Controls"
xmlns:loc="using:ClaudeDo.Ui.Localization"
x:Class="ClaudeDo.Ui.Views.Modals.WeeklyReportModalView"
x:DataType="vm:WeeklyReportModalViewModel"
Title="{loc:Tr modals.weeklyReport.windowTitle}"
Width="820" Height="640"
WindowDecorations="None"
ExtendClientAreaToDecorationsHint="True"
WindowStartupLocation="CenterOwner"
Background="{DynamicResource SurfaceBrush}">
<Window.KeyBindings>
<KeyBinding Gesture="Escape" Command="{Binding CloseCommand}"/>
</Window.KeyBindings>
<ctl:ModalShell Title="{loc:Tr modals.weeklyReport.title}" CloseCommand="{Binding CloseCommand}">
<DockPanel Margin="20,16">
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Spacing="8">
<TextBlock Classes="meta" Text="{loc:Tr modals.weeklyReport.from}" VerticalAlignment="Center"/>
<ctl:ThemedDatePicker SelectedDate="{Binding StartDate}"/>
<TextBlock Classes="meta" Text="{loc:Tr modals.weeklyReport.to}" VerticalAlignment="Center"/>
<ctl:ThemedDatePicker SelectedDate="{Binding EndDate}"/>
<Button Classes="btn" Content="{loc:Tr modals.weeklyReport.generate}" Command="{Binding GenerateCommand}"
IsVisible="{Binding EmptyStateVisible}"/>
<Button Classes="btn" Content="{loc:Tr modals.weeklyReport.regenerate}" Command="{Binding GenerateCommand}"
IsVisible="{Binding HasReport}"/>
<ctl:OperationIndicator DataContext="{Binding GenerateOperation}"/>
</StackPanel>
<TextBlock DockPanel.Dock="Top" Classes="meta" Margin="0,8,0,0"
Text="{Binding StatusMessage}"/>
<TextBlock DockPanel.Dock="Top" Classes="meta" Margin="0,16"
Text="{loc:Tr modals.weeklyReport.emptyStateHint}"
IsVisible="{Binding EmptyStateVisible}"/>
<ScrollViewer IsVisible="{Binding HasReport}">
<ctl:MarkdownView Markdown="{Binding ReportMarkdown}"/>
</ScrollViewer>
</DockPanel>
</ctl:ModalShell>
</Window>