From 6dffdcd1ed723ec229349536a2f8b9ffda89b2ab Mon Sep 17 00:00:00 2001 From: chylex <contact@chylex.com> Date: Tue, 10 Jul 2018 08:50:09 +0200 Subject: [PATCH] Add update notifications outside TweetDeck, tweak changelog styling --- Core/Other/Settings/TabSettingsGeneral.cs | 2 -- Core/TweetDeckBrowser.cs | 39 +++++++++++---------- Resources/Scripts/imports/styles/update.css | 12 +++++-- Resources/Scripts/update.js | 15 ++++---- 4 files changed, 40 insertions(+), 28 deletions(-) diff --git a/Core/Other/Settings/TabSettingsGeneral.cs b/Core/Other/Settings/TabSettingsGeneral.cs index 66d3a121..48e67a5a 100644 --- a/Core/Other/Settings/TabSettingsGeneral.cs +++ b/Core/Other/Settings/TabSettingsGeneral.cs @@ -219,8 +219,6 @@ private void updates_CheckFinished(object sender, UpdateCheckEventArgs e){ if (update.VersionTag == Program.VersionTag){ FormMessage.Information("No Updates Available", "Your version of TweetDuck is up to date.", FormMessage.OK); } - - // TODO allow outside TweetDeck }, ex => { Program.Reporter.HandleException("Update Check Error", "An error occurred while checking for updates.", true, ex); }); diff --git a/Core/TweetDeckBrowser.cs b/Core/TweetDeckBrowser.cs index d45e089c..c92ff164 100644 --- a/Core/TweetDeckBrowser.cs +++ b/Core/TweetDeckBrowser.cs @@ -146,25 +146,28 @@ private void browser_FrameLoadStart(object sender, FrameLoadStartEventArgs e){ private void browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){ IFrame frame = e.Frame; - if (frame.IsMain && TwitterUtils.IsTweetDeckWebsite(frame)){ - UpdateProperties(); - TweetDeckBridge.RestoreSessionData(frame); - ScriptLoader.ExecuteFile(frame, "code.js", browser); + if (frame.IsMain){ + if (TwitterUtils.IsTweetDeckWebsite(frame)){ + UpdateProperties(); + TweetDeckBridge.RestoreSessionData(frame); + ScriptLoader.ExecuteFile(frame, "code.js", browser); + + InjectBrowserCSS(); + ReinjectCustomCSS(Program.UserConfig.CustomBrowserCSS); + UserConfig_SoundNotificationInfoChanged(null, EventArgs.Empty); + + TweetDeckBridge.ResetStaticProperties(); + + if (Arguments.HasFlag(Arguments.ArgIgnoreGDPR)){ + ScriptLoader.ExecuteScript(frame, "TD.storage.Account.prototype.requiresConsent = function(){ return false; }", "gen:gdpr"); + } + + if (Program.UserConfig.FirstRun){ + ScriptLoader.ExecuteFile(frame, "introduction.js", browser); + } + } + ScriptLoader.ExecuteFile(frame, "update.js", browser); - - InjectBrowserCSS(); - ReinjectCustomCSS(Program.UserConfig.CustomBrowserCSS); - UserConfig_SoundNotificationInfoChanged(null, EventArgs.Empty); - - TweetDeckBridge.ResetStaticProperties(); - - if (Arguments.HasFlag(Arguments.ArgIgnoreGDPR)){ - ScriptLoader.ExecuteScript(frame, "TD.storage.Account.prototype.requiresConsent = function(){ return false; }", "gen:gdpr"); - } - - if (Program.UserConfig.FirstRun){ - ScriptLoader.ExecuteFile(frame, "introduction.js", browser); - } } } diff --git a/Resources/Scripts/imports/styles/update.css b/Resources/Scripts/imports/styles/update.css index e689fef3..d890f85e 100644 --- a/Resources/Scripts/imports/styles/update.css +++ b/Resources/Scripts/imports/styles/update.css @@ -6,8 +6,10 @@ z-index: 9999; color: #fff; background-color: rgb(32, 94, 138); + font-family: Helvetica, Arial, Verdana, sans-serif; text-align: center; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); + line-height: 1.28578; transition: transform 400ms cubic-bezier(.02, .01, .47, 1); } @@ -67,6 +69,8 @@ width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); + font-family: Helvetica, Arial, Verdana, sans-serif; + line-height: 1.28578; z-index: 9998; } @@ -82,14 +86,16 @@ overflow-y: auto; transform: translateX(-50%) translateY(-50%); font-size: 14px; - color: #000; + color: #2f2f2f; background-color: #fff; box-sizing: border-box; } #tweetduck-changelog h2 { - margin: 0 0 7px; + margin: 0 0 8px; + color: #5c6973; font-size: 23px; + line-height: 1.28578; } #tweetduck-changelog h2 + br { @@ -98,7 +104,9 @@ #tweetduck-changelog h3 { margin: 0 0 5px 7px; + color: #065b9c; font-size: 18px; + line-height: 1.28578; } #tweetduck-changelog p { diff --git a/Resources/Scripts/update.js b/Resources/Scripts/update.js index e9c60f8a..41dd9074 100644 --- a/Resources/Scripts/update.js +++ b/Resources/Scripts/update.js @@ -132,13 +132,16 @@ // // Block: Check updates on startup. // - if ("$" in window && typeof $._data === "function" && "TD" in $._data(document, "events")){ - $(document).one("TD.ready", function(){ - $TDU.triggerUpdateCheck(); - }); - } - else{ + const triggerCheck = function(){ $TDU.triggerUpdateCheck(); + }; + + try{ + throw false if !($._data(document, "events").TD.some(obj => obj.namespace === "ready")); + + $(document).one("TD.ready", triggerCheck); + }catch(err){ + setTimeout(triggerCheck, 500); } //