diff options
Diffstat (limited to 'src/components/status/status.scss')
| -rw-r--r-- | src/components/status/status.scss | 563 |
1 files changed, 261 insertions, 302 deletions
diff --git a/src/components/status/status.scss b/src/components/status/status.scss index 05edd1bf..85e433c4 100644 --- a/src/components/status/status.scss +++ b/src/components/status/status.scss @@ -3,36 +3,31 @@ $status-margin: 0.75em; -.status-body { - flex: 1; - min-width: 0; -} - -.status-pin { - padding: $status-margin $status-margin 0; - display: flex; - align-items: center; - justify-content: flex-end; -} - -.media-left { - margin-right: $status-margin; -} - -.status-el { - border-left-width: 0px; +.Status { min-width: 0; border-color: $fallback--border; border-color: var(--border, $fallback--border); - border-left: 4px $fallback--cRed; border-left: 4px var(--cRed, $fallback--cRed); - &_focused { + // TODO find a way to do this in a cleaner way without JS + // stylelint-disable rscss/class-format + &:hover .avatar.animated { + canvas { + display: none; + } + + img { + visibility: visible; + } + } + + &.-focused { background-color: $fallback--lightBg; background-color: var(--selectedPost, $fallback--lightBg); color: $fallback--text; color: var(--selectedPostText, $fallback--text); + --lightText: var(--selectedPostLightText, $fallback--light); --faint: var(--selectedPostFaintText, $fallback--faint); --faintLink: var(--selectedPostFaintLink, $fallback--faint); @@ -41,17 +36,32 @@ $status-margin: 0.75em; --icon: var(--selectedPostIcon, $fallback--icon); } - .timeline & { - border-bottom-width: 1px; - border-bottom-style: solid; + .status-container { + display: flex; + padding: $status-margin; + + &.-repeat { + padding-top: 0; + } } - .media-body { + .pin { + padding: $status-margin $status-margin 0; + display: flex; + align-items: center; + justify-content: flex-end; + } + + .left-side { + margin-right: $status-margin; + } + + .right-side { flex: 1; - padding: 0; + min-width: 0; } - .status-usercard { + .usercard { margin-bottom: $status-margin; } @@ -59,15 +69,17 @@ $status-margin: 0.75em; white-space: nowrap; font-size: 14px; overflow: hidden; - flex-shrink: 0; max-width: 85%; font-weight: bold; + flex-shrink: 1; + margin-right: 0.4em; + text-overflow: ellipsis; - img.emoji { + .emoji { width: 14px; height: 14px; vertical-align: middle; - object-fit: contain + object-fit: contain; } } @@ -77,358 +89,305 @@ $status-margin: 0.75em; margin-right: 0.4em; } - .media-heading { - padding: 0; - vertical-align: bottom; - flex-basis: 100%; + .status-heading { margin-bottom: 0.5em; + } - small { - font-weight: lighter; - } + .heading-name-row { + display: flex; + justify-content: space-between; + line-height: 18px; - .heading-name-row { - padding: 0; - display: flex; - justify-content: space-between; - line-height: 18px; + a { + display: inline-block; + word-break: break-all; + } + } - a { - display: inline-block; - word-break: break-all; - } + .account-name { + min-width: 1.6em; + margin-right: 0.4em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + flex: 1 1 0; + } - .name-and-account-name { - display: flex; - min-width: 0; - } + .heading-left { + display: flex; + min-width: 0; + } - .user-name { - flex-shrink: 1; - margin-right: 0.4em; - overflow: hidden; - text-overflow: ellipsis; - } + .heading-right { + display: flex; + flex-shrink: 0; + } - .account-name { - min-width: 1.6em; - margin-right: 0.4em; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - flex: 1 1 0; - } - } + .timeago { + margin-right: 0.2em; + } - .heading-right { - display: flex; - flex-shrink: 0; - } + .heading-reply-row { + position: relative; + align-content: baseline; + font-size: 12px; + line-height: 18px; + max-width: 100%; + display: flex; + flex-wrap: wrap; + align-items: stretch; + } - .timeago { - margin-right: 0.2em; - } + .reply-to-and-accountname { + display: flex; + height: 18px; + margin-right: 0.5em; + max-width: 100%; - .heading-reply-row { - position: relative; - align-content: baseline; - font-size: 12px; - line-height: 18px; - max-width: 100%; - display: flex; - flex-wrap: wrap; - align-items: stretch; - - > .reply-to-and-accountname > a { - overflow: hidden; - max-width: 100%; - text-overflow: ellipsis; - white-space: nowrap; - word-break: break-all; - } + .icon-reply { + // mirror the icon + transform: scaleX(-1); } + } - .reply-to-and-accountname { - display: flex; - height: 18px; - margin-right: 0.5em; - max-width: 100%; - .icon-reply { - transform: scaleX(-1); - } - } + .reply-to-popover { + min-width: 0; + margin-right: 0.4em; - .reply-info { - display: flex; + &:hover { + border-bottom: 1px solid var(--faint); } - .reply-to-popover { - min-width: 0; + .faint-link:hover { + // override default + text-decoration: none; } + } - .reply-to { - display: flex; - } + .reply-to { + display: flex; + } - .reply-to-text { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin: 0 0.4em 0 0.2em; - } + .reply-to-text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin-left: 0.2em; - .strikethrough { + &.-strikethrough { text-decoration: line-through; } + } - .replies-separator { - margin-left: 0.4em; - } + .replies-separator { + margin-left: 0.4em; + } - .replies { - line-height: 18px; - font-size: 12px; - display: flex; - flex-wrap: wrap; - & > * { - margin-right: 0.4em; - } - } + .replies { + line-height: 18px; + font-size: 12px; + display: flex; + flex-wrap: wrap; - .reply-link { - height: 17px; + & > * { + margin-right: 0.4em; } } - .retweet-info { - padding: 0.4em $status-margin; - margin: 0; - - .avatar.still-image { - border-radius: $fallback--avatarAltRadius; - border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius); - margin-left: 28px; - width: 20px; - height: 20px; - } + .reply-link { + height: 17px; + } - .media-body { - font-size: 1em; - line-height: 22px; + .repeat-info { + padding: 0.4em $status-margin; + line-height: 22px; + .right-side { display: flex; align-content: center; flex-wrap: wrap; + } - .user-name { - font-weight: bold; - overflow: hidden; - text-overflow: ellipsis; - - img { - width: 14px; - height: 14px; - vertical-align: middle; - object-fit: contain - } - } - - i { - padding: 0 0.2em; - } - - a { - max-width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } + i { + padding: 0 0.2em; } } -} - -.status-fadein { - animation-duration: 0.4s; - animation-name: fadein; -} -@keyframes fadein { - from { - opacity: 0; + .repeater-avatar { + border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius); + margin-left: 28px; + width: 20px; + height: 20px; } - to { - opacity: 1; - } -} - -.status-conversation { - border-left-style: solid; -} -.status-actions { - position: relative; - width: 100%; - display: flex; - margin-top: $status-margin; + .repeater-name { + text-overflow: ellipsis; + margin-right: 0; - > * { - max-width: 4em; - flex: 1; + .emoji { + width: 14px; + height: 14px; + vertical-align: middle; + object-fit: contain; + } } -} -.button-icon.icon-reply { - &:not(.button-icon-disabled):hover, - &.button-icon-active { - color: $fallback--cBlue; - color: var(--cBlue, $fallback--cBlue); + .status-fadein { + animation-duration: 0.4s; + animation-name: fadein; } -} -.button-icon.icon-reply { - &:not(.button-icon-disabled) { - cursor: pointer; - } -} + @keyframes fadein { + from { + opacity: 0; + } -.status:hover .animated.avatar { - canvas { - display: none; - } - img { - visibility: visible; + to { + opacity: 1; + } } -} -.status { - display: flex; - padding: $status-margin; - &.is-retweet { - padding-top: 0; + .status-actions { + position: relative; + width: 100%; + display: flex; + margin-top: $status-margin; + + > * { + max-width: 4em; + flex: 1; + } } -} -.status-conversation:last-child { - border-bottom: none; -} + .button-reply { + &:not(.-disabled) { + cursor: pointer; + } -.muted { - padding: .25em .6em; - height: 1.2em; - line-height: 1.2em; - text-overflow: ellipsis; - overflow: hidden; - display: flex; - flex-wrap: nowrap; - - .username, .mute-thread, .mute-words { - word-wrap: normal; - word-break: normal; - white-space: nowrap; + &:not(.-disabled):hover, + &.-active { + color: $fallback--cBlue; + color: var(--cBlue, $fallback--cBlue); + } } - .username, .mute-words { + .muted { + padding: 0.25em 0.6em; + height: 1.2em; + line-height: 1.2em; text-overflow: ellipsis; overflow: hidden; - } + display: flex; + flex-wrap: nowrap; - .username { - flex: 0 1 auto; - margin-right: .2em; - } + & .user-name, + & .mute-thread, + & .mute-words { + word-wrap: normal; + word-break: normal; + white-space: nowrap; + } - .mute-thread { - flex: 0 0 auto; - } + & .user-name, + & .mute-words { + text-overflow: ellipsis; + overflow: hidden; + } - .mute-words { - flex: 1 0 5em; - margin-left: .2em; - &::before { - content: ' ' + .user-name { + font-weight: normal; + flex: 0 1 auto; + margin-right: 0.2em; + } + + .mute-thread { + flex: 0 0 auto; } - } - .unmute { - flex: 0 0 auto; - margin-left: auto; - display: block; - margin-left: auto; + .mute-words { + flex: 1 0 5em; + margin-left: 0.2em; + + &::before { + content: ' '; + } + } + + .unmute { + flex: 0 0 auto; + margin-left: auto; + display: block; + } } -} -.reply-body { - flex: 1; -} + .reply-body { + flex: 1; + } -.favs-repeated-users { - margin-top: $status-margin; + .favs-repeated-users { + margin-top: $status-margin; + } .stats { width: 100%; display: flex; line-height: 1em; + } - .stat-count { - margin-right: $status-margin; - user-select: none; + .avatar-row { + flex: 1; + overflow: hidden; + position: relative; + display: flex; + align-items: center; - &:hover .stat-title { - text-decoration: underline; - } + &::before { + content: ''; + position: absolute; + height: 100%; + width: 1px; + left: 0; + background-color: var(--faint, $fallback--faint); + } + } - .stat-title { - color: var(--faint, $fallback--faint); - font-size: 12px; - text-transform: uppercase; - position: relative; - } + .stat-count { + margin-right: $status-margin; + user-select: none; - .stat-number { - font-weight: bolder; - font-size: 16px; - line-height: 1em; - } + .stat-title { + color: var(--faint, $fallback--faint); + font-size: 12px; + text-transform: uppercase; + position: relative; } - .avatar-row { - flex: 1; - overflow: hidden; - position: relative; - display: flex; - align-items: center; + .stat-number { + font-weight: bolder; + font-size: 16px; + line-height: 1em; + } - &::before { - content: ''; - position: absolute; - height: 100%; - width: 1px; - left: 0; - background-color: var(--faint, $fallback--faint); - } + &:hover .stat-title { + text-decoration: underline; } } -} -@media all and (max-width: 800px) { - .status-el { - .retweet-info { - .avatar.still-image { - margin-left: 20px; - } + @media all and (max-width: 800px) { + .repeater-avatar { + margin-left: 20px; } - } - .status { - max-width: 100%; - } - .status .avatar.still-image { - width: 40px; - height: 40px; + .avatar:not(.repeater-avatar) { + width: 40px; + height: 40px; - &.avatar-compact { - width: 32px; - height: 32px; + // TODO define those other way somehow? + // stylelint-disable rscss/class-format + &.avatar-compact { + width: 32px; + height: 32px; + } } } } |
