diff --git a/js/dom-functions.js b/js/dom-functions.js index a28364b..7f78bcb 100644 --- a/js/dom-functions.js +++ b/js/dom-functions.js @@ -428,6 +428,12 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) { $('#feed').show(); $('#feed-header-inner h2').css('opacity','0.2'); $('#feed-header-inner h2').animate({opacity:'1'},1000); + + // also mark this stream as the current stream immediately, if a saved copy exists + addStreamToHistoryMenuAndMarkAsCurrent(streamHeader, defaultStreamName); + + // and change design immediately + changeDesign(window.oldStreamsDesigns[window.currentStream]); } // otherwise we fade out and wait for stream to load @@ -439,18 +445,6 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) { $('#feed-header-inner h2').html(h2FeedHeader); }); } - - // add this stream to history menu if it doesn't exist there (but not if this is me or if we're not logged in) - if($('.stream-selection[data-stream-header="' + streamHeader + '"]').length==0 - && streamHeader != '@' + window.loggedIn.screen_name - && typeof window.loggedIn.screen_name != 'undefined') { - $('#history-container').append('' + streamHeader + ''); - updateHistoryLocalStorage(); - } - - // mark this stream as current in menu - $('.stream-selection').removeClass('current'); - $('.stream-selection[data-stream-header="' + streamHeader + '"]').addClass('current'); // if this is user's user feed, i.e. followers etc, we want a profile card, which we need to get from user_timeline since the users/show api action is broken (auth doesn't work) @@ -484,6 +478,9 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) { window.clearInterval(checkForNewQueetsInterval); checkForNewQueetsInterval=window.setInterval(function(){checkForNewQueets()},window.timeBetweenPolling); + // add this stream to the history menu + addStreamToHistoryMenuAndMarkAsCurrent(streamHeader, defaultStreamName); + remove_spinner(); $('#feed-body').html(''); // empty feed only now so the scrollers don't flicker on and off $('#new-queets-bar').parent().addClass('hidden'); document.title = window.siteTitle; // hide new queets bar if it's visible there @@ -526,6 +523,9 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) { window.clearInterval(checkForNewQueetsInterval); checkForNewQueetsInterval=window.setInterval(function(){checkForNewQueets()},window.timeBetweenPolling); + // add this stream to the history menu + addStreamToHistoryMenuAndMarkAsCurrent(streamHeader, defaultStreamName); + remove_spinner(); $('#feed-body').html(''); // empty feed only now so the scrollers don't flicker on and off $('#new-queets-bar').parent().addClass('hidden'); document.title = window.siteTitle; // hide new queets bar if it's visible there @@ -539,6 +539,32 @@ function setNewCurrentStream(stream,actionOnSuccess,setLocation) { }); } } + +/* · + · + · Add this stream to history menu if it doesn't exist there (but not if this is me or if we're not logged in) + · and mark this stream as current in menu + · + · @param streamHeader: the header to show in the menu + · @param defaultStreamName: the stream to link in the history menu + · @returns: relative path + · + · · · · · · · · · */ + + +function addStreamToHistoryMenuAndMarkAsCurrent(streamHeader, defaultStreamName) { + + if($('.stream-selection[data-stream-header="' + streamHeader + '"]').length==0 + && streamHeader != '@' + window.loggedIn.screen_name + && typeof window.loggedIn.screen_name != 'undefined') { + $('#history-container').append('' + streamHeader + ''); + updateHistoryLocalStorage(); + } + + + $('.stream-selection').removeClass('current'); + $('.stream-selection[data-stream-header="' + streamHeader + '"]').addClass('current'); + } /* · diff --git a/js/misc-functions.js b/js/misc-functions.js index eeddbea..039e06d 100644 --- a/js/misc-functions.js +++ b/js/misc-functions.js @@ -447,34 +447,47 @@ function changeDesign(obj) { typeof obj.userBackgroundColor != 'undefined') { if(obj.userLinkColor == null) { changeLinkColor(window.defaultLinkColor); + obj.linkcolor = window.defaultLinkColor; } else if(obj.userLinkColor.length == 6) { changeLinkColor('#' + obj.userLinkColor); + obj.linkcolor = obj.userLinkColor; } else { changeLinkColor(window.defaultLinkColor); } if(obj.userBackgroundColor == null) { $('body').css('background-color',window.defaultBackgroundColor); + obj.backgroundcolor = window.defaultBackgroundColor; } else if(obj.userBackgroundColor.length == 6) { $('body').css('background-color','#' + obj.userBackgroundColor); + obj.backgroundcolor = obj.userBackgroundColor; } else { $('body').css('background-color',window.defaultBackgroundColor); + obj.backgroundcolor = window.defaultBackgroundColor; } // background image if(obj.userBackgroundImage.length > 0) { $('body').css('background-image','url(\'' + obj.userBackgroundImage + '\')'); + obj.background_image = obj.userBackgroundImage; } else { $('body').css('background-image','url(\'\')'); } } + // remember the design for this stream + window.oldStreamsDesigns[window.currentStream] = {backgroundcolor:obj.backgroundcolor, linkcolor:obj.linkcolor, background_image:obj.background_image}; + console.log(window.oldStreamsDesigns[window.currentStream]); } +// create object to remember designs on page load +window.oldStreamsDesigns = new Object(); + + /* · ·