/*------------------------------------------------------------------ [Table of contents] 1. Container / .filemanager-page 2. Navigation / .filemanager-page > .navigation 3. Files list / .filemanager-page > .files 4. File info sidebar / .filemanager-page > .info -------------------------------------------------------------------*/ $navigation-item-hover-bg-color: #f3f5f9; $navigation-submenu-item-active-bg-color: #f3f5f9; $navigation-item-active-bg-color: #ebeef5; $navigation-item-active-before-bg-color: #d7dceb; $file-manager-has-submenu-after-color: #9da9cd; $file-manager-item-thumb-bg-color: #f5f6fa; $file-manager-item-thumb-border-color: #c4cbe1; $default-border-color:#ccc; $default-text-color-light:#ccc; $default-text-color:#777; $color-info:#777; $color-white:#fff; $icon-font-family: 'ionicons'; $icon-font-name: 'ionicons'; $color-primary:blue; @mixin menu_active_item { background: #ebeef5; color: var(--bs-body-color); position: relative; &::before { content: ''; width: 4px; height: 100%; background: #d7dceb; display: block; position: absolute; top: 0; left: 0; } } .filemanager-page { display: flex; flex-direction: row; height: 100%; > .navigation { width: 259px; min-width: 259px; border-right: 1px solid $default-border-color; background: #fff; .wrapper { display: flex; flex-direction: column; height: 100%; > .separator { font-size: 11px; color: $default-text-color-light; margin: 25px 30px; text-transform: uppercase; } > .tree { list-style: none; margin: 0; padding: 0; ul { list-style: none; margin: 0; padding: 0; } li { > a { display: block; padding: 11px 30px; font-size: 13px; color: $default-text-color; position: relative; &:hover { text-decoration: none; background-color: $navigation-item-hover-bg-color; } } &.active { background: $navigation-item-active-bg-color; color: $default-text-color; position: relative; &::before { content: ''; width: 4px; height: 100%; background: $navigation-item-active-before-bg-color; display: block; position: absolute; top: 0; left: 0; } } &.item { > a::before { content: "\f114"; font-family: $icon-font-name; font-size: 16px; color: #3a529b; display: inline-block; margin-right: 14px; position: relative; top: 1px; } &.has-submenu { > a::before { content: "\f114"; } } } &.has-submenu { > a::after { content: "\f107"; border: none; font-family: $icon-font-name; width: auto; height: auto; float: right; display: block; padding: 0; margin-right: 0; font-size: 16px; font-weight: normal; margin-top: -1px; color: $file-manager-has-submenu-after-color; } .submenu { display: none; a { padding-left: 40px; } .submenu { a { padding-left: 50px; } .submenu { a { padding-left: 60px; } .submenu { a { padding-left: 70px; } } } } } &.open { &.has-submenu { > .submenu { display: block; } } &.item { > a::before { content: "\f115"; } } } &.active { a { background-color: $navigation-submenu-item-active-bg-color; } } } } } > .menu { list-style: none; padding: 0; li { &:last-child { margin-bottom: 0; } > a { display: block; padding: 11px 30px; font-size: 13px; color: $default-text-color; position: relative; > .icon { width: 16px; font-size: 16px; color: $color-primary; display: inline-block; margin-right: 12px; } } &.active { @include menu_active_item; } } } } } > .files { flex-grow: 1; > .header { padding: 12px 20px; border-bottom: 1px solid $default-border-color; height: 59px; display: flex; justify-content: space-between; align-items: center; > .search { width: 330px; margin-right: 10px; } > .filters { display: flex; > .btn-group { + .btn-group { margin-left: 10px; } } > .view-type { > label { margin: 0; } } } } > .breadcrubms { border-bottom: 1px solid $default-border-color; height: 59px; display: flex; align-items: center; padding: 0 20px; > .breadcrumb { background: transparent; margin-bottom: 0; padding: 0; > .active { color: $default-text-color-light; } a { color: $color-primary; } } } > .content { padding: 20px; &.recent { padding: 0; .recent-box { border-bottom: 1px solid $default-border-color; padding: 20px; &:last-child { border: none; } h6 { margin-top: 5px; font-weight: normal; } ul { margin-top: -20px; padding-left: 0; margin-bottom: 0; } } } ul.items { padding: 0 20px 20px 20px; margin: 0; list-style: none; display: flex; flex-wrap: wrap; > .item { cursor: pointer; margin-right: 20px; margin-top: 20px; position: relative; > .checkbox { display: none; position: absolute; top: 67px; left: 7px; width: 12px; height: 14px; } &:hover { > .checkbox { display: block; } > .thumb { border: solid 1px $color-info; } } &.checked { > .checkbox { display: block; } > .thumb { background-color: $file-manager-item-thumb-bg-color; border: solid 1px $file-manager-item-thumb-border-color; } } > .thumb { width: 90px; height: 90px; border-radius: 2px; background-color: $color-white; border: solid 1px $default-border-color; margin-bottom: 5px; display: flex; align-items: center; text-align: center; font-size: 45px; color: $color-primary; &::before { width: 100%; } } > .filename { display: block; font-size: 12px; color: $default-text-color-light; text-align: center; } } } &.compact { padding: 0; > .table-header { margin-bottom: 0; } > .table-content { table { tr:first-child { td { border-top: none; } } } .recent-box { padding: 0; table { tr:first-child { td { border-top: none; } } tr:last-child { td { border-bottom: none; } } td { &.name-column { padding-left: 20px; } } } > .header { font-weight: normal; margin: 0; padding: 14px 20px; border-bottom: 1px solid $default-border-color; } } } &.recent { table { margin-bottom: 0; thead { th { &.name-column { padding-left: 20px; } } } } } .table { tbody { td { vertical-align: middle; border-top-color: #ebeef5; &.checkbox-column { padding-left: 15px; padding-right: 15px; > .checkbox { margin-bottom: 0; position: relative; top: 1px; } } &.name-column { padding-left: 0; > .icon { font-size: 16px; display: inline-block; margin-right: 7px; position: relative; top: 1px; } } } tr { position: relative; &:hover, &.checked { td { background-color: #f5f6fa; color: $default-text-color; cursor: pointer; } } &.selected { td { background: #ebeef5; color: $default-text-color; &:first-child { position: relative; &::before { content: ''; width: 4px; height: 100%; background: #d7dceb; display: block; position: absolute; top: 0; left: 0; } } } } } } thead { th { border-top: none; border-bottom-color: $default-border-color; &.name-column { padding-left: 0; } &.checkbox-column { padding-left: 15px; padding-right: 15px; > .checkbox { margin-bottom: 0; position: relative; top: 1px; } } } } } } } } > .info { width: 312px; min-width: 312px; border-left: 1px solid $default-border-color; background: $color-white; &.selected-items { > .header { justify-content: space-between; } } &.empty { display: flex; background-color: rgba(57, 81, 155, 0.05); align-items: center; justify-content: center; flex-direction: column; > .icon { color: rgba(58, 82, 155, 0.1); font-size: 64px; margin-bottom: 20px; } > .text { font-size: 12px; color: $default-text-color-light; } } > .header { padding: 12px 20px; font-size: 14px; color: var(--bs-body-color); border-bottom: 1px solid $default-border-color; display: flex; align-items: center; height: 59px; > .icon { font-size: 20px; color: #3a529b; display: inline-block; margin-right: 10px; position: relative; top: 1px; } } > .controls { padding: 10px 30px; border-bottom: 1px solid $default-border-color; .btn { margin-right: 5px; &:last-child { margin-right: 0; } } > .image-preview { margin-bottom: 10px; > img { border-radius: 2px; } } > .audio-preview { margin-bottom: 10px; > .album-name { margin-bottom: 2px; > span { &:first-child { padding-right: 3px; } &:last-child { color: rgba(57, 81, 155, 0.4) } } } > .song-name { font-weight: 600; margin-bottom: 7px; } > .progress { font-size: 10px; color: var(--bs-body-color); > .progress { margin-bottom: 7px; } } } } > .body { padding: 30px; > .item { margin-bottom: 15px; &:last-child { margin-bottom: 0; } > .header { font-size: 12px; color: $default-text-color-light; margin-bottom: 3px; } > .text { > .icon { font-size: 16px; color: #3a529b; position: relative; top: 1px; display: inline-block; margin-right: 7px; } } } } } } @media screen and (max-width: 1200px) { .filemanager-info-block-toggle { position: static; } .filemanager-page { > .info { position: fixed; top: 120px; bottom: 0; right: -313px; z-index: 2; height: calc(100% - 120px); &.open { right: 0; transition: right .2s ease; } } } } @media screen and (max-width: 1068px) { .filemanager-page { > .files { > .header { > .search { width: 100%; } } } } } @media screen and (max-width: 880px) { .filemanager-navigation-block-toggle { position: static; } .filemanager-page { > .navigation { position: fixed; top: 120px; bottom: 0; left: -260px; z-index: 2; height: calc(100% - 120px); &.open { left: 0; transition: left .2s ease; } } } } @media screen and (max-width: 600px) { .filemanager-page { > .files { > .header { height: auto; flex-direction: column; > .search { margin-bottom: 15px; } } } } }