/* ==UserStyle==
@name           Element bugfix
@namespace      bkil.hu
@version        2023.11.01
@description    Fixes to UX bugs
@author         bkil
==/UserStyle== */
@-moz-document domain("app.element.io"),
url-prefix("https://riot."),
url-prefix("https://matrix."),
url-prefix("https://element.") {
    /* Fix bug of overcollapsed image placeholder when disabling images */
    .mx_MImageBody {
        min-height: 100px;
    }

    /* when image previewing is disabled in Element Web,
        it inserts an empty <img> for inline images */
    img:not([src]) {
        min-width: 64px;
        min-height: 64px;
        background-color: grey;
    }

    /* Do not chop off last characters from a link preview */
    .mx_LinkPreviewWidget_description {
        -webkit-line-clamp: initial;
    }

    /* decorate "cannot load previous event" error message in replies */
    .mx_ReplyChain_error {
        opacity: 0.3;
        text-decoration: line-through;
    }

    /* Use a constant height for the message composer independent from the amount of text entered */
    /*
    .mx_SendMessageComposer .mx_BasicMessageComposer .mx_BasicMessageComposer_input:not(.mx_BasicMessageComposer_inputEmpty),
    .mx_SendMessageComposer .mx_BasicMessageComposer .mx_BasicMessageComposer_input:focus,
    .mx_SendMessageComposer .mx_BasicMessageComposer .mx_BasicMessageComposer_input:hover
    */
    .mx_SendMessageComposer .mx_BasicMessageComposer .mx_BasicMessageComposer_input {
        min-height: 140px;
        /* the padding is within the scroll area, so not 100% perfect, but better than nothing */
        padding-bottom: 2em;
    }

    /* remove overlay gradient from end of room list */
    .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_tiles,
    .mx_RoomSublist_tiles {
        -webkit-mask-image: initial;
        mask-image: initial;
    }

    /* don't chop off end of room list when images are disabled */
    .mx_RoomSublist_resizeBox {
        height: initial !important;
        max-height: initial !important;
    }

    .mx_RoomSublist .mx_RoomSublist_resizeBox,
    .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_tiles {
        display: initial;
    }

    /* disable clicking internal links within room topic */
    /* https://github.com/vector-im/element-web/issues/23395 */
    .mx_RoomTopic a.linkified:not([target="_blank"]):not(.mx_Pill) {
      pointer-events: none;
      cursor: default;
      text-decoration: line-through;
    }

    /* widen horizontal resizer edge between room drawer and chat */
    .mx_ResizeHandle.mx_ResizeHandle--horizontal>div {
        width: 0;
    }

    .mx_MatrixChat>.mx_ResizeHandle.mx_ResizeHandle--horizontal {
        padding: initial;
        margin-left: 2px;
        padding-right: 10px;
    }

    .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper {
        padding-right: initial;
    }

    ::-webkit-scrollbar {
        width: 9px;
    }
}
