Exemplo n.º 1
0
        private void ViewModelOnOpenWebView(string html,int id)
        {
            //back nav
            ViewModelLocator.NavMgr.RegisterOneTimeMainOverride(new RelayCommand(() =>
            {
                ViewModel.WebViewVisibility = false;
                ViewModel.ArticleIndexVisibility = true;
                ViewModelLocator.GeneralMain.CurrentStatus = ViewModel.PrevWorkMode != null &&
                                                      ViewModel.PrevWorkMode.Value == ArticlePageWorkMode.Articles
                    ? "Artilces"
                    : "News";
                ViewModel.CurrentNews = -1;
            }));
            //

            var uiSettings = new UISettings();
            var color = uiSettings.GetColorValue(UIColorType.Accent);
            var color1 = uiSettings.GetColorValue(UIColorType.AccentDark2);
            var color2 = uiSettings.GetColorValue(UIColorType.AccentLight2);
            var css = Css.Replace("AccentColourBase", "#" + color.ToString().Substring(3)).
                Replace("AccentColourLight", "#" + color2.ToString().Substring(3)).
                Replace("AccentColourDark", "#" + color1.ToString().Substring(3))
                .Replace("BodyBackgroundThemeColor",
                    Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#2d2d2d" : "#e6e6e6")
                .Replace("BodyForegroundThemeColor",
                    Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "white" : "black").Replace(
                        "HorizontalSeparatorColor",
                        Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#0d0d0d" : "#b3b3b3");
            if (!Settings.ArticlesDisplayScrollBar)
                css += CssRemoveScrollbar;
            css += "</style>";
            ArticleWebView.NavigateToString(css + Begin + html + "</div></body></html>");
        }
Exemplo n.º 2
0
        public MainPageViewModel()
        {
            var uiSettings = new Windows.UI.ViewManagement.UISettings();

            _AccentColor = uiSettings.GetColorValue(Windows.UI.ViewManagement.UIColorType.Accent);
            ApplicationViewTitleBar titlebar = ApplicationView.GetForCurrentView().TitleBar;

            titlebar.BackgroundColor       = _AccentColor;
            titlebar.ButtonBackgroundColor = _AccentColor;

            if (ApiInformation.IsApiContractPresent("Windows.Phone.PhoneContract", 1, 0))
            {
                var statusBar = StatusBar.GetForCurrentView();
                statusBar.BackgroundColor   = _AccentColor;
                statusBar.ForegroundColor   = Colors.White;
                statusBar.BackgroundOpacity = 1;
            }

            if (Windows.ApplicationModel.DesignMode.DesignModeEnabled)
            {
                _AccentColor = Colors.SkyBlue;
            }
            else
            {
                settings    = SettingsService.Instance;
                BindingDemo = new ObservableCollection <string>
                {
                    "Item 0", "Item 1", "Item 2"
                };
            }
        }
Exemplo n.º 3
0
        private static Color TitltBarButtonColor(UISettings uISettings)
        {
            var settingTheme = SettingHelper.GetValue <int>(SettingHelper.UI.THEME, 0);
            var uiSettings   = new Windows.UI.ViewManagement.UISettings();
            var color        = uiSettings.GetColorValue(UIColorType.Foreground);

            if (settingTheme != 0)
            {
                color = settingTheme == 1 ? Colors.Black : Colors.White;
            }
            return(color);
        }
Exemplo n.º 4
0
        private string SetWindowsTheme()
        {
            Windows.UI.ViewManagement.UISettings DefaultTheme = new Windows.UI.ViewManagement.UISettings();
            string uiTheme = DefaultTheme.GetColorValue(Windows.UI.ViewManagement.UIColorType.Background).ToString();

            if (uiTheme == "#FF000000")
            {
                return("Dark");
            }
            else // (uiTheme == "#FFFFFFFF")
            {
                return("Light");
            }
        }
Exemplo n.º 5
0
 private void ViewModelOnOnWebViewNavigationRequest(string content, bool b)
 {
     var uiSettings = new UISettings();
     var color = uiSettings.GetColorValue(UIColorType.Accent);
     var color1 = uiSettings.GetColorValue(UIColorType.AccentDark2);
     var color2 = uiSettings.GetColorValue(UIColorType.AccentLight2);
     var css = MalArticlesPage.Css.Replace("AccentColourBase", "#" + color.ToString().Substring(3)).
         Replace("AccentColourLight", "#" + color2.ToString().Substring(3)).
         Replace("AccentColourDark", "#" + color1.ToString().Substring(3))
         .Replace("BodyBackgroundThemeColor",
             Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#2d2d2d" : "#e6e6e6")
         .Replace("BodyForegroundThemeColor",
             Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "white" : "black").Replace(
                 "HorizontalSeparatorColor",
                 Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#0d0d0d" : "#b3b3b3");
     css += "</style>";
     if (content.Length < 400)
         AboutMeWebView.Height = 300;
     else if (content.Length < 800)
         AboutMeWebView.Height = 500;
     else
         AboutMeWebView.Height = 800;
     AboutMeWebView.NavigateToString(css + content);
 }
Exemplo n.º 6
0
        private bool IsLightTheme()
        {
            //get system current theme color, not the app theme
            var DefaultTheme = new Windows.UI.ViewManagement.UISettings();
            var uiTheme      = DefaultTheme.GetColorValue(Windows.UI.ViewManagement.UIColorType.Background).ToString();

            if (uiTheme == "#FF000000")
            {
                RequestedTheme = ElementTheme.Dark;
                return(false);
            }
            else
            {
                RequestedTheme = ElementTheme.Light;
                return(true);
            }
        }
Exemplo n.º 7
0
        private async void webView_DOMContentLoaded(WebView sender, WebViewDOMContentLoadedEventArgs args)
        {
            try
            {
                // inject event handler to arbitrary page once the DOM is loaded
                // in this case add event handler to click on the main element
                //await webView.InvokeScriptAsync("eval", new[] { "NotifyApp.setKeyCombination(243);" });

                var    uiSettings = new Windows.UI.ViewManagement.UISettings();
                var    rgba       = uiSettings.GetColorValue(Windows.UI.ViewManagement.UIColorType.Accent);
                string colr       = rgba.R.ToString();
                string colg       = rgba.G.ToString();
                string colb       = rgba.B.ToString();

                //string fn = "javascript:(function(){var style = document.getElementById('customcss');if(!style){style = document.createElement('STYLE');}style.type='text/css';style.id='customcss';style.innerText = '#react-root div header div{background-color:#000!important}[role=banner] [role=button] span{color:#fff}[role=navigation]{display:none!important}[role=banner] form{display:none!important}#react-root div header nav{background-color:#000!important}main div [role=region]{background-color:#d5d1d1!important;color:#fff!important}main>div>div{background-color:#000!important}main div [role=article]{background-color:#272525!important}main div [role=article] [data-testid=tweet] span{color:#b1b1b1!important}[data-testid=sidebarColumn]{background-color:#000!important}[data-testid=sidebarColumn] div{background-color:#363636!important;color:#eee!important}';document.getElementsByTagName('HEAD')[0].appendChild(style);})()";
                string loading    = "div[aria-label^=\"Load\"] svg{color: " + colr + "," + colg + "," + colb + ")!important}";
                string csstyle    = "[role=banner] [role=navigation]{display:none!important}[role=banner] form{display:none!important}[role=banner] [role=button] svg{display:none!important}body{-ms-user-select: none!important}div[aria-label^=Load]{display: none!important}";
                string buttons    = "/*Rounded class*/.rn-qb5c1y{border-bottom-left-radius: 0;}.rn-sqtsar{border-bottom-right-radius: 0;}.rn-waaub4{border-top-right-radius: 0;}.rn-1bxrh7q{border-top-left-radius: 0;}";
                string postmedia  = ".rn-v31qbu{border-bottom-left-radius: 0;}.rn-1mm01xx{border-bottom-right-radius: 0;}.rn-3mf89h{border-top-right-radius: 0;}.rn-12oo7hk{border-top-left-radius: 0;}";
                string lightbox   = ".rn-17ru5vd{border-bottom-left-radius: 0;}.rn-21wlf0{border-bottom-right-radius: 0;}.rn-1a1bgtt{border-top-right-radius: 0;}.rn-1nul30p{border-top-left-radius: 0;}";
                string buttoncol  = ".rn-8184n4 {color: rgb(" + colr + "," + colg + "," + colb + ")}.rn-162msjx {border-left-color: rgb(" + colr + "," + colg + "," + colb + ")}.rn-11kq4yi {border-bottom-color: rgb(" + colr + "," + colg + "," + colb + ")}.rn-biwm0c {border-right-color: rgb(" + colr + "," + colg + "," + colb + ")}.rn-1vhfjxp {border-top-color: rgb(" + colr + "," + colg + "," + colb + ")}";
                string navcolors  = ".Pdo9ySC3::after {background-color: rgb(" + colr + "," + colg + "," + colb + ")}.Pdo9ySC3{color: #25974f!important}._3XRskxP3:hover, .Pdo9ySC3 {color: rgb(" + colr + "," + colg + "," + colb + ")}";
                string bgcolor    = ".rn-10pympv {background-color: rgb(" + colr + "," + colr + "," + colb + ")}";
                string linkcolor  = ".rn-wjcbme {color: rgb(" + colr + "," + colg + "," + colb + ")}._3fUfiuOH {color: rgb(" + colr + "," + colg + "," + colb + ")}";
                string navcolors2 = ".COfxu8s-._2t1-zb7t{border-bottom-color: rgb(" + colr + "," + colg + "," + colb + "); color: rgb(" + colr + "," + colg + "," + colb + ");}.COfxu8s-._2t1-zb7t:hover{border-bottom-color: rgb(" + colr + "," + colg + "," + colb + "); color: rgb(" + colr + "," + colg + "," + colb + ");}.COfxu8s-:hover {color: rgb(" + colr + "," + colg + "," + colb + ")}";
                //string likecolor = ".rn-c4vgha {color: rgb(" + colr + "," + colg + "," + colb + ")!important}";

                string fn = "javascript:(function(){var style = document.getElementById('customcss');if(!style){style = document.createElement('STYLE');}style.type='text/css';style.id='customcss';style.innerText = '"
                            + loading
                            + csstyle
                            + buttons
                            + postmedia
                            + lightbox
                            + buttoncol
                            + navcolors
                            + bgcolor
                            + linkcolor
                            + navcolors2
                            + "';document.getElementsByTagName('HEAD')[0].appendChild(style);})()";
                this.webView.InvokeScriptAsync("eval", new string[] { fn });
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
            }
        }
 public static async Task SetTitleBar()
 {
     await Window.Current.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
     {
         UISettings uiSettings = new UISettings();
         try
         {
             ApplicationViewTitleBar titleBar = ApplicationView.GetForCurrentView().TitleBar;
             titleBar.BackgroundColor = uiSettings.GetColorValue(UIColorType.Accent);
             titleBar.InactiveBackgroundColor = uiSettings.GetColorValue(UIColorType.AccentDark1);
             titleBar.ButtonBackgroundColor = uiSettings.GetColorValue(UIColorType.Accent);
             titleBar.ButtonInactiveBackgroundColor = uiSettings.GetColorValue(UIColorType.AccentDark1);
             titleBar.ButtonHoverBackgroundColor = uiSettings.GetColorValue(UIColorType.AccentLight1);
             titleBar.ButtonHoverForegroundColor = uiSettings.GetColorValue(UIColorType.Accent);
             titleBar.ButtonPressedBackgroundColor = uiSettings.GetColorValue(UIColorType.AccentLight3);
         }
         catch (InvalidCastException)
         {
         }
     });
 }
Exemplo n.º 9
0
        private async void TopicWebView_OnDOMContentLoaded(WebView sender, WebViewDOMContentLoadedEventArgs args)
        {
            var uiSettings = new UISettings();
            var color = uiSettings.GetColorValue(UIColorType.Accent);
            //this chain of commands will remove unnecessary stuff
            string bodyLight = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#3d3d3d" : "#d0d0d0";
            string bodyLighter = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#2f2f2f" : "#e6e6e6";
            string bodyDarker = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#212121" : "#cacaca";
            string fontColor = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "white" : "black";
            string fontColorInverted = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "black" : "white";

            var zoom = 100*ActualWidth/(_args.CreateNewTopic ? 800 : 1060);
            _prevSize = new Size(ActualWidth, ActualHeight);
            List<string> commands;
            if (_args.CreateNewTopic)
            {
                commands = new List<string>
                {
                    @"document.getElementById(""headerSmall"").outerHTML='';document.getElementById(""menu"").outerHTML='';document.getElementsByClassName(""js-sns-icon-container icon-block-small"")[0].outerHTML='';document.getElementsByTagName(""footer"")[0].innerHTML='';document.getElementsByClassName(""mauto clearfix pt24"")[0].outerHTML='';",
                    @"$(""#contentWrapper"").find('div:first').remove();",
                    $@"$(""#contentWrapper"").css(""background-color"", ""{bodyLighter}"");",
                    $@"$(""body"").css(""font-family"", ""Segoe UI"").css(""color"", ""{fontColor}"").css(""background-color"", ""{bodyLighter}"");",
                    @"$(""footer"").remove()",
                    @"$(""input[name='preview']:first"").remove()",
                    $@"$(""textarea"").css(""background-color"",""{bodyDarker}"").css(""color"", ""{fontColor}"")",
                    $@"$(""td"").css(""color"", ""{fontColor}"")",
                    $@"$(""a"").css(""color"", ""#{color.ToString().Substring(3)}"");",
                    $@"$(""#content"").css(""border-color"", ""{bodyLighter}"").css(""background-color"",""{bodyLighter}"");",
                    $@"$(""html"").css(""zoom"", ""{Math.Floor(zoom)}%"").css(""background-color"", ""{bodyLighter}"");",
                    @"$(""iframe"").remove()",
                    $@"$(""#dialog"").css(""border-color"", ""{bodyLight}"")",
                    $@"$(""td"").css(""border-color"", ""{bodyDarker}"")",
                    $@"$("".inputtext"").css(""background-color"", ""{bodyDarker}"").css(""color"", ""{fontColor}"")",
                    $@"$("".normal_header"").css(""color"", ""{fontColor}"")",
                    $@"$("".inputButton"").css(""background-color"", ""{bodyLight}"").css(""border-color"",""{fontColorInverted}"");",
                    $@"$("".bgbdrContainer"").css(""background-color"", ""{bodyDarker}"").css(""border-color"",""{fontColorInverted}"");",
                };
            }
            else
            {
                commands = new List<string>
                {
                    @"document.getElementById(""headerSmall"").outerHTML='';document.getElementById(""menu"").outerHTML='';document.getElementsByClassName(""js-sns-icon-container icon-block-small"")[0].outerHTML='';document.getElementsByTagName(""footer"")[0].innerHTML='';document.getElementsByClassName(""mauto clearfix pt24"")[0].outerHTML='';",
                    @"$(""#contentWrapper"").find('div:first').remove();",                 
                    @"$(""div[id^="" +""ad-skin"" + ""]"").remove();",
                    $@"$(""#contentWrapper"").css(""background-color"", ""{bodyLighter}"");",
                    $@"$(""body"").css(""font-family"", ""Segoe UI"").css(""color"", ""{fontColor}"").css(""background-color"", ""{bodyLighter}"");",
                    $@"$(""td"").css(""background-color"", ""{bodyDarker}"").css(""border-color"", ""{bodyDarker}"");",
                    $@"$("".forum_boardrow2"").css(""background-color"", ""{bodyDarker}"");",
                    $@"$("".forum_boardrow1"").css(""background-color"", ""{bodyLighter}"").css(""border-color"",""{fontColorInverted}"");",
                    $@"$("".forum_category"").css(""background-color"", ""{bodyLight}"");",
                    $@"$("".forum_boardrowspacer"").css(""background-color"", ""{bodyLighter}"");",
                    $@"$("".btn-forum"").css(""background-color"", ""{bodyLight}"").css(""border-color"",""{fontColorInverted}"");",
                    $@"$(""html"").css(""zoom"", ""{Math.Floor(zoom)}%"");",
                    @"$("".wrapper"").find("".fl-r.ar"").remove()",
                    $@"$("".inputButton"").css(""border-color"",""{fontColorInverted}"").css(""background-color"",""{bodyLight}"")",
                    $@"$(""a"").css(""color"", ""#{color.ToString().Substring(3)}"");",
                    $@"$(""#content"").css(""border-color"", ""{bodyLighter}"").css(""background-color"",""{bodyLighter}"");",
                    $@"$("".forum_category,.forum_locheader"").css(""color"",""{fontColor}"");",
                    $@"$("".codetext"").css(""background-color"",""{bodyDarker}"");",
                    $@"$("".quotetext"").css(""background-color"",""{bodyLight}"").css(""border-color"",""{bodyLighter}"");",
                    $@"$("".vote_container"").css(""background-color"",""#{color.ToString().Substring(3)}"")",
                    $@"$(""textarea"").css(""background-color"",""{bodyDarker}"").css(""color"", ""{fontColor}"")",
                    
                };
            }
            
            foreach (var command in commands)
            {
                try
                {
                    await TopicWebView.InvokeScriptAsync("eval", new string[] {command});
                }
                catch (Exception)
                {
                    //htm.. no it's javascript this time oh, how fun!
                }

            }
            ViewModel.LoadingTopic = false;
        }
Exemplo n.º 10
0
        private async void TopicWebView_OnDOMContentLoaded(WebView sender, WebViewDOMContentLoadedEventArgs args)
        {
            var uiSettings = new UISettings();
            var color = uiSettings.GetColorValue(UIColorType.Accent);
            //this chain of commands will remove unnecessary stuff
            string bodyLight = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#3d3d3d" : "#d0d0d0";
            string bodyLighter = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#2f2f2f" : "#e6e6e6";
            string bodyDarker = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "#212121" : "#cacaca";
            string fontColor = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "white" : "black";
            string fontColorInverted = Settings.SelectedTheme == (int)ApplicationTheme.Dark ? "black" : "white";

            var zoom = 100*ActualWidth/500;
            _prevSize = new Size(ActualWidth, ActualHeight);
            List<string> commands;
            if (_args.CreateNewTopic)
            {
                commands = new List<string>
                {
                    @"document.getElementById(""headerSmall"").outerHTML='';document.getElementById(""menu"").outerHTML='';document.getElementsByClassName(""js-sns-icon-container icon-block-small"")[0].outerHTML='';document.getElementsByTagName(""footer"")[0].innerHTML='';document.getElementsByClassName(""mauto clearfix pt24"")[0].outerHTML='';",
                    @"$(""#contentWrapper"").find('div:first').remove();",
                    $@"$(""#contentWrapper"").css(""background-color"", ""{bodyLighter}"").css(""width"", ""700px"");;",
                    $@"$(""body"").css(""font-family"", ""Segoe UI"").css(""color"", ""{fontColor}"").css(""background-color"", ""{bodyLighter}"").css(""width"", ""700px"");;",
                    @"$(""footer"").remove()",
                    $@"$(""textarea"").css(""background-color"",""{bodyDarker}"").css(""color"", ""{fontColor}"")",
                    $@"$(""td"").css(""color"", ""{fontColor}"")",
                    $@"$(""a"").css(""color"", ""#{color.ToString().Substring(3)}"");",
                    $@"$(""#content"").css(""border-color"", ""{bodyLighter}"").css(""background-color"",""{bodyLighter}"");",
                    $@"$(""html"").css(""zoom"", ""{Math.Floor(zoom)}%"").css(""background-color"", ""{bodyLighter}"").css(""width"", ""700px"");",
                    @"$(""iframe"").remove()",
                    $@"$(""#dialog"").css(""border-color"", ""{bodyLight}"")",
                    $@"$(""td"").css(""border-color"", ""{bodyDarker}"")",
                    $@"$("".inputtext"").css(""background-color"", ""{bodyDarker}"").css(""color"", ""{fontColor}"")",
                    $@"$("".normal_header"").css(""color"", ""{fontColor}"")",
                    $@"$("".inputButton"").css(""background-color"", ""{bodyLight}"").css(""border-color"",""{fontColorInverted}"");",
                    $@"$("".bgbdrContainer"").css(""background-color"", ""{bodyDarker}"").css(""border-color"",""{fontColorInverted}"");",
                };
            }
            else
            {
                commands = new List<string>
                {
                    @"$("".header"").remove();
                      $(""iframe"").remove();
                      $("".select.filter-sort"").remove();
                      $("".anchor-ad"").remove();
                      $(""footer"").remove();
                      $("".page-title"").remove();
                      $("".sns-unit"").remove();",
                    $@"$(""a"").css(""color"", ""#{color.ToString().Substring(3)}"");",
                    $@"$("".comment-title"").css(""background-color"",""{bodyLighter}"")",
                    $@"$("".breadcrumb"").css(""background-color"",""{bodyLighter}"")",       
                    $@"$("".num"").removeClass().css(""font-size"",""30px"").css(""color"", ""{fontColor}"").css(""margin"", ""13px"")",
                    $@"$("".icon-next"").not(""a.prev"").removeClass().css(""font-size"",""30px"").html(""»"")",
                    $@"$("".icon-next.prev"").css(""font-size"",""20px"").removeClass().html(""«"")",
                    $@"$("".db-ib"").removeClass().css(""font-size"",""30px"").css(""color"",""#{color.ToString().Substring(3)}"")",
                    $@"$("".btn-post-comment"").css(""background-color"",""{bodyLight}"").css(""color"", ""{fontColor}"").css(""border-color"", ""{bodyDarker}"")",
                    $@"$(""body"").css(""font-family"", ""Segoe UI"").css(""color"", ""{fontColor}"").css(""background-color"", ""{bodyLighter}"");",
                };
            }
            
            foreach (var command in commands)
            {
                try
                {
                    await TopicWebView.InvokeScriptAsync("eval", new string[] {command});
                }
                catch (Exception)
                {
                    //htm.. no it's javascript this time oh, how fun!
                }

            }
            ViewModel.LoadingTopic = false;
        }