You've already forked matrix-react-sdk
							
							
				mirror of
				https://github.com/matrix-org/matrix-react-sdk.git
				synced 2025-11-04 11:51:45 +03:00 
			
		
		
		
	* Revert "Update highlighted event line to prevent content jumping (#7090)"
This reverts commit 0f8272c6a1.
* Fix message jumps
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
		
	
		
			
				
	
	
		
			350 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
			
		
		
	
	
			350 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
/*
 | 
						|
Copyright 2021 The Matrix.org Foundation C.I.C.
 | 
						|
 | 
						|
Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
you may not use this file except in compliance with the License.
 | 
						|
You may obtain a copy of the License at
 | 
						|
 | 
						|
    http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
Unless required by applicable law or agreed to in writing, software
 | 
						|
distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
See the License for the specific language governing permissions and
 | 
						|
limitations under the License.
 | 
						|
*/
 | 
						|
 | 
						|
.mx_ThreadPanel {
 | 
						|
    display: flex;
 | 
						|
    flex-direction: column;
 | 
						|
 | 
						|
    .mx_BaseCard_header {
 | 
						|
        margin-bottom: 12px;
 | 
						|
        .mx_BaseCard_close,
 | 
						|
        .mx_BaseCard_back {
 | 
						|
            width: 24px;
 | 
						|
            height: 24px;
 | 
						|
        }
 | 
						|
        .mx_BaseCard_back {
 | 
						|
            left: -4px;
 | 
						|
        }
 | 
						|
        .mx_BaseCard_close {
 | 
						|
            right: -4px;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_BaseCard_back ~ .mx_ThreadPanel__header {
 | 
						|
        width: calc(100% - 60px);
 | 
						|
        margin-left: 30px;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_ThreadPanel__header {
 | 
						|
        width: calc(100% - 30px);
 | 
						|
        height: 24px;
 | 
						|
        display: flex;
 | 
						|
        flex: 1;
 | 
						|
        justify-content: space-between;
 | 
						|
        align-items: center;
 | 
						|
 | 
						|
        span:first-of-type {
 | 
						|
            font-weight: 600;
 | 
						|
            font-size: 15px;
 | 
						|
            line-height: 18px;
 | 
						|
            color: $secondary-content;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_AccessibleButton {
 | 
						|
            font-size: 12px;
 | 
						|
            color: $secondary-content;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_MessageActionBar_optionsButton {
 | 
						|
            position: relative;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_MessageActionBar_maskButton {
 | 
						|
            --size: 24px;
 | 
						|
            width: var(--size);
 | 
						|
            height: var(--size);
 | 
						|
            &::after {
 | 
						|
                mask-size: var(--size);
 | 
						|
                mask-image: url("$(res)/img/element-icons/message/overflow-large.svg");
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_ContextualMenu_wrapper {
 | 
						|
            // It's added here due to some weird error if I pass it directly in the style, even though it's a numeric value, so it's being passed 0 instead.
 | 
						|
            // The error: react_devtools_backend.js:2526 Warning: `NaN` is an invalid value for the `top` css style property.
 | 
						|
            top: 43px;
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_ContextualMenu {
 | 
						|
            position: initial;
 | 
						|
            span:first-of-type {
 | 
						|
                font-weight: 600;
 | 
						|
                font-size: 12px;
 | 
						|
                color: $primary-content;
 | 
						|
            }
 | 
						|
 | 
						|
            font-size: 12px;
 | 
						|
            color: $secondary-content;
 | 
						|
            padding-top: 10px;
 | 
						|
            padding-bottom: 10px;
 | 
						|
 | 
						|
            border: 1px solid $quinary-content;
 | 
						|
            box-shadow: 0px 1px 3px rgba(23, 25, 28, 0.05);
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_ContextualMenu_chevron_top {
 | 
						|
            left: auto;
 | 
						|
            right: 22px;
 | 
						|
            border-bottom-color: $quinary-content;
 | 
						|
            &::after {
 | 
						|
                content: "";
 | 
						|
                border: inherit;
 | 
						|
                border-bottom-color: $background;
 | 
						|
                position: absolute;
 | 
						|
                top: 1px;
 | 
						|
                left: -8px;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_ThreadPanel_Header_FilterOptionItem {
 | 
						|
            display: flex;
 | 
						|
            flex-grow: 1;
 | 
						|
            justify-content: space-between;
 | 
						|
            flex-direction: column;
 | 
						|
            padding: 10px 20px 10px 30px;
 | 
						|
            position: relative;
 | 
						|
 | 
						|
            &:hover {
 | 
						|
                background-color: $event-selected-color;
 | 
						|
            }
 | 
						|
            &[aria-selected="true"] {
 | 
						|
                :first-child {
 | 
						|
                    margin-left: -20px;
 | 
						|
                }
 | 
						|
                :first-child::before {
 | 
						|
                    content: "";
 | 
						|
                    width: 12px;
 | 
						|
                    height: 12px;
 | 
						|
                    margin-right: 8px;
 | 
						|
                    mask-image: url("$(res)/img/feather-customised/check.svg");
 | 
						|
                    mask-size: 100%;
 | 
						|
                    mask-repeat: no-repeat;
 | 
						|
                    background-color: $primary-content;
 | 
						|
                    display: inline-block;
 | 
						|
                    vertical-align: middle;
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
            :last-child {
 | 
						|
                color: $secondary-content;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_ThreadPanel_button {
 | 
						|
        width: 20px;
 | 
						|
        height: 20px;
 | 
						|
        margin-top: -3px;
 | 
						|
        margin-bottom: auto;
 | 
						|
        position: relative;
 | 
						|
 | 
						|
        &::before {
 | 
						|
            top: 2px;
 | 
						|
            left: 2px;
 | 
						|
            content: '';
 | 
						|
            width: 16px;
 | 
						|
            height: 16px;
 | 
						|
            position: absolute;
 | 
						|
            mask-position: center;
 | 
						|
            mask-size: contain;
 | 
						|
            mask-repeat: no-repeat;
 | 
						|
            background: $primary-content;
 | 
						|
        }
 | 
						|
 | 
						|
        &.mx_ThreadPanel_OptionsButton::before {
 | 
						|
            mask-image: url('$(res)/img/element-icons/context-menu.svg');
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_AutoHideScrollbar {
 | 
						|
        background: #fff;
 | 
						|
        background-color: $background;
 | 
						|
        border-radius: 8px;
 | 
						|
        width: calc(100% - 16px);
 | 
						|
        padding-right: 16px;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_RoomView_MessageList {
 | 
						|
        padding-left: 12px;
 | 
						|
        padding-right: 0;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_EventTile, .mx_EventListSummary {
 | 
						|
        // Account for scrollbar when hovering
 | 
						|
        padding-top: 0;
 | 
						|
 | 
						|
        .mx_ThreadInfo {
 | 
						|
            position: relative;
 | 
						|
            padding-right: 11px;
 | 
						|
            &::after {
 | 
						|
                content: '';
 | 
						|
                display: block;
 | 
						|
                position: absolute;
 | 
						|
                left: 0;
 | 
						|
                bottom: -16px;
 | 
						|
                height: 1px;
 | 
						|
                width: 100%;
 | 
						|
                border-bottom: 1px solid $message-action-bar-border-color;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        .mx_DateSeparator {
 | 
						|
            display: none;
 | 
						|
        }
 | 
						|
 | 
						|
        &.mx_EventTile_clamp:hover {
 | 
						|
            cursor: pointer;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_EventTile:not([data-layout=bubble]) {
 | 
						|
        .mx_EventTile_e2eIcon {
 | 
						|
            left: 8px;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_MessageComposer {
 | 
						|
        background-color: $background;
 | 
						|
        border-radius: 8px;
 | 
						|
        margin-top: 8px;
 | 
						|
        padding: 0 8px;
 | 
						|
        box-sizing: border-box;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_ThreadPanel_dropdown {
 | 
						|
        padding: 3px 8px;
 | 
						|
        border-radius: 4px;
 | 
						|
        line-height: 1.5;
 | 
						|
        user-select: none;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_ThreadPanel_dropdown:hover,
 | 
						|
    .mx_ThreadPanel_dropdown[aria-expanded=true] {
 | 
						|
        background: $quinary-content;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_ThreadPanel_dropdown::before {
 | 
						|
        content: "";
 | 
						|
        width: 18px;
 | 
						|
        height: 18px;
 | 
						|
        background: currentColor;
 | 
						|
        mask-image: url("$(res)/img/feather-customised/chevron-down.svg");
 | 
						|
        mask-size: 100%;
 | 
						|
        mask-repeat: no-repeat;
 | 
						|
        float: right;
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_ThreadPanel_dropdown[aria-expanded=true]::before {
 | 
						|
        transform: rotate(180deg);
 | 
						|
    }
 | 
						|
 | 
						|
    .mx_MessageTimestamp {
 | 
						|
        font-size: $font-12px;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_ThreadPanel_replies {
 | 
						|
    margin-top: 8px;
 | 
						|
}
 | 
						|
 | 
						|
.mx_ThreadPanel_repliesSummary {
 | 
						|
    &::before {
 | 
						|
        content: "";
 | 
						|
        mask-image: url('$(res)/img/element-icons/thread-summary.svg');
 | 
						|
        mask-position: center;
 | 
						|
        display: inline-block;
 | 
						|
        height: 18px;
 | 
						|
        min-width: 18px;
 | 
						|
        background-color: currentColor;
 | 
						|
        mask-repeat: no-repeat;
 | 
						|
        mask-size: contain;
 | 
						|
        margin-right: 8px;
 | 
						|
        vertical-align: middle;
 | 
						|
    }
 | 
						|
 | 
						|
    color: $secondary-content;
 | 
						|
    font-weight: 600;
 | 
						|
    float: left;
 | 
						|
    margin-right: 12px;
 | 
						|
    font-size: $font-12px;
 | 
						|
}
 | 
						|
 | 
						|
.mx_ThreadPanel_viewInRoom::before {
 | 
						|
    mask-image: url('$(res)/img/element-icons/view-in-room.svg');
 | 
						|
}
 | 
						|
 | 
						|
.mx_ThreadPanel_copyLinkToThread::before {
 | 
						|
    mask-image: url('$(res)/img/element-icons/link.svg');
 | 
						|
}
 | 
						|
 | 
						|
.mx_ThreadPanel_empty {
 | 
						|
    border-radius: 8px;
 | 
						|
    background: $background;
 | 
						|
    display: flex;
 | 
						|
    flex-direction: column;
 | 
						|
    align-items: center;
 | 
						|
    justify-content: center;
 | 
						|
    position: absolute;
 | 
						|
    top: 48px;
 | 
						|
    bottom: 8px;
 | 
						|
    left: 8px;
 | 
						|
    right: 8px;
 | 
						|
    padding: 20px;
 | 
						|
 | 
						|
    h2 {
 | 
						|
        color: $primary-content;
 | 
						|
        font-weight: 600;
 | 
						|
        font-size: $font-18px;
 | 
						|
    }
 | 
						|
 | 
						|
    p {
 | 
						|
        font-size: $font-15px;
 | 
						|
        color: $secondary-content;
 | 
						|
    }
 | 
						|
 | 
						|
    button {
 | 
						|
        border: none;
 | 
						|
        background: none;
 | 
						|
        color: $accent;
 | 
						|
 | 
						|
        &:hover,
 | 
						|
        &:active {
 | 
						|
            text-decoration: underline;
 | 
						|
            cursor: pointer;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
.mx_ThreadPanel_largeIcon {
 | 
						|
    width: 28px;
 | 
						|
    height: 28px;
 | 
						|
    padding: 18px;
 | 
						|
    background: $system;
 | 
						|
    border-radius: 50%;
 | 
						|
 | 
						|
    &::after {
 | 
						|
        content: "";
 | 
						|
        width: inherit;
 | 
						|
        height: inherit;
 | 
						|
        mask-image: url('$(res)/img/element-icons/thread-summary.svg');
 | 
						|
        mask-position: center;
 | 
						|
        display: inline-block;
 | 
						|
        mask-repeat: no-repeat;
 | 
						|
        mask-size: contain;
 | 
						|
        background-color: $secondary-content;
 | 
						|
    }
 | 
						|
}
 |