Reorganize project structure.

This commit is contained in:
2025-11-15 02:46:54 +00:00
parent 5d249f435e
commit ce1c089fb0
28 changed files with 138 additions and 247 deletions

View File

@@ -1,4 +1,6 @@
using System.Net.Http; using System.Net.Http;
using Marechai.App.Presentation.ViewModels;
using Marechai.App.Presentation.Views;
using Marechai.App.Services; using Marechai.App.Services;
using Microsoft.UI.Xaml; using Microsoft.UI.Xaml;
using Uno.Extensions; using Uno.Extensions;
@@ -8,6 +10,11 @@ using Uno.Extensions.Http;
using Uno.Extensions.Localization; using Uno.Extensions.Localization;
using Uno.Extensions.Navigation; using Uno.Extensions.Navigation;
using Uno.UI; using Uno.UI;
using ComputersListViewModel = Marechai.App.Presentation.ViewModels.ComputersListViewModel;
using ComputersViewModel = Marechai.App.Presentation.ViewModels.ComputersViewModel;
using MachineViewViewModel = Marechai.App.Presentation.ViewModels.MachineViewViewModel;
using MainViewModel = Marechai.App.Presentation.ViewModels.MainViewModel;
using NewsViewModel = Marechai.App.Presentation.ViewModels.NewsViewModel;
namespace Marechai.App; namespace Marechai.App;

View File

@@ -1,6 +1,6 @@
using Microsoft.Kiota.Abstractions.Serialization; using Microsoft.Kiota.Abstractions.Serialization;
namespace Marechai.App.Services; namespace Marechai.App.Helpers;
/// <summary> /// <summary>
/// Helper class for extracting values from Kiota UntypedNode objects. /// Helper class for extracting values from Kiota UntypedNode objects.

View File

@@ -44,5 +44,39 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Humanizer"/> <PackageReference Include="Humanizer"/>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Compile Update="Presentation\Views\Shell.xaml.cs">
<DependentUpon>Shell.xaml</DependentUpon>
<IsDefaultItem>true</IsDefaultItem>
</Compile>
<Compile Update="Presentation\Views\SecondPage.xaml.cs">
<DependentUpon>SecondPage.xaml</DependentUpon>
<IsDefaultItem>true</IsDefaultItem>
</Compile>
<Compile Update="Presentation\Views\ComputersPage.xaml.cs">
<DependentUpon>ComputersPage.xaml</DependentUpon>
<IsDefaultItem>true</IsDefaultItem>
</Compile>
<Compile Update="Presentation\Views\MainPage.xaml.cs">
<DependentUpon>MainPage.xaml</DependentUpon>
<IsDefaultItem>true</IsDefaultItem>
</Compile>
<Compile Update="Presentation\Views\ComputersListPage.xaml.cs">
<DependentUpon>ComputersListPage.xaml</DependentUpon>
<IsDefaultItem>true</IsDefaultItem>
</Compile>
<Compile Update="Presentation\Views\NewsPage.xaml.cs">
<DependentUpon>NewsPage.xaml</DependentUpon>
<IsDefaultItem>true</IsDefaultItem>
</Compile>
<Compile Update="Presentation\Views\MachineViewPage.xaml.cs">
<DependentUpon>MachineViewPage.xaml</DependentUpon>
<IsDefaultItem>true</IsDefaultItem>
</Compile>
<Compile Update="Presentation\Components\Sidebar.xaml.cs">
<DependentUpon>Sidebar.xaml</DependentUpon>
<IsDefaultItem>true</IsDefaultItem>
</Compile>
</ItemGroup>
</Project> </Project>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" <?xml version="1.0"
encoding="utf-8"?> encoding="utf-8"?>
<UserControl x:Class="Marechai.App.Presentation.Sidebar" <UserControl x:Class="Marechai.App.Presentation.Components.Sidebar"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

View File

@@ -1,6 +1,6 @@
using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.Components;
public sealed partial class Sidebar : UserControl public sealed partial class Sidebar : UserControl
{ {

View File

@@ -23,7 +23,7 @@
// Copyright © 2003-2026 Natalia Portillo // Copyright © 2003-2026 Natalia Portillo
*******************************************************************************/ *******************************************************************************/
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.Models;
/// <summary> /// <summary>
/// Navigation parameter for the MachineViewPage containing both the machine ID and the navigation source. /// Navigation parameter for the MachineViewPage containing both the machine ID and the navigation source.

View File

@@ -6,10 +6,12 @@ using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Input; using System.Windows.Input;
using Marechai.App.Helpers;
using Marechai.App.Presentation.Models;
using Marechai.App.Services; using Marechai.App.Services;
using Uno.Extensions.Navigation; using Uno.Extensions.Navigation;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.ViewModels;
/// <summary> /// <summary>
/// ViewModel for displaying a filtered list of computers /// ViewModel for displaying a filtered list of computers

View File

@@ -5,7 +5,7 @@ using System.Windows.Input;
using Marechai.App.Services; using Marechai.App.Services;
using Uno.Extensions.Navigation; using Uno.Extensions.Navigation;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.ViewModels;
public partial class ComputersViewModel : ObservableObject public partial class ComputersViewModel : ObservableObject
{ {

View File

@@ -30,12 +30,13 @@ using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Threading.Tasks; using System.Threading.Tasks;
using Humanizer; using Humanizer;
using Marechai.App.Helpers;
using Marechai.App.Services; using Marechai.App.Services;
using Marechai.Data; using Marechai.Data;
using Microsoft.UI.Xaml; using Microsoft.UI.Xaml;
using Uno.Extensions.Navigation; using Uno.Extensions.Navigation;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.ViewModels;
public partial class MachineViewViewModel : ObservableObject public partial class MachineViewViewModel : ObservableObject
{ {

View File

@@ -4,7 +4,7 @@ using System.Threading.Tasks;
using System.Windows.Input; using System.Windows.Input;
using Uno.Extensions.Navigation; using Uno.Extensions.Navigation;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.ViewModels;
public partial class MainViewModel : ObservableObject public partial class MainViewModel : ObservableObject
{ {

View File

@@ -2,11 +2,13 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Threading.Tasks; using System.Threading.Tasks;
using Marechai.App.Helpers;
using Marechai.App.Presentation.Models;
using Marechai.App.Services; using Marechai.App.Services;
using Marechai.Data; using Marechai.Data;
using Uno.Extensions.Navigation; using Uno.Extensions.Navigation;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.ViewModels;
/// <summary> /// <summary>
/// Wrapper for NewsDto with generated display text /// Wrapper for NewsDto with generated display text

View File

@@ -1,5 +1,3 @@
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.ViewModels;
public partial record SecondViewModel(Entity Entity) public record SecondViewModel(Entity Entity) {}
{
}

View File

@@ -1,15 +1,12 @@
using Uno.Extensions.Navigation; using Uno.Extensions.Navigation;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.ViewModels;
public class ShellViewModel public class ShellViewModel
{ {
private readonly INavigator _navigator; private readonly INavigator _navigator;
public ShellViewModel( public ShellViewModel(INavigator navigator) => _navigator = navigator;
INavigator navigator)
{ // Add code here to initialize or attach event handlers to singleton services
_navigator = navigator; }
// Add code here to initialize or attach event handlers to singleton services
}
}

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" <?xml version="1.0"
encoding="utf-8"?> encoding="utf-8"?>
<Page x:Class="Marechai.App.Presentation.ComputersListPage" <Page x:Class="Marechai.App.Presentation.Views.ComputersListPage"
x:Name="PageRoot" x:Name="PageRoot"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

View File

@@ -1,7 +1,8 @@
using Marechai.App.Presentation.ViewModels;
using Microsoft.UI.Xaml; using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.Views;
/// <summary> /// <summary>
/// Professional list view for displaying computers filtered by letter, year, or all. /// Professional list view for displaying computers filtered by letter, year, or all.

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" <?xml version="1.0"
encoding="utf-8"?> encoding="utf-8"?>
<Page x:Class="Marechai.App.Presentation.ComputersPage" <Page x:Class="Marechai.App.Presentation.Views.ComputersPage"
x:Name="PageRoot" x:Name="PageRoot"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
@@ -128,156 +128,6 @@
<Page.Resources> <Page.Resources>
<!-- Keyboard Key Button Style (revised: more padding, simplified borders to avoid clipping, darker scheme) --> <!-- Keyboard Key Button Style (revised: more padding, simplified borders to avoid clipping, darker scheme) -->
<Style x:Key="KeyboardKeyButtonStyle"
TargetType="Button">
<!-- Base appearance -->
<Setter Property="Foreground"
Value="#1A1A1A" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0"
EndPoint="0,1">
<GradientStop Color="#D6D6D6"
Offset="0" />
<GradientStop Color="#C2C2C2"
Offset="0.55" />
<GradientStop Color="#B0B0B0"
Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="BorderBrush"
Value="#7A7A7A" />
<Setter Property="BorderThickness"
Value="1" />
<Setter Property="CornerRadius"
Value="6" />
<Setter Property="Padding"
Value="14,12" /> <!-- Increased vertical padding to prevent cutoff -->
<Setter Property="Margin"
Value="4" />
<Setter Property="FontFamily"
Value="Segoe UI" />
<Setter Property="FontWeight"
Value="SemiBold" />
<Setter Property="FontSize"
Value="15" />
<Setter Property="HorizontalAlignment"
Value="Stretch" />
<Setter Property="VerticalAlignment"
Value="Stretch" />
<Setter Property="HorizontalContentAlignment"
Value="Center" />
<Setter Property="VerticalContentAlignment"
Value="Center" />
<Setter Property="MinWidth"
Value="52" />
<Setter Property="MinHeight"
Value="52" /> <!-- Larger min height avoids clipping ascenders/descenders -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<!-- Shadow (simple) -->
<Border x:Name="Shadow"
CornerRadius="6"
Background="#33000000"
Margin="2,4,4,2" />
<!-- Key surface -->
<Border x:Name="KeyBorder"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}">
<!-- Inner highlight & content -->
<Grid>
<Border CornerRadius="{TemplateBinding CornerRadius}"
BorderBrush="#60FFFFFF"
BorderThickness="1,1,0,0" />
<Border CornerRadius="{TemplateBinding CornerRadius}"
BorderBrush="#30000000"
BorderThickness="0,0,1,1" />
<ContentPresenter x:Name="ContentPresenter"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Margin="0"
TextWrapping="NoWrap" />
</Grid>
</Border>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="PointerOver">
<VisualState.Setters>
<Setter Target="KeyBorder.Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0"
EndPoint="0,1">
<GradientStop Color="#E0E0E0"
Offset="0" />
<GradientStop Color="#CFCFCF"
Offset="0.55" />
<GradientStop Color="#BDBDBD"
Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Target="KeyBorder.BorderBrush"
Value="#5F5F5F" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Pressed">
<VisualState.Setters>
<Setter Target="KeyBorder.Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0"
EndPoint="0,1">
<GradientStop Color="#9C9C9C"
Offset="0" />
<GradientStop Color="#A8A8A8"
Offset="0.55" />
<GradientStop Color="#B4B4B4"
Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Target="KeyBorder.BorderBrush"
Value="#4A4A4A" />
<Setter Target="KeyBorder.RenderTransform">
<Setter.Value>
<TranslateTransform Y="2" />
</Setter.Value>
</Setter>
<Setter Target="Shadow.Opacity"
Value="0.15" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Target="KeyBorder.Opacity"
Value="0.45" />
<Setter Target="ContentPresenter.Foreground"
Value="#777777" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused">
<VisualState.Setters>
<Setter Target="KeyBorder.BorderBrush"
Value="#3A7AFE" />
<Setter Target="KeyBorder.BorderThickness"
Value="2" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Unfocused" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- Responsive Grid Layouts --> <!-- Responsive Grid Layouts -->
<UniformGridLayout x:Key="LettersGridLayout" <UniformGridLayout x:Key="LettersGridLayout"

View File

@@ -1,8 +1,9 @@
using Marechai.App.Presentation.ViewModels;
using Microsoft.UI.Xaml; using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Navigation; using Microsoft.UI.Xaml.Navigation;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.Views;
public sealed partial class ComputersPage : Page public sealed partial class ComputersPage : Page
{ {

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" <?xml version="1.0"
encoding="utf-8"?> encoding="utf-8"?>
<Page x:Class="Marechai.App.Presentation.MachineViewPage" <Page x:Class="Marechai.App.Presentation.Views.MachineViewPage"
x:Name="PageRoot" x:Name="PageRoot"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

View File

@@ -25,11 +25,13 @@
#nullable enable #nullable enable
using Marechai.App.Presentation.Models;
using Marechai.App.Presentation.ViewModels;
using Microsoft.UI.Xaml; using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Navigation; using Microsoft.UI.Xaml.Navigation;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.Views;
public sealed partial class MachineViewPage : Page public sealed partial class MachineViewPage : Page
{ {

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" <?xml version="1.0"
encoding="utf-8"?> encoding="utf-8"?>
<Page x:Class="Marechai.App.Presentation.MainPage" <Page x:Class="Marechai.App.Presentation.Views.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Marechai.App.Presentation"
xmlns:utu="using:Uno.Toolkit.UI" xmlns:utu="using:Uno.Toolkit.UI"
xmlns:uen="using:Uno.Extensions.Navigation.UI" xmlns:uen="using:Uno.Extensions.Navigation.UI"
xmlns:components="clr-namespace:Marechai.App.Presentation.Components"
NavigationCacheMode="Required" NavigationCacheMode="Required"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
@@ -27,9 +27,9 @@
Grid.Column="0" Grid.Column="0"
Width="280" Width="280"
HorizontalAlignment="Left"> HorizontalAlignment="Left">
<local:Sidebar x:Name="SidebarPanel" <components:Sidebar x:Name="SidebarPanel"
DataContext="{Binding}" DataContext="{Binding}"
VerticalAlignment="Stretch" /> VerticalAlignment="Stretch" />
</Grid> </Grid>
<!-- Header --> <!-- Header -->

View File

@@ -1,9 +1,10 @@
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using Marechai.App.Presentation.ViewModels;
using Microsoft.UI.Xaml; using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.Views;
public sealed partial class MainPage : Page public sealed partial class MainPage : Page
{ {

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" <?xml version="1.0"
encoding="utf-8"?> encoding="utf-8"?>
<Page x:Class="Marechai.App.Presentation.NewsPage" <Page x:Class="Marechai.App.Presentation.Views.NewsPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:utu="using:Uno.Toolkit.UI" xmlns:utu="using:Uno.Toolkit.UI"

View File

@@ -1,10 +1,11 @@
using System; using System;
using Windows.Foundation; using Windows.Foundation;
using Marechai.App.Presentation.ViewModels;
using Microsoft.UI.Xaml; using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Navigation; using Microsoft.UI.Xaml.Navigation;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.Views;
public sealed partial class NewsPage : Page public sealed partial class NewsPage : Page
{ {

View File

@@ -1,27 +1,22 @@
<Page x:Class="Marechai.App.Presentation.SecondPage" <Page x:Class="Marechai.App.Presentation.Views.SecondPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Marechai.App.Presentation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:uen="using:Uno.Extensions.Navigation.UI"
xmlns:utu="using:Uno.Toolkit.UI" xmlns:utu="using:Uno.Toolkit.UI"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid utu:SafeArea.Insets="VisibleBounds"> <Grid utu:SafeArea.Insets="VisibleBounds">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition />
<RowDefinition /> </Grid.RowDefinitions>
</Grid.RowDefinitions> <utu:NavigationBar Content="Second Page" />
<utu:NavigationBar Content="Second Page" /> <StackPanel Grid.Row="1"
<StackPanel Grid.Row="1" HorizontalAlignment="Center"
HorizontalAlignment="Center" VerticalAlignment="Center">
VerticalAlignment="Center"> <TextBlock Text="{Binding Entity.Name}"
<TextBlock Text="{Binding Entity.Name}" HorizontalAlignment="Center"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalAlignment="Center" Margin="8" />
Margin="8" /> </StackPanel>
</StackPanel>
</Grid> </Grid>
</Page> </Page>

View File

@@ -1,11 +1,11 @@
using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.Views;
public sealed partial class SecondPage : Page public sealed partial class SecondPage : Page
{ {
public SecondPage() public SecondPage()
{ {
this.InitializeComponent(); InitializeComponent();
} }
} }

View File

@@ -1,36 +1,34 @@
<UserControl x:Class="Marechai.App.Presentation.Shell" <UserControl x:Class="Marechai.App.Presentation.Views.Shell"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Marechai.App.Presentation" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:utu="using:Uno.Toolkit.UI"
xmlns:utu="using:Uno.Toolkit.UI" mc:Ignorable="d"
mc:Ignorable="d" d:DesignHeight="300"
d:DesignHeight="300" d:DesignWidth="400">
d:DesignWidth="400"> <Border Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Border Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <utu:ExtendedSplashScreen x:Name="Splash"
<utu:ExtendedSplashScreen x:Name="Splash" HorizontalAlignment="Stretch"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
VerticalContentAlignment="Stretch"> <utu:ExtendedSplashScreen.LoadingContentTemplate>
<utu:ExtendedSplashScreen.LoadingContentTemplate> <DataTemplate>
<DataTemplate> <Grid>
<Grid> <Grid.RowDefinitions>
<Grid.RowDefinitions> <RowDefinition Height="2*" /> <RowDefinition />
<RowDefinition Height="2*" /> </Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<ProgressRing IsActive="True" <ProgressRing IsActive="True"
Grid.Row="1" Grid.Row="1"
VerticalAlignment="Center" VerticalAlignment="Center"
HorizontalAlignment="Center" HorizontalAlignment="Center"
Height="100" Height="100"
Width="100" /> Width="100" />
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</utu:ExtendedSplashScreen.LoadingContentTemplate> </utu:ExtendedSplashScreen.LoadingContentTemplate>
</utu:ExtendedSplashScreen> </utu:ExtendedSplashScreen>
</Border> </Border>
</UserControl> </UserControl>

View File

@@ -1,14 +1,14 @@
using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls;
using Uno.Extensions.Hosting; using Uno.Extensions.Hosting;
namespace Marechai.App.Presentation; namespace Marechai.App.Presentation.Views;
public sealed partial class Shell : UserControl, IContentControlProvider public sealed partial class Shell : UserControl, IContentControlProvider
{ {
public Shell() public Shell()
{ {
this.InitializeComponent(); InitializeComponent();
} }
public ContentControl ContentControl => Splash; public ContentControl ContentControl => Splash;
} }

View File

@@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Marechai.App.Helpers;
using Microsoft.Kiota.Abstractions.Serialization; using Microsoft.Kiota.Abstractions.Serialization;
namespace Marechai.App.Services; namespace Marechai.App.Services;