1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-09-01 19:00:56 +00:00
FrankerFaceZ/styles/tooltips.scss
SirStendec 8c9a3aa8a4 4.20.0
* Added: Emote Visibility Control for Emote Menu. You can now hide emotes you don't want from your emote menu. You still have them, and they'll still appear in chat if someone else uses them, but it helps keep the clutter down in your menu. (Closes #811)
* Added: Setting to toggle mute for the player when middle-clicking it. (Closes #812)
* Added: Setting to toggle the bold style applied to chat mentions. (Closes #816)
* Fixed: No background color being applied to Highlight My Message chat messages when using the new Twitch layout. Now, the default Twitch purple will be used when FFZ hasn't yet extracted the color for the current channel. Extracting the channel color is still broken at this time. (Closes #821)
* Fixed: The player volume resetting to 100% when changing channels. (Closes #820)
* Fixed: Chat appearing incorrectly when a custom width smaller than 340 pixels is set. (Closes #819)
2020-06-23 17:17:00 -04:00

478 lines
No EOL
7.7 KiB
SCSS

body {
overflow-x: hidden
}
.ffz-metadata-balloon {
z-index: 999999999 !important;
margin: 6px;
}
.ffz-tooltip.ffz-tooltip--no-mouse {
> * {
pointer-events: none;
}
}
.ffz-tooltip-child {
display: none !important;
}
.tw-balloon {
&[x-placement^="bottom"] > .tw-balloon__tail {
bottom: 100%;
.tw-balloon__tail-symbol {
top: auto;
bottom: -8px;
left: 8px;
}
}
&[x-placement^="top"] > .tw-balloon__tail {
top: 100%;
.tw-balloon__tail-symbol {
top: auto;
bottom: 8px;
left: 8px;
}
}
&[x-placement^="right"] > .tw-balloon__tail {
right: 100%;
.tw-balloon__tail-symbol {
left: auto;
right: -8px;
top: 8px;
}
}
&[x-placement^="left"] > .tw-balloon__tail {
left: 100%;
.tw-balloon__tail-symbol {
left: auto;
right: 8px;
top: 8px;
}
}
}
.ffz-metadata-balloon,
.ffz__tooltip {
.loader {
text-align: center;
opacity: .5;
margin: 1rem;
font-size: 3rem;
animation: ffz-rotateplane 1.2s infinite linear;
}
}
.ffz--tooltip-explain {
width: 30rem;
font-weight: 100;
white-space: normal;
}
.ffz__tooltip {
z-index: 999999999;
margin: 6px;
border-radius: 2px;
background: var(--color-background-tooltip);
color: var(--color-text-tooltip);
font-size: 1.2rem;
line-height: 1;
text-align: left;
white-space: pre-wrap;
&.html { white-space: normal }
.ffz__tooltip--arrow {
position: absolute;
width: 6px; height: 6px;
transform: rotate(45deg);
z-index: -1;
background: var(--color-background-tooltip);
}
&[x-placement^="bottom"] {
.ffz__tooltip--arrow {
top: -3px;
border-radius: 2px 0 0;
}
}
&[x-placement^="top"] {
.ffz__tooltip--arrow {
bottom: -3px;
border-radius: 0 0 2px;
}
}
&[x-placement^="right"] {
.ffz__tooltip--arrow {
left: -3px;
border-radius: 0 2px 0 0;
}
}
&[x-placement^="left"] {
.ffz__tooltip--arrow {
right: -3px;
border-radius: 0 0 0 2px;
}
}
}
.ffz__tooltip--inner {
display: block;
max-width: 30rem;
padding: .3rem .6rem;
text-align: center;
.preview-image {
&.ffz-badge {
height: 7.2rem;
width: 7.2rem;
background-size: 7.2rem;
background-repeat: no-repeat;
}
display: block;
margin: 3px auto 6px;
}
br {
display: block;
}
.ffz-cheer {
margin: 5px;
}
}
.ffz__tooltip--badges {
display: flex;
flex-wrap: wrap;
max-width: 20rem;
padding: .1rem .2rem;
}
.ffz-badge-tip {
margin: .2rem .4rem;
}
.ffz-rich-tip {
max-width: 340px;
width: 340px;
text-align: left;
position: relative;
padding: 8px;
/*.stats:after, .heading:after {
content: '';
display: table;
clear: both;
}
.tweet-heading {
&:before {
content: '';
position: absolute;
top: 24px;
right: 24px;
width: 20px;
height: 16px;
background: url("//cdn.frankerfacez.com/script/twitter_sprites.png") -38px -15px;
}
.avatar {
border-radius: 50%;
}
}
.heading {
.title {
font-weight: bold;
display: block;
text-align: justify;
}
}
.display-name {
padding-top: 3px;
font-size: 14px;
display: block;
&.big-name {
font-size: 20px;
padding-top: 18px;
}
}
.quoted {
.display-name {
padding: 0 5px 0 0;
display: inline;
font-size: 12px;
}
}
.avatar {
float: left;
margin-right: 8px;
max-height: 48px;
max-width: 100px;
}*/
}
.ffz--chat-card,
.ffz-rich-tip {
.body { line-height: 1.5em }
.tweet-heading:before {
content: '';
position: absolute;
top: 24px;
right: 24px;
width: 20px;
height: 16px;
background: url("//cdn.frankerfacez.com/script/twitter_sprites.png") -38px -15px;
}
.stats:after, .heading:after {
content: '';
display: table;
clear: both;
}
.avatar {
float: left;
margin-right: 8px;
max-height: 48px;
max-width: 100px;
}
.tweet-heading .avatar {
border-radius: 50%;
}
.heading .title {
font-weight: bold;
display: block;
text-align: justify;
}
.display-name {
padding-top: 3px;
font-size: 14px;
display: block;
&.big-name {
font-size: 20px;
padding-top: 18px;
}
}
.quoted .display-name {
padding: 0 5px 0 0;
display: inline;
font-size: 12px;
}
.twitch-heading {
.tip-badge.verified {
height: 12px;
width: 12px;
margin: 2px 0 -1px 5px;
background: url("https://static-cdn.jtvnw.net/badges/v1/d12a2e27-16f6-41d0-ab77-b780518f00a3/1");
background-size: contain;
display: inline-block;
}
.big-name .tip-badge.verified {
height: 18px;
width: 18px;
margin: 1px 0 0 10px;
}
}
.tweet-heading .tip-badge {
height: 12px;
width: 12px;
margin: 2px 0 -1px 5px;
background: url("//cdn.frankerfacez.com/script/twitter_sprites.png");
display: inline-block;
}
.tip-badge {
&.verified {
background-position: 0 -15px;
}
&.translator {
background-position: -12px -15px;
}
&.protected {
background-position: -24px -15px;
width: 14px;
}
}
.emoji {
height: 1em;
vertical-align: middle;
}
.quoted > div:not(:first-child), > div:not(:first-child) {
margin-top: 8px;
}
.quote-heading + .body {
margin-top: 0 !important;
}
.replying {
+ .body {
margin-top: 0 !important;
}
opacity: 0.6;
font-size: 10px;
}
.subtitle, .quoted .body, .stats, .username {
opacity: 0.6;
}
.stats {
display: flex;
.wide-stat {
flex-grow: 1;
}
}
time {
flex-grow: 1;
}
.tweet-stats .stat:before {
.tw-root--theme-dark & {
filter: invert(100%);
}
content: '';
display: inline-block;
background: url("//cdn.frankerfacez.com/script/twitter_sprites.png");
margin: 0 5px 0 10px;
}
.stat {
&.likes:before {
width: 17px;
height: 14px;
margin-bottom: -3px;
}
&.retweets:before {
width: 20px;
height: 12px;
background-position: -34px 0;
margin-bottom: -2px;
}
}
.media {
position: relative;
text-align: center;
&[data-count]:not([data-count="1"]) {
display: flex;
margin: 8px -5px -5px 0;
flex-flow: column wrap;
height: 329px;
}
.duration {
position: absolute;
bottom: 0;
right: 0;
margin: 4px;
background: #000;
color: #fff;
opacity: .8;
padding: 2px 4px;
border-radius: 2px;
z-index: 10;
font-weight: 500;
}
}
.sixteen-nine {
width: 100%;
overflow: hidden;
margin: 0;
padding-top: 56.25%;
position: relative;
img {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
transform: translate(-50%, -50%);
}
}
.media {
video {
width: 100%;
max-height: 324px;
}
&[data-count="4"] {
flex-flow: row wrap;
}
&[data-count="2"] {
height: 164.5px;
}
img {
max-height: 324px;
}
}
.quoted .media {
&[data-count]:not([data-count="1"]), &[data-count="2"] {
height: 150px;
}
video, img {
max-height: 150px;
}
}
.media {
span {
background: no-repeat center center;
background-size: cover;
}
&[data-count="2"] span, &[data-count="3"] span, &[data-count="4"] span {
width: calc(50% - 5px);
height: calc(50% - 5px);
margin: 0 5px 5px 0;
}
&[data-count="2"] span, &[data-count="3"] span:first-of-type {
height: 100%;
}
}
.profile-stats {
display: flex;
flex-flow: row;
flex-wrap: wrap;
div {
flex-grow: 1;
font-size: 16px;
margin-right: 10px;
}
span {
display: block;
font-size: 12px;
opacity: 0.7;
}
}
.quoted {
border: 1px solid #474747;
border-radius: 5px;
padding: 8px;
}
.media[data-type="video"]:after {
position: absolute;
content: '';
width: 64px;
height: 64px;
top: calc(50% - 32px);
left: calc(50% - 32px);
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23FFF' d='M15 10.001c0 .299-.305.514-.305.514l-8.561 5.303C5.51 16.227 5 15.924 5 15.149V4.852c0-.777.51-1.078 1.135-.67l8.561 5.305c-.001 0 .304.215.304.514z'/%3E%3C/svg%3E");
}
}