-
Notifications
You must be signed in to change notification settings - Fork 43
Expand file tree
/
Copy pathAppShell.xaml
More file actions
102 lines (97 loc) · 5.73 KB
/
Copy pathAppShell.xaml
File metadata and controls
102 lines (97 loc) · 5.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<Shell xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
xmlns:consts="clr-namespace:Sheas_Cealer_Droid.Consts"
xmlns:convs="clr-namespace:Sheas_Cealer_Droid.Convs"
xmlns:pages="clr-namespace:Sheas_Cealer_Droid.Pages"
xmlns:preses="clr-namespace:Sheas_Cealer_Droid.Preses"
x:Class="Sheas_Cealer_Droid.AppShell" x:ClassModifier="Internal" x:DataType="preses:AppPres"
FlyoutBackgroundColor="{AppThemeBinding Light={DynamicResource Gray50}, Dark={DynamicResource Gray900}}"
Loaded="AppShell_Loaded">
<Shell.Behaviors>
<toolkit:StatusBarBehavior StatusBarColor="{AppThemeBinding Light={StaticResource Primary50}, Dark={StaticResource Gray850}}"
StatusBarStyle="{AppThemeBinding Light=DarkContent, Dark=LightContent}" />
</Shell.Behaviors>
<Shell.FlyoutHeader>
<Grid MinimumHeightRequest="60">
<Grid.GestureRecognizers>
<TapGestureRecognizer Tapped="HeaderTapGestureRecognizer_Tapped" />
</Grid.GestureRecognizers>
<Border Margin="0,0,0,4">
<Grid ColumnDefinitions="*,*" ColumnSpacing="16"
Padding="8">
<Grid.Background>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="{AppThemeBinding Light={DynamicResource Primary50}, Dark={DynamicResource Gray850}}"
Offset="0" />
<GradientStop Color="{AppThemeBinding Light={DynamicResource Secondary50}, Dark={DynamicResource Gray850}}"
Offset="1" />
</LinearGradientBrush>
</Grid.Background>
<Label Text="{x:Static consts:AppMultilangConst.SheasLabelText}"
Grid.Column="0" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" FontSize="Title" />
<Label Text="{x:Static consts:AppMultilangConst.CealerLabelText}"
Grid.Column="1" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" FontSize="Title" />
<Image Source="app_logo.png"
Grid.ColumnSpan="2" />
</Grid>
</Border>
</Grid>
</Shell.FlyoutHeader>
<Shell.FlyoutFooter>
<Grid HeightRequest="60">
<Grid.GestureRecognizers>
<TapGestureRecognizer Tapped="FooterTapGestureRecognizer_Tapped" />
</Grid.GestureRecognizers>
<Border Margin="0,4,0,0">
<Grid ColumnDefinitions="*,*" ColumnSpacing="16"
Padding="8"
BackgroundColor="{AppThemeBinding Light={StaticResource Primary50}, Dark={StaticResource Gray850}}">
<Label Text="{Binding DownloadSpeed}"
Grid.Column="0" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" />
<Label Text="{Binding UploadSpeed}"
Grid.Column="1" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" />
</Grid>
</Border>
</Grid>
</Shell.FlyoutFooter>
<ShellContent x:Name="MainShellContent"
ContentTemplate="{DataTemplate pages:MainPage}"
Title="{x:Static consts:AppMultilangConst.MainShellContentTitle}"
FlyoutItemIsVisible="False"
Route="MainPage" />
<MenuItem Text="{x:Static consts:GlobalMultilangConst.SettingsMenuItemTitle}"
IconImageSource="{AppThemeBinding Light=settings_icon.png, Dark=settings_dark_icon.png}"
CommandParameter="{x:Type pages:SettingsPage}"
Clicked="DetailMenuItem_Clicked" />
<MenuItem Text="{x:Static consts:GlobalMultilangConst.ToolMenuItemTitle}"
IconImageSource="{AppThemeBinding Light=tool_icon.png, Dark=tool_dark_icon.png}"
CommandParameter="{x:Type pages:ToolPage}"
Clicked="DetailMenuItem_Clicked" />
<MenuItem Text="{x:Static consts:GlobalMultilangConst.AboutMenuItemTitle}"
IconImageSource="{AppThemeBinding Light=about_icon.png, Dark=about_dark_icon.png}"
CommandParameter="{x:Type pages:AboutPage}"
Clicked="DetailMenuItem_Clicked" />
<TabBar>
<ShellContent x:Name="BrowserShellContent"
ContentTemplate="{DataTemplate pages:BrowserPage}"
Title="{x:Static consts:AppMultilangConst.BrowserShellContentTitle}"
Icon="circle_icon.png"
Route="BrowserPage"
IsVisible="{Binding IsFirstRunning}" />
<ShellContent ContentTemplate="{DataTemplate pages:FlagPage}"
Title="{x:Static consts:AppMultilangConst.FlagShellContentTitle}"
Icon="ring_icon.png"
Route="FlagPage"
IsVisible="{Binding IsFirstRunning}" />
<ShellContent x:Name="AdbShellContent"
ContentTemplate="{DataTemplate pages:AdbPage}"
Title="{Binding IsFirstRunning, Converter={x:Static convs:AppConv.AppAdbShellContentTitleConv}, Mode=OneTime}"
Icon="neutral_icon.png"
Route="AdbPage" />
<ShellContent ContentTemplate="{DataTemplate pages:ReadyPage}"
Title="{x:Static consts:AppMultilangConst.ReadyShellContentTitle}"
Icon="happy_icon.png"
Route="ReadyPage" />
</TabBar>
</Shell>