102 lines
4.9 KiB
XML
102 lines
4.9 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<Shell
|
|
x:Class="CORP_MAUI.AppShell"
|
|
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
xmlns:pages="clr-namespace:CORP_MAUI.Pages"
|
|
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
|
|
Shell.TabBarBackgroundColor="#0D6EFD"
|
|
Shell.TabBarForegroundColor="White"
|
|
Shell.TabBarTitleColor="Transparent"
|
|
Shell.TabBarUnselectedColor="White"
|
|
FlyoutBackgroundColor="#0D6EFD"
|
|
FlyoutWidth="220"
|
|
Shell.NavBarIsVisible="False"
|
|
x:Name="MainShell"
|
|
FlyoutBehavior="Disabled">
|
|
|
|
<!-- Flyout Header (показывается только в режиме Flyout) -->
|
|
<Shell.FlyoutHeader>
|
|
<Grid HeightRequest="100" BackgroundColor="#0A5ED7" Padding="15">
|
|
<VerticalStackLayout VerticalOptions="Center" Spacing="8">
|
|
<Image
|
|
Source="logo.png"
|
|
HeightRequest="40"
|
|
WidthRequest="40"
|
|
HorizontalOptions="Start"/>
|
|
<Label
|
|
Text="HiRo"
|
|
TextColor="White"
|
|
FontSize="14"
|
|
FontAttributes="Bold"/>
|
|
</VerticalStackLayout>
|
|
</Grid>
|
|
</Shell.FlyoutHeader>
|
|
|
|
<!-- Стили для Flyout элементов -->
|
|
<Shell.ItemTemplate>
|
|
<DataTemplate x:DataType="BaseShellItem">
|
|
<Grid ColumnDefinitions="50,*" Padding="10" HeightRequest="50">
|
|
<Image
|
|
Grid.Column="0"
|
|
Source="{Binding Icon}"
|
|
HeightRequest="24"
|
|
WidthRequest="24"
|
|
VerticalOptions="Center"
|
|
HorizontalOptions="Center">
|
|
<Image.Behaviors>
|
|
<toolkit:IconTintColorBehavior TintColor="White"/>
|
|
</Image.Behaviors>
|
|
</Image>
|
|
<Label
|
|
Grid.Column="1"
|
|
Text="{Binding Title}"
|
|
TextColor="White"
|
|
FontSize="15"
|
|
VerticalOptions="Center"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</Shell.ItemTemplate>
|
|
|
|
<!-- TabBar для узких экранов (мобильные устройства) -->
|
|
<!-- Порядок: Меню, Сообщения, Лента, Заявления, Сотрудники -->
|
|
<!-- Иконки белые на синем фоне, без подписей -->
|
|
<TabBar x:Name="MobileTabBar">
|
|
<ShellContent Icon="menu.svg" Route="MenuTab" ContentTemplate="{DataTemplate pages:MenuTabPage}" />
|
|
<ShellContent Icon="chats.svg" ContentTemplate="{DataTemplate pages:ChatsPage}" />
|
|
<ShellContent Icon="feed.svg" ContentTemplate="{DataTemplate pages:PostsPage}" />
|
|
<ShellContent Icon="statements.svg" ContentTemplate="{DataTemplate pages:RequestsPage}" />
|
|
<ShellContent Icon="employees.svg" ContentTemplate="{DataTemplate pages:EmployeesPage}" />
|
|
</TabBar>
|
|
|
|
<!-- FlyoutItems для широких экранов (скрыт по умолчанию, управляется программно) -->
|
|
<FlyoutItem x:Name="DesktopFlyoutNews" Title="Новости" Icon="feed.png" FlyoutDisplayOptions="AsSingleItem" IsVisible="False">
|
|
<ShellContent ContentTemplate="{DataTemplate pages:PostsPage}" />
|
|
</FlyoutItem>
|
|
|
|
<FlyoutItem x:Name="DesktopFlyoutEmployees" Title="Сотрудники" Icon="employees.png" FlyoutDisplayOptions="AsSingleItem" IsVisible="False">
|
|
<ShellContent ContentTemplate="{DataTemplate pages:EmployeesPage}" />
|
|
</FlyoutItem>
|
|
|
|
<FlyoutItem x:Name="DesktopFlyoutDepartments" Title="Отделы" Icon="department.png" FlyoutDisplayOptions="AsSingleItem" IsVisible="False">
|
|
<ShellContent ContentTemplate="{DataTemplate pages:DepartmentsPage}" />
|
|
</FlyoutItem>
|
|
|
|
<FlyoutItem x:Name="DesktopFlyoutChats" Title="Чаты" Icon="chats.svg" FlyoutDisplayOptions="AsSingleItem" IsVisible="False">
|
|
<ShellContent ContentTemplate="{DataTemplate pages:ChatsPage}" />
|
|
</FlyoutItem>
|
|
|
|
<FlyoutItem x:Name="DesktopFlyoutRequests" Title="Заявления" Icon="statements.png" FlyoutDisplayOptions="AsSingleItem" IsVisible="False">
|
|
<ShellContent ContentTemplate="{DataTemplate pages:RequestsPage}" />
|
|
</FlyoutItem>
|
|
|
|
<FlyoutItem x:Name="DesktopFlyoutDocuments" Title="Документы" Icon="documents.png" FlyoutDisplayOptions="AsSingleItem" IsVisible="False">
|
|
<ShellContent ContentTemplate="{DataTemplate pages:DocumentsPage}" />
|
|
</FlyoutItem>
|
|
|
|
<FlyoutItem x:Name="DesktopFlyoutProfile" Title="Профиль" Icon="profile.png" FlyoutDisplayOptions="AsSingleItem" IsVisible="False">
|
|
<ShellContent ContentTemplate="{DataTemplate pages:ProfilePage}" />
|
|
</FlyoutItem>
|
|
|
|
</Shell>
|