Files
LehrerApp/LehrerApp.Desktop/Views/Groups/ParticipationQuickInputDialog.axaml
adminandClaude Sonnet 5 a0f44f1b25 feat: Abwesenheits-Hinweise, Fehlquote bei Zeugnisnoten, Gruppen-Dokumentation
- Schnellbewerten-Dialog: abwesende Schüler werden gedimmt und mit ihrem
  Anwesenheitsstatus statt der Aspektbeschriftung angezeigt, damit keine
  Mitarbeitsnote für nicht anwesende Schüler vergeben wird.
- Zeugnisnoten-Dialog: zeigt je Schüler die Fehlquote im gewählten
  Zeitraum, ab 50 % hervorgehoben (informativ, keine automatische
  Notenänderung).
- Gruppen-Tab "Dokumentation" (bisher Platzhalter) implementiert: listet
  alle Dokumentationseinträge der Gruppen-Schüler, mit Schüler-Filter und
  optionalem "Nur dieser Unterricht"-Schalter. Einträge aus anderen
  Lerngruppen werden standardmäßig mitangezeigt, aber gedimmt. Der
  Dokumentationsdialog bekommt dafür einen optionalen Schüler-Picker.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-18 19:45:01 +02:00

63 lines
3.2 KiB
XML

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:LehrerApp.Desktop.ViewModels.Groups"
x:Class="LehrerApp.Desktop.Views.Groups.ParticipationQuickInputDialog"
x:DataType="vm:QuickInputViewModel"
Title="Schnelleingabe Mitarbeit"
Width="420" SizeToContent="Height"
CanResize="False" WindowStartupLocation="CenterOwner">
<Grid RowDefinitions="Auto,*,Auto" Margin="24">
<!-- Schülername + Fortschritt -->
<Grid Grid.Row="0" ColumnDefinitions="*,Auto" Margin="0,0,0,16">
<StackPanel Grid.Column="0">
<TextBlock Text="{Binding StudentName}" FontSize="22" FontWeight="SemiBold"
Opacity="{Binding CurrentStudentContentOpacity}"/>
<TextBlock Text="{Binding CurrentAspectLabel}" FontSize="13" Opacity="0.5"
IsVisible="{Binding !CurrentStudentIsAbsent}"/>
<TextBlock Text="{Binding CurrentStudentAttendanceLabel, StringFormat='⚠ Abwesend — {0}'}"
FontSize="13" Foreground="#D96C00" FontWeight="SemiBold"
IsVisible="{Binding CurrentStudentIsAbsent}"/>
</StackPanel>
<TextBlock Grid.Column="1" Text="{Binding ProgressText}"
VerticalAlignment="Top" FontSize="13" Opacity="0.4"/>
</Grid>
<!-- Aspektliste -->
<ItemsControl Grid.Row="1" ItemsSource="{Binding AspectRows}"
Opacity="{Binding CurrentStudentContentOpacity}">
<ItemsControl.ItemTemplate>
<DataTemplate x:DataType="vm:QuickAspectRow">
<Grid ColumnDefinitions="4,8,*,44" Margin="0,3">
<!-- Aktiv-Balken links -->
<Border Grid.Column="0" CornerRadius="2"
Background="{DynamicResource SystemAccentColor}"
IsVisible="{Binding IsActive}"/>
<!-- Index-Badge -->
<TextBlock Grid.Column="1" Text="{Binding Index, StringFormat='[{0}]'}"
FontFamily="Monospace" FontSize="11" Opacity="0.4"
VerticalAlignment="Center" Margin="0,0,6,0"/>
<!-- Aspektname: bold wenn aktiv, gedimmt wenn nicht -->
<TextBlock Grid.Column="2" Text="{Binding Label}" FontWeight="SemiBold"
IsVisible="{Binding IsActive}" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding Label}" Opacity="0.55"
IsVisible="{Binding IsActive, Converter={x:Static BoolConverters.Not}}"
VerticalAlignment="Center"/>
<!-- Aktueller Wert -->
<TextBlock Grid.Column="3" Text="{Binding DisplayLabel}"
FontFamily="Monospace" FontSize="16" FontWeight="Bold"
TextAlignment="Right" VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<!-- Tastenkürzel-Legende + Schließen-Button -->
<StackPanel Grid.Row="2" Margin="0,16,0,0" Spacing="6">
<TextBlock Opacity="0.35" FontSize="11" TextWrapping="Wrap" Text="{Binding HotkeyLegend}"/>
<Button Content="Schließen" HorizontalAlignment="Stretch" Click="OnClose"/>
</StackPanel>
</Grid>
</Window>