mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-21 10:54:10 +08:00
A follow-up to #31343. ``` WARNING: Sass's behavior for declarations that appear after nested rules will be changing to match the behavior specified by CSS in an upcoming version. To keep the existing behavior, move the declaration above the nested rule. To opt into the new behavior, wrap the declaration in `& {}`. More info: https://sass-lang.com/d/mixed-decls ```
290 lines
5.2 KiB
SCSS
Vendored
290 lines
5.2 KiB
SCSS
Vendored
:root {
|
|
--message-left-width: 42px;
|
|
--full-page-border-radius: 12px;
|
|
--full-page-sidebar-width: 275px;
|
|
--channel-list-avatar-size: 30px;
|
|
--chat-header-offset: 45px;
|
|
--chat-header-expanded-offset: 0px;
|
|
}
|
|
|
|
// Very specific hack to ensure the contextual menu (copy/paste/...) is
|
|
// not completely over the textarea, the rules to position this menu are quite obscure
|
|
// and under DiscourseHUB the space between the textarea and the keyboard is so small that
|
|
// it sometimes prefer to appear on top of the textarea, making any gesture very complicated
|
|
html.ios-device.keyboard-visible body #main-outlet .full-page-chat {
|
|
padding-bottom: 0.2rem;
|
|
}
|
|
|
|
.uppy-is-drag-over .chat-composer .drop-a-file {
|
|
display: flex;
|
|
position: absolute;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100%;
|
|
height: 100%;
|
|
top: 0;
|
|
left: 0;
|
|
background-color: rgba(0, 0, 0, 0.75);
|
|
z-index: z("header");
|
|
pointer-events: none;
|
|
|
|
&-content {
|
|
width: max-content;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
padding: 2em;
|
|
background-color: #1d1d1d;
|
|
border-radius: 0.25em;
|
|
|
|
&-images {
|
|
.d-icon {
|
|
height: 3em;
|
|
width: 3em;
|
|
color: var(--secondary-or-primary);
|
|
|
|
&:first-of-type {
|
|
transform: rotate(-5deg);
|
|
}
|
|
|
|
&:nth-of-type(2) {
|
|
height: 4em;
|
|
width: 4em;
|
|
}
|
|
|
|
&:last-of-type {
|
|
transform: rotate(5deg);
|
|
}
|
|
}
|
|
}
|
|
|
|
&-text {
|
|
margin: 1.5em 0 0 0;
|
|
font-size: var(--font-up-1);
|
|
color: var(--secondary-or-primary);
|
|
|
|
.d-icon-upload {
|
|
padding-right: 0.25em;
|
|
position: relative;
|
|
bottom: 2px;
|
|
color: var(--secondary-or-primary);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.header-dropdown-toggle.chat-header-icon .icon {
|
|
.chat-channel-unread-indicator {
|
|
border: 2px solid var(--header_background);
|
|
position: absolute;
|
|
top: 0;
|
|
right: 2px;
|
|
|
|
@include chat-unread-indicator;
|
|
|
|
&.-urgent {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: auto;
|
|
height: 1em;
|
|
min-width: 0.6em;
|
|
padding: 0.21em 0.42em;
|
|
top: -1px;
|
|
right: 0;
|
|
}
|
|
}
|
|
|
|
span.icon {
|
|
cursor: auto;
|
|
|
|
&:hover {
|
|
.d-icon {
|
|
color: var(--header_primary-low-mid);
|
|
}
|
|
background: none;
|
|
}
|
|
}
|
|
|
|
a.icon {
|
|
&.active {
|
|
.d-icon-comment {
|
|
color: var(--primary-medium);
|
|
}
|
|
}
|
|
|
|
&:hover {
|
|
.chat-channel-unread-indicator {
|
|
border-color: var(--primary-low);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.chat-messages-container {
|
|
word-wrap: break-word;
|
|
white-space: normal;
|
|
position: relative;
|
|
|
|
.chat-message-container {
|
|
display: grid;
|
|
|
|
&.-selectable {
|
|
grid-template-columns: 1.5em 1fr;
|
|
}
|
|
|
|
.chat-message-selector {
|
|
align-self: center;
|
|
justify-self: end;
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
.chat-time {
|
|
color: var(--primary-high);
|
|
font-size: var(--font-down-2);
|
|
}
|
|
}
|
|
|
|
.chat-emoji-avatar {
|
|
width: var(--message-left-width);
|
|
align-items: center;
|
|
|
|
img {
|
|
display: block;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
}
|
|
|
|
.avatar {
|
|
box-sizing: border-box;
|
|
|
|
.is-online & {
|
|
padding: 2px;
|
|
box-shadow: inset 0 0 0 1px var(--success), inset 0 0 0 2px var(--secondary);
|
|
}
|
|
}
|
|
|
|
body.has-sidebar-page.has-full-page-chat #main-outlet-wrapper {
|
|
gap: 0;
|
|
}
|
|
|
|
body.has-full-page-chat {
|
|
.alert-error,
|
|
.alert-info,
|
|
.alert-success,
|
|
.alert-warning {
|
|
margin: 0;
|
|
border-bottom: 1px solid var(--primary-low);
|
|
}
|
|
}
|
|
|
|
.full-page-chat {
|
|
display: grid;
|
|
grid-template-columns: var(--full-page-sidebar-width) 1fr;
|
|
background: var(--d-content-background);
|
|
|
|
.c-navbar-container {
|
|
position: sticky;
|
|
top: var(--main-outlet-offset);
|
|
z-index: 1;
|
|
}
|
|
|
|
.chat-messages-scroller {
|
|
box-sizing: border-box;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
.user-preferences .chat-setting .controls {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.chat-cooked {
|
|
> p {
|
|
margin: 0.5em 0 0.5em;
|
|
}
|
|
|
|
> p:first-of-type {
|
|
margin-top: 0.1em;
|
|
}
|
|
|
|
> p:last-of-type {
|
|
margin-bottom: 0.1em;
|
|
}
|
|
}
|
|
|
|
.reviewable-chat-message {
|
|
.chat-channel-title {
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
|
|
.chat-channel-dm-title {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
|
|
.channel-name {
|
|
font-weight: 700;
|
|
font-size: var(--font-up-1);
|
|
line-height: var(--font-up-1);
|
|
}
|
|
}
|
|
|
|
.chat-channel-status {
|
|
background: var(--secondary);
|
|
padding: 0.5rem 1rem;
|
|
border-bottom: 1px solid var(--primary-low);
|
|
}
|
|
|
|
html.has-full-page-chat {
|
|
height: 100%;
|
|
width: 100%;
|
|
|
|
&.footer-nav-ipad {
|
|
height: calc(100% - var(--footer-nav-height, 0px));
|
|
}
|
|
|
|
body {
|
|
height: 100%;
|
|
width: 100%;
|
|
|
|
#main-outlet {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.full-page-chat {
|
|
height: 100%;
|
|
min-height: 0;
|
|
}
|
|
|
|
.main-chat-outlet {
|
|
min-height: 0;
|
|
max-width: 100vw;
|
|
box-sizing: border-box;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.mobile-view {
|
|
#main-outlet-wrapper {
|
|
padding: 0;
|
|
}
|
|
}
|
|
|
|
// these need to apply to desktop too, because iPads
|
|
&.discourse-touch {
|
|
.full-page-chat,
|
|
.chat-channel,
|
|
#main-outlet {
|
|
// allows containers to shrink to fit
|
|
min-height: 0;
|
|
}
|
|
}
|
|
|
|
[data-popper-reference-hidden] {
|
|
visibility: hidden;
|
|
}
|
|
}
|