1
0
mirror of https://github.com/SineVector241/VoiceCraft-MCBE_Proximity_Chat.git synced 2024-09-18 21:00:48 +00:00
VoiceCraft-MCBE_Proximity_Chat/VoiceCraft.Maui/AppShell.xaml.cs
2024-04-10 12:27:17 +10:00

56 lines
2.9 KiB
C#

using VoiceCraft.Maui.Services;
namespace VoiceCraft.Maui
{
public partial class AppShell : Shell
{
public AppShell()
{
InitializeComponent();
//Routing
if(DeviceInfo.Idiom == DeviceIdiom.Phone)
{
tabBar.Items.Add(new ShellContent() { Title = "Servers", Icon = "server.png", ContentTemplate = new DataTemplate(typeof(Views.Mobile.Servers)), Route = nameof(Views.Mobile.Servers) });
tabBar.Items.Add(new ShellContent() { Title = "Settings", Icon = "cog.png", ContentTemplate = new DataTemplate(typeof(Views.Mobile.Settings)), Route = nameof(Views.Mobile.Settings) });
tabBar.Items.Add(new ShellContent() { Title = "Credits", Icon = "information.png", ContentTemplate = new DataTemplate(typeof(Views.Mobile.Credits)), Route = nameof(Views.Mobile.Credits) });
Routing.RegisterRoute(nameof(Views.Mobile.ServerDetails), typeof(Views.Mobile.ServerDetails));
Routing.RegisterRoute(nameof(Views.Mobile.AddServer), typeof(Views.Mobile.AddServer));
Routing.RegisterRoute(nameof(Views.Mobile.Voice), typeof(Views.Mobile.Voice));
Routing.RegisterRoute(nameof(Views.Mobile.EditServer), typeof(Views.Mobile.EditServer));
}
else
{
flyoutItem.Items.Add(new ShellContent() { Title = "Servers", Icon = "server.png", ContentTemplate = new DataTemplate(typeof(Views.Desktop.Servers)), Route = nameof(Views.Desktop.Servers) });
flyoutItem.Items.Add(new ShellContent() { Title = "Settings", Icon = "cog.png", ContentTemplate = new DataTemplate(typeof(Views.Desktop.Settings)), Route = nameof(Views.Desktop.Settings) });
flyoutItem.Items.Add(new ShellContent() { Title = "Credits", Icon = "information.png", ContentTemplate = new DataTemplate(typeof(Views.Desktop.Credits)), Route = nameof(Views.Desktop.Credits) });
Routing.RegisterRoute(nameof(Views.Desktop.ServerDetails), typeof(Views.Desktop.ServerDetails));
Routing.RegisterRoute(nameof(Views.Desktop.AddServer), typeof(Views.Desktop.AddServer));
Routing.RegisterRoute(nameof(Views.Desktop.Voice), typeof(Views.Desktop.Voice));
Routing.RegisterRoute(nameof(Views.Desktop.EditServer), typeof(Views.Desktop.EditServer));
}
}
protected override void OnAppearing()
{
#if !WINDOWS
if (Preferences.Get("VoipServiceRunning", false) && AppShell.Current.CurrentPage?.BindingContext is not ViewModels.VoiceViewModel)
{
MainThread.BeginInvokeOnMainThread(async () => await Navigator.NavigateTo(nameof(Views.Desktop.Voice)));
}
#endif
base.OnAppearing();
}
protected override void OnDisappearing()
{
#if WINDOWS
Preferences.Set("VoipServiceRunning", false);
#endif
base.OnDisappearing();
}
}
}