diff --git a/css/qvitter.css b/css/qvitter.css index df9360a..d0f2a61 100644 --- a/css/qvitter.css +++ b/css/qvitter.css @@ -1685,7 +1685,7 @@ body.rtl #history-container.menu-container a .chev-right { position: absolute; text-shadow: none; } -.profile-card:not(.logged-in) .user-menu-cog { +.user-menu-cog:not(.logged-in) { display:none !important; } #stream-menu-cog::before, @@ -2042,8 +2042,8 @@ body.has-right-to-sandbox .profile-card .profile-header-inner.sandboxed span.san body.rtl .queet.rtl .expanded-content { direction:rtl; } -.stream-item.expanded > div:first-child, -.stream-item.expanded > div:first-child > .queet { +.stream-item.expanded > div.first-visible, +.stream-item.expanded > div.first-visible > .queet { border-top-left-radius:6px; border-top-right-radius:6px; } @@ -2118,16 +2118,9 @@ body.rtl .queet.rtl .expanded-content { box-sizing: border-box; } -/* only show activity notices if they are conversation starters - we never need to see these, but sometimes someone replies to - an activity notice, and then it can be good to know what the - user is replying to... */ #feed-body > .stream-item.activity { display:none; } -.stream-item > .stream-item.activity:first-child { - display:block; - } .quoted-notices, .oembed-data { diff --git a/js/ajax-functions.js b/js/ajax-functions.js index d83a631..de37732 100644 --- a/js/ajax-functions.js +++ b/js/ajax-functions.js @@ -523,6 +523,7 @@ function APISandboxCreateOrDestroy(createOrDestroy,userId,actionOnSuccess) { data = iterateRecursiveReplaceHtmlSpecialChars(data); searchForUserDataToCache(data); updateUserDataInStream(); + rememberStreamStateInLocalStorage(); actionOnSuccess(data); } }); @@ -552,6 +553,7 @@ function APISilenceCreateOrDestroy(createOrDestroy,userId,actionOnSuccess) { data = iterateRecursiveReplaceHtmlSpecialChars(data); searchForUserDataToCache(data); updateUserDataInStream(); + rememberStreamStateInLocalStorage(); actionOnSuccess(data); } }); diff --git a/js/dom-functions.js b/js/dom-functions.js index 12fa459..d5779c0 100644 --- a/js/dom-functions.js +++ b/js/dom-functions.js @@ -438,7 +438,7 @@ function buildProfileCard(data) {
  • ' + window.sL.groups + '' + data.groups_count + '
  • \ \ ' + followButton + '\ -
    \ +
    \
    \ \ \ @@ -471,6 +471,18 @@ function buildExternalProfileCard(data) { var followButton = buildFollowBlockbutton(data.local); } + // me? + var is_me = ''; + if(window.loggedIn !== false && window.loggedIn.id == data.local.id) { + var is_me = ' is-me'; + } + + // logged in? + var logged_in = ''; + if(window.loggedIn !== false) { + var logged_in = ' logged-in'; + } + // silenced? var is_silenced = ''; if(data.local.is_silenced === true) { @@ -483,8 +495,9 @@ function buildExternalProfileCard(data) { is_sandboxed = ' sandboxed'; } - // local id + // local id/screen_name var localUserId = data.local.id; + var localUserScreenName = data.local.screen_name; // empty strings and zeros instead of null data = cleanUpUserObject(data.external); @@ -519,8 +532,8 @@ function buildExternalProfileCard(data) { data.screenNameWithServer = '@' + data.screen_name + '@' + serverUrl; data.profileCardHtml = '\ -
    \ -
    \ +
    \ +
    \
    \ \
    \ @@ -551,7 +564,7 @@ function buildExternalProfileCard(data) {
  • ' + window.sL.followers + '' + data.followers_count + '
  • \ \ ' + followButton + '\ -
    \ +
    \
    \
    \
    \ @@ -1599,7 +1612,7 @@ function showConversation(q, qid, data, offsetScroll) { /* · · - · Add last visible class, since that's not possible to select in pure css + · Add last&first visible class, since that's not possible to select in pure css · · · · · · · · · · · · · · */ function findAndMarkLastVisibleInConversation(streamItem) { @@ -1607,6 +1620,8 @@ function findAndMarkLastVisibleInConversation(streamItem) { streamItem.children().removeClass('first-visible-after-parent'); streamItem.children().not('.hidden-conversation').not('.always-hidden').last().addClass('last-visible'); streamItem.children('.queet').nextAll().not('.hidden-conversation').not('.always-hidden').first().addClass('first-visible-after-parent'); + streamItem.children().removeClass('first-visible'); + streamItem.children().not('.hidden-conversation').not('.always-hidden').first().addClass('first-visible'); } @@ -1995,6 +2010,11 @@ function buildUserStreamItemHtml(obj) { if(obj.is_sandboxed === true) { sandboxedClass = ' sandboxed'; } + // logged in? + var loggedInClass = ''; + if(window.loggedIn !== false) { + loggedInClass = ' logged-in'; + } var followButton = ''; if(typeof window.loggedIn.screen_name != 'undefined' // if logged in @@ -2007,6 +2027,7 @@ function buildUserStreamItemHtml(obj) { return '
    \
    \ ' + followButton + '\ +
    \
    \
    \