298 lines
6.0 KiB
CSS
298 lines
6.0 KiB
CSS
/* layout */
|
|
#chat-page #main #message-page .content {
|
|
padding: 0px;
|
|
overflow: hidden;
|
|
display: flex;
|
|
|
|
position: relative;
|
|
}
|
|
|
|
#chat-page #main #message-page .content #message-container {
|
|
--message-container-padding: var(--control-height);
|
|
padding-bottom: calc(
|
|
var(--message-container-padding) + var(--content-padding)
|
|
) !important;
|
|
}
|
|
|
|
#chat-page
|
|
#main
|
|
#message-page
|
|
.content:has(.reply-preview-wrapper .reply-preview)
|
|
#message-container {
|
|
--message-container-padding: calc(
|
|
2 * var(--control-height) + var(--gap-between-tiles)
|
|
);
|
|
}
|
|
|
|
#message-page #message-container {
|
|
overflow: auto;
|
|
}
|
|
|
|
/* composer */
|
|
#message-page #composer {
|
|
display: flex;
|
|
justify-content: center;
|
|
|
|
position: absolute;
|
|
bottom: 0px;
|
|
left: 0px;
|
|
right: 0px;
|
|
}
|
|
|
|
#message-page #composer input {
|
|
margin: 0px;
|
|
width: 100%;
|
|
max-width: unset;
|
|
flex: 1;
|
|
border-top: 1px solid var(--border);
|
|
border-left: 1px solid var(--border);
|
|
}
|
|
|
|
#message-page #composer .content-width-constraint {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
justify-content: center;
|
|
flex-direction: column;
|
|
gap: var(--gap-between-tiles);
|
|
}
|
|
|
|
#message-page #composer .reply-preview-wrapper {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
width: 100%;
|
|
}
|
|
|
|
#message-page #composer .reply-preview-wrapper .reply-preview {
|
|
width: 100%;
|
|
max-width: var(--max-input-width);
|
|
|
|
display: flex;
|
|
gap: var(--gap-between-tiles);
|
|
}
|
|
|
|
#message-page #composer .reply-preview-wrapper .reply-preview > div {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--text-gap);
|
|
|
|
padding: 0px var(--content-padding);
|
|
|
|
width: calc(100% - var(--control-height) - var(--gap-between-tiles));
|
|
}
|
|
|
|
@media (max-width: 700px) {
|
|
#message-page #composer div {
|
|
width: calc(100vw - var(--control-height));
|
|
max-width: unset;
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 700px) {
|
|
#message-page #composer .content-width-constraint,
|
|
#message-page #composer .input-width-constraint {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
width: 100%;
|
|
max-width: var(--max-content-width);
|
|
}
|
|
|
|
#message-page #composer .content-width-constraint {
|
|
max-width: var(--max-content-width);
|
|
}
|
|
|
|
#message-page #composer .input-width-constraint {
|
|
max-width: var(--max-input-width);
|
|
}
|
|
}
|
|
|
|
/* message */
|
|
#message-page #message-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
|
|
padding: var(--content-padding);
|
|
gap: var(--gap-between-tiles);
|
|
|
|
height: auto;
|
|
max-height: unset;
|
|
}
|
|
|
|
#message-page #message-container:not([scroll-hard]) {
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
.message-bubble {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
max-width: var(--max-content-width);
|
|
}
|
|
|
|
.message-bubble .tile.main {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: start;
|
|
|
|
padding: 0px;
|
|
|
|
width: 100%;
|
|
max-width: var(--max-input-width);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.message-bubble .tile.main .text-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
overflow: hidden;
|
|
|
|
width: 100%;
|
|
flex: 1;
|
|
}
|
|
|
|
.message-bubble .tile.main .button-container {
|
|
display: flex;
|
|
|
|
width: var(--control-height);
|
|
max-width: var(--control-height);
|
|
}
|
|
|
|
.message-bubble .tile.main button {
|
|
justify-content: center;
|
|
|
|
padding: 0px;
|
|
width: 100%;
|
|
|
|
--surface: transparent;
|
|
}
|
|
|
|
.message-bubble .tile.main .reply-button {
|
|
display: none;
|
|
}
|
|
|
|
.message-bubble:hover .tile.main .reply-button {
|
|
display: flex;
|
|
}
|
|
|
|
.message-bubble .tile.main .text-container {
|
|
padding: var(--control-padding);
|
|
}
|
|
|
|
.message-bubble .tile.main .timestamp,
|
|
.message-bubble .tile.main .timestamp .icon,
|
|
.message-bubble .tile.main .sender-name {
|
|
font-size: 0.8rem;
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.message-bubble .tile.main .timestamp {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--gap-between-tiles);
|
|
}
|
|
|
|
.message-bubble .tile.main .timestamp .icon {
|
|
display: none;
|
|
}
|
|
|
|
.message-bubble .tile.main .sender-name {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.message-bubble .tile.main .body {
|
|
word-break: break-word;
|
|
}
|
|
|
|
.modal .message-bubble .tile.main .body {
|
|
word-break: keep-all;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
width: 100%;
|
|
}
|
|
|
|
.message-bubble[sentbyuser] {
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.message-bubble[sentbyuser] {
|
|
align-items: flex-end;
|
|
}
|
|
|
|
.message-bubble[sentbyuser] .tile.main,
|
|
.message-bubble[sentbyuser] .tile.main .timestamp {
|
|
flex-direction: row-reverse;
|
|
}
|
|
|
|
.message-bubble[sentbyuser] .tile.main .timestamp .icon {
|
|
display: flex;
|
|
}
|
|
|
|
.message-bubble[sentbyuser] .tile.main span {
|
|
text-align: right;
|
|
}
|
|
|
|
.message-bubble > .inline-reply {
|
|
cursor: pointer;
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
background: var(--surface-alt);
|
|
height: var(--control-height);
|
|
|
|
max-width: var(--max-input-width);
|
|
width: 100%;
|
|
overflow: hidden;
|
|
|
|
padding: 0px var(--control-padding);
|
|
gap: var(--text-gap);
|
|
|
|
border-left: var(--outline-width) solid var(--primary);
|
|
}
|
|
|
|
.message-bubble > .message-reaction-row {
|
|
max-width: var(--max-input-width);
|
|
width: 100%;
|
|
|
|
padding: var(--gap-between-tiles);
|
|
background: var(--surface-alt);
|
|
|
|
display: none !important;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.message-bubble > .message-reaction-row:has(button:not([count="0"])) {
|
|
display: grid !important;
|
|
}
|
|
|
|
.message-bubble > .message-reaction-row button {
|
|
min-height: unset;
|
|
height: 100%;
|
|
width: 100%;
|
|
padding: var(--control-padding-compact);
|
|
gap: 0px;
|
|
flex: 1 !important;
|
|
animation: slide-up var(--animation-duration);
|
|
}
|
|
|
|
.message-bubble > .message-reaction-row button[count="0"] {
|
|
display: none;
|
|
}
|
|
|
|
.message-reaction-row {
|
|
grid-template-columns: repeat(3, minmax(80px, 1fr));
|
|
}
|
|
|
|
@media (min-width: 100px) {
|
|
.message-reaction-row {
|
|
grid-template-columns: repeat(3, minmax(80px, 1fr));
|
|
}
|
|
}
|
|
|
|
.grid.message-reaction-filter {
|
|
grid-template-columns: repeat(3, 1fr);
|
|
}
|