Example #1
0
        private static void ToggleTheme()
        {
            var lightThemeLink = jquery.jQuery.select($"link[href='{LightThemeCss}']");
            var darkThemeLink  = jquery.jQuery.select($"link[href='{DarkThemeCss}']");

            var newTheme = lightThemeLink.length == 0
                ? LightThemeCss
                : DarkThemeCss;

            if (lightThemeLink.length == 0)
            {
                darkThemeLink.remove();
            }
            else if (darkThemeLink.length == 0)
            {
                lightThemeLink.remove();
            }

            var htmlStr       = (jquery.JQuery.htmlString) $"<link rel=\"stylesheet\" href=\"{newTheme}\" >";
            var htmlOrNode    = (Union <jquery.JQuery.htmlString, jquery.JQuery.TypeOrArray <Union <jquery.JQuery.Node, jquery.JQuery <jquery.JQuery.Node> > > >)htmlStr;
            var htmlOrNodeArr =
                new es5.Array <
                    Union <jquery.JQuery.htmlString, jquery.JQuery.TypeOrArray <Union <jquery.JQuery.Node, jquery.JQuery <jquery.JQuery.Node> > > >
                    >(htmlOrNode);

            jquery.jQuery.select("head").append(htmlOrNodeArr);
        }
Example #2
0
        public static byte[] Convert(es5.Array <Item> items)
        {
            var rootItems = items.Where(i => i.parent == null).ToArray();

            var rootItem = rootItems.Length == 1 ? rootItems[0] : new { title = "Data", children = rootItems }.As <Item>();

            var rootNode = Item2JTNode(rootItem);

            return(rootNode.ToBytes());
        }
Example #3
0
        private static void AddTweetToPage(Tweet tweet)
        {
            var div = new dom.HTMLDivElement
            {
                className = "tweet-card animated slideInRight"
            };

            div.ondblclick += e =>
            {
                var tweetUrl = $"https://twitter.com/{tweet.user.screen_name}/status/{tweet.id_str}";
                Electron.shell.openExternal(tweetUrl);

                return(null);
            };

            var img = new dom.HTMLImageElement
            {
                className = "avatar",
                src       = tweet.user.profile_image_url
            };

            var nameDiv = new dom.HTMLDivElement
            {
                className = "username",
                innerHTML = tweet.user.name + "<span class='istweeting'> is tweeting...</span>"
            };

            var textDiv = new dom.HTMLDivElement
            {
                className = "tweet-text",
                innerHTML = tweet.text
            };

            var tweetContent = new dom.HTMLDivElement {
                className = "tweet-content"
            };

            tweetContent.appendChild(nameDiv);
            tweetContent.appendChild(textDiv);

            div.appendChild(img);
            div.appendChild(tweetContent);

            var capturedItemsDiv = jquery.jQuery.select("#capturedItemsDiv");
            var capturedItems    = capturedItemsDiv.children().Value;

            if (capturedItems.length > 0)
            {
                if (capturedItems.length >= MaxTweetsOnPage)
                {
                    capturedItems[MaxTweetsOnPage - 1].remove();
                }
            }

            var divNode           = (Union <jquery.JQuery.Node, jquery.JQuery <jquery.JQuery.Node> >)(jquery.JQuery.Node) div;
            var divNodeType       = (jquery.JQuery.TypeOrArray <Union <jquery.JQuery.Node, jquery.JQuery <jquery.JQuery.Node> > >)divNode;
            var htmlOrNodeType    = (Union <jquery.JQuery.htmlString, jquery.JQuery.TypeOrArray <Union <jquery.JQuery.Node, jquery.JQuery <jquery.JQuery.Node> > > >)divNodeType;
            var htmlOrNodeTypeArr =
                new es5.Array <
                    Union <jquery.JQuery.htmlString, jquery.JQuery.TypeOrArray <Union <jquery.JQuery.Node, jquery.JQuery <jquery.JQuery.Node> > > >
                    >(htmlOrNodeType);

            capturedItemsDiv.prepend(htmlOrNodeTypeArr);
        }