forked from Mirrors/gomuks
199 lines
2.7 KiB
CSS
199 lines
2.7 KiB
CSS
div.timeline-event {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
overflow: hidden;
|
|
display: grid;
|
|
margin-top: .25rem;
|
|
grid-template:
|
|
"avatar gap sender sender" auto
|
|
"avatar gap content status" auto
|
|
/ 2.5rem .25rem 1fr 2rem;
|
|
|
|
&:hover {
|
|
background-color: #eee;
|
|
}
|
|
|
|
> div.sender-avatar {
|
|
grid-area: avatar;
|
|
|
|
width: 40px;
|
|
height: 40px;
|
|
margin-top: 2px;
|
|
}
|
|
|
|
> div.event-sender-and-time {
|
|
grid-area: sender;
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .25rem;
|
|
|
|
> span.event-sender {
|
|
font-weight: bold;
|
|
}
|
|
|
|
> span.event-time, > span.event-edited {
|
|
font-size: .8rem;
|
|
}
|
|
}
|
|
|
|
> div.event-time-only {
|
|
grid-area: timestamp;
|
|
display: none;
|
|
align-items: end;
|
|
justify-content: center;
|
|
font-size: .8rem;
|
|
max-height: 1.25rem;
|
|
margin-right: .25rem;
|
|
}
|
|
|
|
> div.event-content {
|
|
grid-area: content;
|
|
overflow: hidden;
|
|
}
|
|
|
|
> div.event-send-status {
|
|
grid-area: status;
|
|
display: flex;
|
|
justify-content: right;
|
|
align-items: end;
|
|
max-height: 1.25rem;
|
|
|
|
> svg {
|
|
height: 16px;
|
|
}
|
|
|
|
&.error {
|
|
color: red;
|
|
}
|
|
|
|
&.sending, &.sent {
|
|
color: #ccc;
|
|
}
|
|
}
|
|
|
|
&.same-sender {
|
|
grid-template:
|
|
"timestamp content status" auto
|
|
/ 2.75rem 1fr 2rem;
|
|
|
|
> div.sender-avatar, > div.event-sender-and-time {
|
|
display: none;
|
|
}
|
|
|
|
> div.event-time-only {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
&.hidden-event {
|
|
grid-template:
|
|
"timestamp avatar content status" auto
|
|
/ 2.75rem 1.5rem 1fr 2rem;
|
|
margin-top: 0;
|
|
|
|
> div.sender-avatar {
|
|
margin-top: 0;
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
> img {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
}
|
|
}
|
|
|
|
> div.event-sender-and-time {
|
|
display: none;
|
|
}
|
|
|
|
> div.event-time-only {
|
|
display: flex;
|
|
}
|
|
}
|
|
}
|
|
|
|
div.date-separator {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: .5rem;
|
|
|
|
> hr {
|
|
flex: 1;
|
|
opacity: .2;
|
|
}
|
|
}
|
|
|
|
div.decryption-error-body {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
> svg {
|
|
height: 20px;
|
|
color: red;
|
|
}
|
|
}
|
|
|
|
div.redacted-body, div.decryption-pending-body {
|
|
display: flex;
|
|
align-items: center;
|
|
color: #888;
|
|
|
|
> svg {
|
|
height: 20px;
|
|
}
|
|
}
|
|
|
|
div.html-body {
|
|
overflow: hidden;
|
|
img[data-mx-emoticon] {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
span[data-mx-spoiler] {
|
|
filter: blur(4px);
|
|
transition: filter .5s;
|
|
cursor: pointer;
|
|
|
|
&.spoiler-revealed {
|
|
filter: none;
|
|
}
|
|
|
|
&:not(.spoiler-revealed) a {
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
blockquote {
|
|
border-left: 2px solid #ccc;
|
|
padding-left: .5rem;
|
|
}
|
|
|
|
pre {
|
|
width: 100%;
|
|
max-height: max(50vh, 400px);
|
|
overflow: auto;
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
margin: 0 0 .5rem;
|
|
}
|
|
|
|
p, ul, ol, dl, table, pre, blockquote {
|
|
&:not(:last-child) {
|
|
margin: 0 0 .25rem;
|
|
}
|
|
&:last-child {
|
|
margin: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
div.media-container {
|
|
> img {
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
}
|
|
}
|