/// <summary> /// Initializes a new instance of the <see cref="Shell"/> class. /// </summary> public Shell() { try { this.InitializeComponent(); // Setup SideDrawer ContentContainer.SetupInteraction(); Messenger.Default.Register <GuildNavigateMessage>(this, m => { ContentContainer.OpenLeft(); }); Messenger.Default.Register <ChannelNavigateMessage>(this, m => { ContentContainer.CloseLeft(); }); Messenger.Default.Register <GatewayMessageRecievedMessage>(this, async m => { if (SimpleIoc.Default.GetInstance <ISettingsService>().Roaming.GetValue <bool>(SettingKeys.MentionGlow) && (m.Message.MentionEveryone || m.Message.Mentions.Any(x => x.Id == SimpleIoc.Default.GetInstance <ICurrentUserService>().CurrentUser.Model.Id))) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { FlashMention.Begin(); }); } }); } catch (Exception ex) { var logger = App.ServiceProvider.GetService <ILogger <Shell> >(); do { logger.LogError(default, ex, "Error constructing Shell");