mirror of
https://github.com/discourse/discourse.git
synced 2024-12-05 08:40:29 +08:00
89d7b1861d
* FIX: increases resize observer throttle delay 25ms is not necessary and was sometimes causing jankyness. * FIX: removes ios momentum fix delay Instead of a 50ms, simply use next+schedule("afterRender") to attempt to have the shortest delay possible. * FIX: backdrop event propagation Prevents backdrop touch to propagate to underlying channel/thread. * UX: adds is-active class to container of active message This change allows to keep the background on the active message while the actions menu is displayed. * FIX: prevents skip-link to be selected on press * UX: allows to close actions menu instantly The backdrop should always receive events, we don't need to wait for the menu to be fully displayed. * UI: adds spacing between last message and composer * UI: makes backdrop less dark * FIX: makes events passive on long-press modifier
173 lines
3.1 KiB
SCSS
173 lines
3.1 KiB
SCSS
.chat-message-actions {
|
|
position: absolute;
|
|
bottom: -100vh;
|
|
left: 0;
|
|
right: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-radius: 8px 8px 0 0;
|
|
margin: 0 5px;
|
|
transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1),
|
|
visibility cubic-bezier(0.4, 0, 0.2, 1);
|
|
visibility: hidden;
|
|
box-sizing: border-box;
|
|
|
|
.selected-message-container {
|
|
padding: 0.5em 0.5em 1em 0.5em;
|
|
}
|
|
|
|
.selected-message {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 0.5em;
|
|
border: 1px solid var(--primary-low);
|
|
box-shadow: 0 0 4px rgba(0, 0, 0, 0.125);
|
|
border-radius: 8px;
|
|
|
|
.selected-message-reply {
|
|
margin-left: 5px;
|
|
|
|
&:not(.is-expanded) {
|
|
@include ellipsis;
|
|
}
|
|
|
|
&.is-expanded {
|
|
@include user-select(text);
|
|
max-height: 80px;
|
|
overflow-y: scroll;
|
|
}
|
|
}
|
|
}
|
|
|
|
.main-actions {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 1em 1em 1.5em 1em;
|
|
|
|
.chat-message-reaction {
|
|
background: none;
|
|
border: 1px solid transparent;
|
|
|
|
img.emoji {
|
|
width: 30px;
|
|
height: 30px;
|
|
object-fit: contain;
|
|
}
|
|
|
|
&.reacted {
|
|
border-color: var(--tertiary-medium);
|
|
background: var(--tertiary-very-low);
|
|
color: var(--tertiary-hover);
|
|
|
|
&:hover {
|
|
background: var(--tertiary-low);
|
|
}
|
|
}
|
|
}
|
|
|
|
.react-btn {
|
|
.d-icon {
|
|
color: var(--primary-medium);
|
|
font-size: var(--font-up-4);
|
|
}
|
|
}
|
|
|
|
.chat-message-reaction,
|
|
.react-btn {
|
|
margin: 0;
|
|
}
|
|
|
|
.chat-message-reaction,
|
|
.reply-btn,
|
|
.chat-message-thread-btn,
|
|
.react-btn,
|
|
.bookmark-btn {
|
|
flex-grow: 1;
|
|
height: 42px;
|
|
|
|
&:active {
|
|
background: var(--primary-low);
|
|
}
|
|
}
|
|
|
|
.bookmark-btn,
|
|
.react-btn {
|
|
> .svg-icon-title,
|
|
> .svg-icon {
|
|
font-size: var(--font-up-4);
|
|
}
|
|
}
|
|
|
|
.reply-btn {
|
|
border-radius: 3px;
|
|
.d-icon {
|
|
font-size: var(--font-up-4);
|
|
}
|
|
}
|
|
}
|
|
|
|
.secondary-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
align-items: flex-start;
|
|
padding: 0.5em;
|
|
margin: 0;
|
|
|
|
.chat-message-action-item {
|
|
border-bottom: 1px solid var(--primary-low);
|
|
width: 100%;
|
|
list-style: none;
|
|
padding: 0.25em 0;
|
|
display: flex;
|
|
|
|
&:active {
|
|
background: var(--primary-low);
|
|
}
|
|
|
|
&:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.chat-message-action {
|
|
justify-content: flex-start;
|
|
background: none;
|
|
width: 100%;
|
|
border: 0;
|
|
color: var(--primary);
|
|
|
|
&:focus,
|
|
.d-icon {
|
|
color: var(--primary);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.chat-message-actions-backdrop {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
z-index: z("header") + 1;
|
|
transition: background-color 0.4s ease-in;
|
|
|
|
.collapse-area {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
&.fade-in {
|
|
background: rgba(var(--always-black-rgb), 0.6);
|
|
|
|
.chat-message-actions {
|
|
bottom: 0px;
|
|
visibility: visible;
|
|
}
|
|
}
|
|
}
|