CI / build-and-test (push) Canceled after 0s
- Mitarbeit: Tagesflagge (👑 Spitzentag / 😴 Schlaftag / ⚡ Schlechter Tag) je Schüler und Sitzung. Primär im Sitzplatz-Dialog (⇧1/2/3, ⇧X) mit Badge auf der Sitzplatz-Kachel; Fallback in der Schnelleingabe für Lerngruppen ohne Sitzplan. - Noten: neuer Dialog "Überblick" in der Notenübersicht zeigt Klausuren, Mitarbeit- und sonstige Noten eines Schülers samt berechneter Zeugnisnote. Zielnoten-Rechner (ReportGradeTargetCalculator) beantwortet "was brauche ich noch für Note X", ein Was-wäre-wenn-Rechner simuliert eine zusätzliche Klausurnote. Bewerter-/Schülermodus per Umschalter im selben Fenster — Bewertermodus zeigt zusätzlich Kursdurchschnitt je Klausur und erlaubt das Bearbeiten von Mitarbeit-/Sonstige-Noten. Klausurverlauf als Balken-Sparkline wie die bestehende Notenentwicklung. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
67 lines
3.5 KiB
XML
67 lines
3.5 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">
|
|
<StackPanel Orientation="Horizontal" Spacing="6">
|
|
<TextBlock Text="{Binding StudentName}" FontSize="22" FontWeight="SemiBold"
|
|
Opacity="{Binding CurrentStudentContentOpacity}"/>
|
|
<TextBlock Text="{Binding CurrentStudentDayHighlightSymbol}" FontSize="20"
|
|
VerticalAlignment="Center" ToolTip.Tip="{Binding CurrentStudentDayHighlightLabel}"/>
|
|
</StackPanel>
|
|
<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>
|