RSNewWebUI/webui-src/app/scss/components/_navbar.scss
2026-07-26 17:29:25 +05:30

229 lines
4.2 KiB
SCSS

@use 'sass:color';
@use '../abstracts' as *;
.active-link {
background: rgba(255, 255, 255, 0.1) !important;
}
/* Navbar */
.nav-menu {
background-color: $dark-color;
box-shadow: 0 5px 5px #222;
@include flex(column, $align: center);
height: 100%;
padding: 0.25rem;
margin-right: 0rem;
&__logo {
padding: 1.2rem 0;
@include flex($align: center, $gap: 0.3rem);
img {
width: 1.6rem;
}
h5 {
line-height: 1;
color: white;
}
}
&__box {
padding: 2rem 0.125rem;
@include flex(column, $gap: 0.5rem);
position: relative;
.item {
margin: 0;
padding: 0.675rem 0.5rem;
width: 10rem;
@include flex($align: center);
line-height: 1;
border-radius: 0.5rem;
text-decoration: none;
color: #ccc;
text-transform: capitalize;
transition: 0ms;
&:hover {
background-color: color.adjust($light-color, $alpha: -0.85);
}
i.sidenav-icon {
width: 2.5rem;
height: 1.4rem;
display: grid;
place-items: center;
}
}
.item.item-selected {
color: $primary-light-color;
background-color: color.adjust($primary-light-color, $alpha: -0.85);
font-weight: medium;
}
button.toggle-nav {
display: none;
position: absolute;
padding: 0;
top: 0;
right: -1rem;
background: color.adjust($primary-color, $lightness: 15%);
width: 1.5rem;
height: 1.5rem;
aspect-ratio: 1;
justify-content: center;
align-items: center;
border-radius: 50%;
box-shadow: none;
}
}
&.collapsed {
.nav-menu__logo {
.logo-container {
@include flex(column, $align: center, $gap: 0.5rem);
&>*:not(img) {
display: block;
}
}
& .nav-menu__logo-text {
display: none !important;
}
}
.nav-menu__box {
.item {
padding: 0.675rem 0;
width: 2.5rem;
justify-content: center;
transition: 300ms;
& span,
& p {
display: none !important;
}
}
}
button i {
rotate: 180deg;
}
}
// only show toggle button when sidebar is hovered
&:hover button.toggle-nav {
display: flex;
}
}
.sidebar {
width: 13rem;
background-color: white;
@include flex(column);
& a {
text-decoration: none;
text-transform: capitalize;
padding: 1rem;
cursor: pointer;
color: #999;
&:hover {
color: #222;
}
}
& .selected-sidebar-link {
font-weight: bold;
color: #222;
border-left: 5px solid #3ba4d7;
animation: expand-left-border 0.1s;
}
}
.sidebarquickview {
&>h6 {
padding: 0.5rem;
}
& a {
text-decoration: none;
text-transform: capitalize;
padding: 0.5rem 1rem;
display: block;
color: #999;
& a:hover {
color: #222;
}
}
& .selected-sidebarquickview-link {
font-weight: bold;
color: #222;
border-left: 5px solid #3ba4d7;
animation: expand-left-border 0.1s;
}
}
/* Content adjacent to sidebar */
.node-panel {
width: 100%;
padding: 0.5rem;
animation: fadein 0.5s;
}
@keyframes expand-left-border {
from {
border-left: 0;
}
to {
border-left: 5px solid #3ba4d7;
}
}
/* GLOBAL SIDEBAR TO TABS */
@media (max-width: 700px) {
.tab-content {
flex-direction: column;
}
.sidebar {
width: 100% !important;
flex-direction: row !important;
overflow-x: auto !important;
overflow-y: hidden !important;
white-space: nowrap !important;
border-bottom: 1px solid rgba(20, 20, 27, 0.1) !important;
background: white !important;
z-index: 50 !important;
flex-shrink: 0 !important;
height: auto !important;
padding: 0 !important;
}
.sidebar a {
display: inline-block !important;
padding: 0.8rem 1.2rem !important;
border-bottom: 3px solid transparent !important;
border-left: none !important;
}
.sidebar .selected-sidebar-link {
border-left: none !important;
border-bottom: 3px solid #3ba4d7 !important;
animation: none !important;
}
/* Hide quickview headings on mobile to save space if needed */
.sidebarquickview>h4,
.sidebarquickview>h6 {
display: none !important;
}
}