discourse/plugins/discourse-presence/assets/stylesheets/presence.scss
2024-12-11 14:59:37 +01:00

104 lines
1.8 KiB
SCSS

.topic-above-footer-buttons-outlet.presence {
min-height: 1.8em; // height of the avatars, prevents layout shift
margin: var(--below-topic-margin) 0;
}
.presence-users {
background-color: var(--secondary);
color: var(--primary-medium);
display: flex;
span.presence-text {
align-items: center;
display: flex;
flex: 0 0 auto;
margin-left: 8px;
}
.presence-avatars {
display: flex;
overflow: hidden;
flex-wrap: wrap;
}
.wave {
display: inline-flex;
flex: 0 0 auto;
.dot {
display: inline-block;
@media (prefers-reduced-motion: no-preference) {
animation: wave 1.8s linear infinite;
}
&:nth-child(2) {
animation-delay: -1.6s;
}
&:nth-child(3) {
animation-delay: -1.4s;
}
}
}
@keyframes wave {
0%,
60%,
100% {
transform: initial;
}
30% {
transform: translateY(-0.2em);
}
}
}
.composer-fields .presence-users {
overflow: hidden;
flex-shrink: 1;
.presence-avatars {
flex-wrap: nowrap;
}
}
.mobile-view .composer-fields .presence-users .description {
display: none;
}
// TMP: RTL overrides
.rtl {
span.presence-text {
margin-right: 8px;
}
.composer-fields .presence-users {
right: unset;
left: 95px;
}
&.mobile-view {
.composer-fields .presence-users {
right: unset;
left: 65px;
}
}
}
// Always hide the "Topic Presence" in the topic timeline
.topic-navigation.with-timeline .topic-navigation-bottom-outlet.presence {
display: none;
}
// Hide the "Topic Presence" in the topic footer when the timeline is hidden
body:has(.topic-navigation.with-topic-progress)
.topic-above-footer-buttons-outlet.presence {
display: none;
}
.topic-navigation-bottom-outlet.presence {
margin-right: auto;
order: -1;
display: flex;
}