Beispiel #1
0
        /// <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");