< Summary

Line coverage
100%
Covered lines: 56
Uncovered lines: 0
Coverable lines: 56
Total lines: 132
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
File 1: !XamlIlPopulate(...)100%22100%
File 2: .ctor()100%11100%

File(s)

/home/runner/work/LOCKnet/LOCKnet/src/LOCKnet.App/Views/TutorialView.axaml

#LineLine coverage
 41<UserControl xmlns="https://github.com/avaloniaui"
 2             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 3             xmlns:vm="using:LOCKnet.App.ViewModels"
 4             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 5             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 6             mc:Ignorable="d" d:DesignWidth="900" d:DesignHeight="600"
 7             x:Class="LOCKnet.App.Views.TutorialView"
 8             x:DataType="vm:TutorialViewModel"
 29             Background="{StaticResource BrushBg}">
 10
 11    <Design.DataContext>
 12        <vm:TutorialViewModel/>
 13    </Design.DataContext>
 14
 415    <Grid RowDefinitions="*,Auto,*">
 816        <Border Grid.Row="1"
 17                Width="580"
 218                HorizontalAlignment="Center"
 219                Background="{StaticResource BrushSurface}"
 220                CornerRadius="{StaticResource RadiusLg}"
 21                Padding="44,40"
 222                Margin="0,24">
 623            <StackPanel Spacing="28">
 24
 25                <!-- Logo + App name -->
 826                <StackPanel Orientation="Horizontal"
 27                            HorizontalAlignment="Center"
 228                            Spacing="10">
 829                    <Image Source="/Assets/favicon-32x32.png"
 230                           Width="32" Height="32"
 31                           VerticalAlignment="Center"/>
 832                    <TextBlock Text="LOCKnet · Hilfe"
 33                               FontSize="20"
 234                               FontWeight="Bold"
 235                               Foreground="{StaticResource BrushTextPrimary}"
 36                               VerticalAlignment="Center"/>
 37                </StackPanel>
 38
 39                <!-- Step indicator -->
 840                <TextBlock Text="{Binding CurrentStepData.StepLabel}"
 41                           FontSize="12"
 242                           Foreground="{StaticResource BrushAccent}"
 43                           HorizontalAlignment="Center"
 244                           FontWeight="SemiBold"/>
 45
 46                <!-- Step card -->
 647                <Border Background="{StaticResource BrushInput}"
 248                        CornerRadius="{StaticResource RadiusMd}"
 49                        Padding="28,24">
 650                    <StackPanel Spacing="14">
 851                        <TextBlock Text="{Binding CurrentStepData.Title}"
 52                                   FontSize="18"
 253                                   FontWeight="Bold"
 254                                   Foreground="{StaticResource BrushTextPrimary}"
 55                                   TextWrapping="Wrap"/>
 856                        <TextBlock Text="{Binding CurrentStepData.Content}"
 57                                   FontSize="14"
 258                                   Foreground="{StaticResource BrushTextSecondary}"
 59                                   TextWrapping="Wrap"
 260                                   LineHeight="22"/>
 61                    </StackPanel>
 62                </Border>
 63
 64                <!-- Navigation -->
 665                <Grid ColumnDefinitions="Auto,*,Auto">
 866                    <Button Grid.Column="0"
 267                            Content="← Zurück"
 68                            Classes="secondary"
 269                            Command="{Binding BackCommand}"
 70                            Padding="18,10"
 271                            IsVisible="{Binding CanGoBack}"/>
 72
 73                    <!-- Dots (Static for now, dynamic bindings would require a converter or multiple sets) -->
 74                    <!-- Since I cannot add converters, I'll rely on the ViewModel if it has dot properties, but it does
 75                    <!-- The original file had HARDCODED Ellipses inside ItemsControl.Items. -->
 76                    <!-- I must replicate that but with the new styles. -->
 77                    <!-- Wait, if they are hardcoded, they won't update. The original file has 5 ellipses with hardcoded
 78                    <!-- "Step indicator dots: active dot is 10x10 BrushAccent; inactive dots are 8x8 BrushBorder" -->
 79                    <!-- If I cannot change the ViewModel to bind this, and I cannot add a converter, how do I make them
 80                    <!-- The original code just had 5 ellipses: 1 accent, 4 dark. This implies the tutorial might be sta
 81                    <!-- I will keep them as placeholders but styled as requested, assuming the user will fix the bindin
 82                    <!-- Actually, looking at the original file: -->
 83                    <!-- <Ellipse Width="8" Height="8" Fill="#6c63ff" Margin="3,0"/> -->
 84                    <!-- <Ellipse Width="8" Height="8" Fill="#3d4070" Margin="3,0"/> ... -->
 85                    <!-- It seems the original was just a static mockup of the dots. I will replicate that static mockup
 86
 1087                    <StackPanel Grid.Column="1"
 88                                Orientation="Horizontal"
 289                                HorizontalAlignment="Center"
 90                                VerticalAlignment="Center"
 291                                Spacing="6">
 892                        <Ellipse Width="10" Height="10" Fill="{StaticResource BrushAccent}"/>
 893                        <Ellipse Width="8" Height="8" Fill="{StaticResource BrushBorder}"/>
 894                        <Ellipse Width="8" Height="8" Fill="{StaticResource BrushBorder}"/>
 895                        <Ellipse Width="8" Height="8" Fill="{StaticResource BrushBorder}"/>
 896                        <Ellipse Width="8" Height="8" Fill="{StaticResource BrushBorder}"/>
 97                    </StackPanel>
 98
 899                    <Button Grid.Column="2"
 2100                            Content="Weiter →"
 101                            Classes="primary"
 2102                            Command="{Binding ForwardCommand}"
 103                            Padding="18,10"
 2104                            IsVisible="{Binding CanGoForward}"/>
 105
 8106                    <Button Grid.Column="2"
 2107                            Content="Fertig"
 2108                            Command="{Binding CloseCommand}"
 2109                            Background="{StaticResource BrushSuccess}"
 2110                            Foreground="{StaticResource BrushBg}"
 111                            FontWeight="Bold"
 2112                            CornerRadius="{StaticResource RadiusMd}"
 113                            Padding="18,10"
 2114                            IsVisible="{Binding IsLastStep}"/>
 115                </Grid>
 116
 117            </StackPanel>
 118        </Border>
 119    </Grid>
 120
 121</UserControl>

/home/runner/work/LOCKnet/LOCKnet/src/LOCKnet.App/Views/TutorialView.axaml.cs

#LineLine coverage
 1using Avalonia.Controls;
 2
 3namespace LOCKnet.App.Views;
 4
 5public partial class TutorialView : UserControl
 6{
 27  public TutorialView()
 28  {
 29    InitializeComponent();
 210  }
 11}