You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-desktop/stylesheets/_session_left_pane.scss

590 lines
11 KiB
SCSS

$session-compose-margin: 20px;
.gutter {
width: 380px !important;
transition: $session-transition-duration;
@include themify($themes) {
background: themed('cellBackground');
}
}
.module-conversation {
// default conversation list item text color
&__user__profile {
&-number,
&-name {
font-weight: bold;
font-size: 15px;
@include themify($themes) {
color: themed('textColorSubtle');
}
}
}
&-list-item {
transition: $session-transition-duration;
&:hover {
@include themify($themes) {
background: themed('clickableHovered');
}
}
&--is-selected {
@include themify($themes) {
background: themed('conversationItemSelected');
}
.module-conversation__user__profile-number,
.module-conversation__user__profile-name,
.module-conversation-list-item__message__text {
@include themify($themes) {
color: themed('textColor');
}
}
}
&--has-unread {
@include themify($themes) {
border-left: themed('sessionUnreadBorder');
background: themed('conversationItemHasUnread');
}
}
&__unread-count {
@include themify($themes) {
color: themed('textColor');
background: themed('clickableHovered');
}
position: static !important;
font-weight: 700 !important;
box-shadow: none !important;
margin: 0 !important;
flex-shrink: 0;
}
&__header__date,
&__header__date--has-unread {
flex-grow: 1 !important;
text-align: end !important;
}
&__message__text {
color: $session-shade-17;
&--has-unread {
@include themify($themes) {
color: themed('textColor');
}
}
}
&__header__name {
flex-grow: 0;
padding-inline-end: 5px;
}
&__header__name--with-unread .module-conversation__user__profile-number,
&__header__name--with-unread .module-conversation__user__profile-name {
@include themify($themes) {
color: themed('textColor');
}
}
}
}
.module-left-pane {
width: $session-left-pane-width;
position: relative;
height: 100vh;
flex-shrink: 0;
&-session {
display: flex;
height: 100vh;
}
&__sections-container {
height: 100vh;
flex-shrink: 0;
width: 80px;
overflow-x: hidden;
display: inline-flex;
flex-direction: column;
@include themify($themes) {
border-right: themed('sessionBorder');
}
.module-avatar,
.session-icon-button {
cursor: pointer;
padding: 30px;
&:last-child {
margin: auto auto 0px auto;
/* Hide theme icon until light theme is ready */
}
&:first-child {
padding: 0;
margin: 30px auto;
}
}
}
&__header {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
height: $main-view-header-height;
padding-inline-end: 7px;
transition: $session-transition-duration;
.session-button {
margin-inline-start: auto;
@include fontAccentBold();
}
&-buttons {
margin-bottom: $session-margin-sm;
display: inline-flex;
width: 100%;
.session-button {
flex: 1;
}
}
}
&__title {
cursor: pointer;
padding-inline-end: $session-margin-sm;
padding-inline-start: $session-margin-sm;
transition: $session-transition-duration;
flex-grow: 1;
}
&__list {
height: -webkit-fill-available;
&-popup {
width: -webkit-fill-available;
height: -webkit-fill-available;
position: absolute;
}
}
&-overlay {
@include themify($themes) {
background: themed('leftpaneOverlayBackground');
}
display: flex;
flex-direction: column;
flex-grow: 1;
align-items: center;
overflow-y: auto;
overflow-x: hidden;
.session-icon .exit {
padding: 13px;
}
h2 {
margin-top: 0px;
}
h3,
h2 {
text-align: center;
}
h3 {
padding-top: 22px;
position: relative;
.green-border {
position: absolute;
@include themify($themes) {
color: themed('accent');
background-color: themed('accent');
}
height: 5px;
left: -10px;
right: -10px;
margin-top: 7px;
border: none;
z-index: 1;
}
}
.white-border {
width: $session-left-pane-width;
position: relative;
height: 1px;
opacity: 0.3;
margin-top: 2px;
margin-bottom: 40px;
}
.exit {
margin-top: 10px;
margin-inline-start: 13px;
align-self: flex-start;
}
.session-search-input {
margin: 10px $session-compose-margin 0 $session-compose-margin;
width: -webkit-fill-available;
}
.module-search-results {
width: -webkit-fill-available;
}
.session-description-long {
font-size: $session-font-sm;
line-height: $session-font-h3;
margin: 0px 20px;
font-family: $session-font-default;
}
.session-id-editable {
width: 90%;
textarea::-webkit-inner-spin-button {
margin: 0px 20px;
width: -webkit-fill-available;
flex-shrink: 0;
}
}
.session-id-editable-disabled {
border: none;
}
.session-button {
width: fit-content;
margin-top: 1rem;
margin-bottom: 3rem;
flex-shrink: 0;
}
}
}
.module-search-results {
flex-grow: 1;
}
.module-conversations-list-content {
overflow-x: hidden;
display: flex;
flex-direction: column;
flex-grow: 1;
transition: $session-transition-duration;
@include themify($themes) {
background: themed('conversationList');
}
.left-pane-contact-bottom-buttons .session-button {
vertical-align: middle;
white-space: normal;
text-align: center;
}
}
.session-left-pane-section-content {
display: flex;
flex-direction: column;
flex: 1;
overflow: hidden;
}
.user-search-dropdown {
width: 100%;
min-height: 34px;
flex-grow: 1;
overflow-y: auto;
}
.session-search-input {
height: $session-search-input-height;
width: 100%;
margin-inline-end: 1px;
margin-bottom: 10px;
display: inline-flex;
flex-shrink: 0;
.session-icon-button {
margin: auto 10px;
}
input {
width: inherit;
height: inherit;
border: none;
flex-grow: 1;
font-size: $session-font-sm;
font-family: $session-font-default;
text-overflow: ellipsis;
background: none;
@include themify($themes) {
color: themed('textColor');
}
&:focus {
outline: none !important;
}
}
}
.conversation.placeholder {
margin: auto;
.container {
display: flex;
height: 100%;
}
}
.session-full-logo {
display: flex;
flex-direction: column;
align-items: center;
margin: auto;
.session-brand-logo {
height: 180px;
filter: brightness(0) saturate(100%) invert(75%) sepia(84%) saturate(3272%) hue-rotate(103deg)
brightness(106%) contrast(103%);
}
.session-text-logo {
margin-top: 10px;
width: 250px;
@include themify($themes) {
filter: themed('filterSessionText');
}
transition: 0s;
.path {
fill: red;
}
}
}
@mixin bottom-buttons() {
display: flex;
flex-direction: row;
width: 100%;
background: none;
.session-button.square-outline.square.green,
.session-button.square-outline.square.white,
.session-button.square-outline.square.danger {
flex-grow: 1;
height: $composition-container-height;
@include themify($themes) {
border: themed('sessionBorder');
}
}
}
.contacts-dropdown {
width: -webkit-fill-available;
&-row {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding: 8px 20px;
margin: 0px $session-compose-margin;
// FIXME themify once this component is enabled back
// @at-root .light-theme #{&} {
// background: $session-shade-15;
// color: $session-color-black;
// }
// @at-root .dark-theme #{&} {
// background: $session-shade-4;
// color: $session-color-light-grey;
// }
&-selected,
&:hover {
font-weight: bold;
// FIXME themify once this component is enabled back
// @at-root .light-theme #{&} {
// color: $session-color-black;
// background: $session-color-white;
// }
// @at-root .dark-theme #{&} {
// color: $session-color-white;
// background: $session-shade-8;
// }
}
}
}
.left-pane-contact {
&-section,
&-content {
display: flex;
flex-direction: column;
overflow: hidden;
flex: 1;
.module-conversation-list-item {
&__header__date,
&__message {
display: none;
}
&__buttons {
display: flex;
.session-button {
font-size: 11px;
padding: 6px;
height: auto;
margin: 0px;
line-height: 14px;
}
}
}
}
&-bottom-buttons {
@include bottom-buttons();
.session-button {
height: 57px;
}
}
}
.left-pane-setting {
&-bottom-buttons {
@include bottom-buttons();
.session-button {
vertical-align: middle;
white-space: normal;
text-align: center;
}
}
&-content,
&-section {
display: flex;
flex-direction: column;
flex: 1;
}
&-category-list-item {
background: none;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
height: 74px;
line-height: 1.4;
padding: 0px 12px;
flex-shrink: 0;
cursor: pointer;
transition: $session-transition-duration !important;
& > div {
display: block;
}
&.active {
@include themify($themes) {
background: themed('conversationItemSelected');
}
}
&:hover {
@include themify($themes) {
background: themed('clickableHovered');
}
}
&__buttons {
display: flex;
.session-button {
font-size: 11px;
padding: 6px;
height: auto;
margin: 0px;
line-height: 14px;
}
}
}
&-input-group {
display: inline-flex;
}
&-input-button .session-button.square {
display: flex;
justify-content: center;
align-items: center;
height: $session-search-input-height;
width: $session-search-input-height;
padding: 0px;
margin: 0px;
svg {
transition: $session-transition-duration;
}
&:hover {
svg {
fill: $session-color-green;
}
}
.session-button.square-outline.square.green,
.session-button.square-outline.square.white {
flex-grow: 1;
border: 1px solid $session-shade-8;
height: 50px;
// line-height: 50px;
}
}
}
.panel-text-divider {
width: 100%;
text-align: center;
display: flex;
margin: 50px 0 50px;
.panel-text-divider-line {
@include themify($themes) {
border-bottom: 1px solid themed('pillDividerColor');
}
line-height: 0.1em;
flex-grow: 1;
height: 1px;
align-self: center;
}
span {
padding: 5px 10px;
border-radius: 50px;
@include themify($themes) {
color: themed('pillDividerTextColor');
border: 1px solid themed('pillDividerColor');
}
font-family: $session-font-default;
font-size: $session-font-sm;
}
}