214 lines
4.0 KiB
SCSS
214 lines
4.0 KiB
SCSS
@import "../../../css/static/properties";
|
|
@import "../../../css/static/mixin";
|
|
|
|
html:root {
|
|
--channel-tree-entry-move: #313235;
|
|
--channel-tree-entry-selected: #2d2d2d;
|
|
--channel-tree-entry-hovered: #393939;
|
|
--channel-tree-entry-color: #828282;
|
|
|
|
--channel-tree-entry-marker-unread: rgba(168, 20, 20, 0.5);
|
|
}
|
|
|
|
.channelTree {
|
|
@include user-select(none);
|
|
width: 100%;
|
|
|
|
min-width: 10em;
|
|
min-height: 5em;
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
flex-shrink: 0;
|
|
flex-grow: 1;
|
|
|
|
* {
|
|
font-family: sans-serif;
|
|
font-size: 12px;
|
|
white-space: pre;
|
|
line-height: 1;
|
|
}
|
|
|
|
:global(.icon_em) {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.treeEntry {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: stretch;
|
|
|
|
height: 18px;
|
|
padding-top: 1px;
|
|
padding-bottom: 1px;
|
|
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
|
|
&:hover {
|
|
background-color: var(--channel-tree-entry-hovered);
|
|
}
|
|
|
|
&.selected {
|
|
background-color: var(--channel-tree-entry-selected);
|
|
}
|
|
|
|
|
|
.markerUnread {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
|
|
width: 1px;
|
|
background-color: var(--channel-tree-entry-marker-unread);
|
|
|
|
opacity: 1;
|
|
|
|
&:before {
|
|
content: '';
|
|
position: absolute;
|
|
|
|
left: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
|
|
width: 24px;
|
|
|
|
background: linear-gradient(to right, var(--channel-tree-entry-marker-unread) 0%, rgba(0, 0, 0, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
|
|
}
|
|
|
|
&.hidden {
|
|
opacity: 0;
|
|
}
|
|
|
|
@include transition(opacity $button_hover_animation_time);
|
|
}
|
|
|
|
:global(.icon-container) {
|
|
height: 16px;
|
|
width: 16px;
|
|
}
|
|
}
|
|
|
|
.leftPadding {
|
|
flex-shrink: 0;
|
|
|
|
padding-left: 2px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
&.move {
|
|
.treeEntry.selected {
|
|
background-color: var(--channel-tree-entry-move);
|
|
}
|
|
}
|
|
}
|
|
|
|
.treeContainer {
|
|
height: 100%;
|
|
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
overflow: hidden;
|
|
position: relative;
|
|
|
|
&:hover {
|
|
.popoutButton {
|
|
top: 1em;
|
|
}
|
|
}
|
|
}
|
|
|
|
.channelTreeContainer {
|
|
@include chat-scrollbar-vertical();
|
|
|
|
position: relative;
|
|
height: 100%;
|
|
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
|
|
overflow: hidden;
|
|
overflow-y: auto;
|
|
|
|
&.smoothScroll {
|
|
scroll-behavior: smooth;
|
|
}
|
|
}
|
|
|
|
.popoutButton {
|
|
position: absolute;
|
|
top: -3em;
|
|
right: 1em;
|
|
|
|
@include transition(all ease-in-out $button_hover_animation_time);
|
|
|
|
.button {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
|
|
border-radius: 50%;
|
|
background-color: #0000004f;
|
|
|
|
padding: .6em;
|
|
|
|
cursor: pointer;
|
|
|
|
@include transition(all ease-in-out $button_hover_animation_time);
|
|
|
|
&:hover {
|
|
background-color: #0000008f;
|
|
}
|
|
}
|
|
}
|
|
|
|
.arrow {
|
|
display: inline-block;
|
|
border: solid hsla(220, 5%, 30%, 1);
|
|
|
|
border-width: 0 .2em .2em 0;
|
|
padding: .21em;
|
|
height: .5em;
|
|
width: .5em;
|
|
|
|
&.right {
|
|
transform: rotate(-45deg);
|
|
-webkit-transform: rotate(-45deg);
|
|
}
|
|
|
|
&.left {
|
|
transform: rotate(135deg);
|
|
-webkit-transform: rotate(135deg);
|
|
}
|
|
|
|
&.up {
|
|
transform: rotate(-135deg);
|
|
-webkit-transform: rotate(-135deg);
|
|
}
|
|
|
|
&.down {
|
|
transform: rotate(45deg);
|
|
-webkit-transform: rotate(45deg);
|
|
}
|
|
}
|
|
|
|
@media all and (max-width: 250px) {
|
|
.channelTree .leftPadding {
|
|
font-size: 6px;
|
|
}
|
|
|
|
.treeEntry {
|
|
padding-left: 10px; /* space for the arrow */
|
|
}
|
|
} |