@import "theme.scss"; .message { display: flex; padding: 4px 16px; &.continued { margin-top: -4px; .timestamp { flex: none; /* >:| NOT GONNA SHRINK BOI */ margin: 0; width: 40px; visibility: hidden; } &:hover .timestamp { visibility: visible; } } .member-avatar img { width: 40px; height: 40px; border-radius: 20px; cursor: pointer; user-select: none; } .right { flex: 1; display: flex; flex-flow: column; align-items: flex-start; margin-left: 16px; /* putting the margin here rather than on the avatar makes selecting better */ user-select: text; } .header { display: flex; align-items: baseline; } .member-name { font-size: 16px; line-height: 22px; font-weight: 500; color: $header-primary; cursor: pointer; white-space: nowrap; } .member-name:hover { text-decoration: underline; } .timestamp { font-size: 12px; line-height: 22px; font-weight: 500; color: $text-muted; margin-left: 4px; white-space: nowrap; } .content { font-size: 16px; color: $text-normal; overflow-wrap: anywhere; &.text { white-space: pre-wrap; .bold { font-weight: 600; color: $header-primary; /* a bit brighter for some more emphasis */ } .underline { text-decoration: underline; } .italic { font-style: italic; } } &.image { /* Center the loading icon */ display: flex; justify-content: center; align-items: center; border-radius: 8px; background-color: $background-secondary-alt; cursor: pointer; overflow: hidden; img { max-width: 400px; max-height: 300px; border-radius: 8px; } } /* TODO: ellipse the overflow */ &.resource { min-width: 300px; max-width: 400px; display: flex; align-items: center; background-color: $background-secondary-alt; padding: 8px; border-radius: 8px; cursor: pointer; &:hover .download-status { text-decoration: underline; } > :not(:last-child) { margin-right: 8px; } .icon { width: 26px; height: 26px; -webkit-user-select: none; user-select: none; } .filename { color: $text-link; } .download-status { font-size: 12px; font-weight: 500; color: $text-muted; -webkit-user-select: none; user-select: none; } } } }