Files
LehrerApp/LehrerApp.Desktop/Views/Groups/RandomStudentPickerWindow.axaml
T
2026-09-29 22:17:49 +02:00

86 lines
4.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"
xmlns:lottie="clr-namespace:Avalonia.Labs.Lottie;assembly=Avalonia.Labs.Lottie"
x:Class="LehrerApp.Desktop.Views.Groups.RandomStudentPickerWindow"
x:DataType="vm:RandomStudentPickerViewModel"
Title="Schüler ziehen"
Width="430" MinHeight="430"
SizeToContent="Height"
CanResize="False"
WindowStartupLocation="CenterScreen">
<Grid RowDefinitions="Auto,*,Auto,Auto" Margin="24">
<Grid Grid.Row="0" ColumnDefinitions="*,Auto" Margin="0,0,0,18">
<StackPanel Spacing="3">
<TextBlock Text="Schüler ziehen" Classes="dialogtitle"/>
<TextBlock Text="Eigenständiges Fenster für die Bildschirmfreigabe"
FontSize="12" Opacity="0.55"/>
</StackPanel>
<Button Grid.Column="1" x:Name="ResetButton" Content="↺" Command="{Binding ResetCommand}"
ToolTip.Tip="Ziehung zurücksetzen" FontSize="18"
Width="38" Height="38"/>
</Grid>
<Grid Grid.Row="1" MinHeight="230">
<Border x:Name="RevealCard"
MinHeight="190" Padding="24"
Background="{DynamicResource AppAccentSoftBackgroundBrush}"
BorderBrush="{DynamicResource AppFilterActiveBorderBrush}"
BorderThickness="1" CornerRadius="18">
<Border.Transitions>
<Transitions>
<DoubleTransition Property="Opacity" Duration="0:0:0.18"/>
</Transitions>
</Border.Transitions>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="12">
<TextBlock Text="◆" HorizontalAlignment="Center" FontSize="20"
Foreground="{DynamicResource AppAccentOnSoftBrush}"/>
<TextBlock Text="{Binding SelectedStudentName}"
HorizontalAlignment="Center" TextAlignment="Center" TextWrapping="Wrap"
FontSize="34" FontWeight="SemiBold"
Foreground="{DynamicResource AppFilterActiveForegroundBrush}"/>
<TextBlock Text="{Binding StatusText}" HorizontalAlignment="Center"
TextAlignment="Center" TextWrapping="Wrap" FontSize="12" Opacity="0.7"/>
</StackPanel>
</Border>
<lottie:Lottie x:Name="WheelAnimation"
Path="/Assets/Animations/LotterySpinWheel.json"
RepeatCount="-1" AutoPlay="False"
Width="220" Height="220" HorizontalAlignment="Center"
VerticalAlignment="Center" IsVisible="False"/>
</Grid>
<Button Grid.Row="2" Content="🎲 Ziehen" x:Name="DrawButton"
IsEnabled="{Binding CanDraw}" Click="OnDraw"
HorizontalAlignment="Stretch" HorizontalContentAlignment="Center"
FontSize="18" FontWeight="SemiBold" Height="54" Margin="0,16,0,12"/>
<Expander Grid.Row="3" x:Name="OptionsExpander" Header="Optionen" IsExpanded="False">
<StackPanel Spacing="10" Margin="0,10,0,0">
<TextBlock Text="Lerngruppe" FontSize="12" Opacity="0.7"/>
<ComboBox ItemsSource="{Binding Groups}" SelectedItem="{Binding SelectedGroup}"
HorizontalAlignment="Stretch">
<ComboBox.ItemTemplate>
<DataTemplate x:DataType="vm:StudentDrawGroup">
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Text="Auswahlart" FontSize="12" Opacity="0.7" Margin="0,4,0,0"/>
<ComboBox ItemsSource="{Binding SelectionModeOptions}"
SelectedItem="{Binding SelectionModeName}"
HorizontalAlignment="Stretch"/>
<CheckBox Content="Mündliche Mitarbeit berücksichtigen"
IsChecked="{Binding ConsiderParticipation}"
IsEnabled="{Binding IsIntelligent}" Margin="0,4,0,0"/>
<TextBlock Text="Wenig aktive oder bislang schwächere Schüler werden wahrscheinlicher gezogen; direkte Wiederholungen werden vermieden."
IsVisible="{Binding IsIntelligent}" TextWrapping="Wrap"
FontSize="11" Opacity="0.55"/>
</StackPanel>
</Expander>
</Grid>
</Window>