owncast/web/components/chat/ChatContainer/ChatContainer.module.scss
janWilejan 2d72935564
change chat from a sidebar to a column (#3113)
* change chat from a sidebar to a column

Using a 2-column layout prevents the chat scrollbar from overlapping the page
scrollbar. Also, it no longer needs to calculate extra padding for elements.

* remove unused Sidebar.tsx

* fix css for chat column

* re-center "Go to last message" button

* main content column always uses maximum height

* lint

* re-hide scrollbars in mainContent on chromium

* fix chat column width when input is over-full

* chat is only fixed-width in desktop

---------

Co-authored-by: janWilejan <>
2023-07-09 14:07:35 -07:00

65 lines
1.2 KiB
SCSS

@import '../../../styles/mixins';
// The button that is displayed to scroll to the bottom of the chat.
.toBottomWrap {
align-self: center;
display: flex;
justify-content: center;
position: absolute;
bottom: 75px;
color: var(--theme-color-components-chat-background);
button {
background-color: var(--theme-color-background-light);
z-index: 9999;
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 10%), 0 1px 5px 0 rgb(0 0 0 / 12%);
display: flex;
align-items: center;
opacity: 0;
animation: show 250ms forwards ease-in-out 500ms;
font-size: 12px;
font-weight: 600;
}
}
.chatContainer {
flex: 0 0 auto;
display: flex;
flex-direction: column;
background-color: var(--theme-color-components-chat-background);
height: 100%;
font-size: var(--chat-message-text-size);
}
.virtuoso {
width: auto;
flex-grow: 1;
overflow-y: scroll;
overflow-x: hidden;
margin-bottom: 5px;
overscroll-behavior: contain;
}
.virtuoso::-webkit-scrollbar {
display: none;
}
.virtuoso::-webkit-scrollbar-thumb {
display: none;
}
.chatTextField {
border-top: 1px solid lightgray;
}
@keyframes show {
from {
opacity: 0;
transform: translateY(5px);
}
to {
opacity: 1;
transform: translateY(0);
}
}