discourse/plugins/chat/assets/stylesheets/mobile/chat-message-actions.scss
Joffrey JAFFEUX f55266e1ca
UX: chat mobile tweaks (#21041)
- rounded active style for messages
- better active state on chat message actions rows
- ensures long press on a message is not selecting text
- slightly improved messages actions animation and background fading
- ensures chat emoji picker is not cutoff on right side
- removes old legacy code related to hovered message
2023-04-11 09:03:12 +02:00

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;
.collapse-area {
width: 100%;
height: 100%;
}
&.fade-in {
background: rgba(var(--always-black-rgb), 0.75);
.chat-message-actions {
bottom: 0px;
visibility: visible;
}
}
}