182 lines
5.3 KiB
SCSS
182 lines
5.3 KiB
SCSS
.layout-sidebar {
|
|
position: sticky;
|
|
inset-inline-start: 0;
|
|
top: 6rem;
|
|
height: calc(100vh - 9rem);
|
|
user-select: none;
|
|
transition: transform .4s cubic-bezier(.05,.74,.2,.99), opacity .3s;
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0;
|
|
flex: 0 0 250px;
|
|
margin-inline-end: 4rem;
|
|
overflow: auto;
|
|
|
|
.logo {
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
|
|
nav {
|
|
padding-block: 0;
|
|
padding-inline: 1rem 0;
|
|
margin: 0;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.layout-menu {
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
|
|
> li {
|
|
margin-bottom: .25rem;
|
|
|
|
> button,
|
|
> a {
|
|
display: flex;
|
|
width: 100%;
|
|
align-items: center;
|
|
padding-block: .5rem;
|
|
padding-inline: 1px;
|
|
color: var(--text-color);
|
|
font-weight: 600;
|
|
transition: outline-color 0.2s;
|
|
outline-color: transparent;
|
|
position: relative;
|
|
background: transparent;
|
|
font-size: 1rem;
|
|
border: 0 none;
|
|
margin: 0;
|
|
text-align: start;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
--p-focus-ring-offset: -1px;
|
|
@include focus-visible();
|
|
|
|
.menu-icon {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
border-radius: 6px;
|
|
margin-inline-end: .5rem;
|
|
border: 1px solid var(--border-color);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: all .2s;
|
|
position: relative;
|
|
background-color: transparent;
|
|
|
|
i {
|
|
color: var(--text-color);
|
|
transition: all .2s;
|
|
}
|
|
}
|
|
|
|
.menu-toggle-icon {
|
|
color: var(--text-secondary-color);
|
|
margin-inline-start: auto;
|
|
}
|
|
|
|
&:hover {
|
|
.menu-icon {
|
|
background-color: var(--card-background);
|
|
|
|
i {
|
|
color: var(--primary-text-color);
|
|
}
|
|
}
|
|
|
|
.menu-toggle-icon {
|
|
color: var(--text-color);
|
|
}
|
|
}
|
|
|
|
&.router-link-active {
|
|
color: var(--primary-text-color);
|
|
|
|
> .menu-icon {
|
|
i {
|
|
color: var(--primary-text-color);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
> div {
|
|
overflow: hidden;
|
|
|
|
ol {
|
|
margin-block: 0;
|
|
margin-inline: 0 1rem;
|
|
padding: .25rem 0;
|
|
list-style: none;
|
|
|
|
li {
|
|
a {
|
|
border-inline-start: 1px solid var(--border-color);
|
|
transition: all .2s;
|
|
font-weight: 450;
|
|
display: flex;
|
|
align-items: center;
|
|
padding: .5rem;
|
|
padding-inline-start: 1rem;
|
|
color: var(--text-secondary-color);
|
|
transition: outline-color 0.2s, border-color .2s;
|
|
outline-color: transparent;
|
|
position: relative;
|
|
--p-focus-ring-offset: -1px;
|
|
@include focus-visible();
|
|
|
|
&:hover {
|
|
border-inline-start-color: var(--hover-border-color);
|
|
}
|
|
|
|
&.router-link-active {
|
|
color: var(--primary-text-color);
|
|
border-inline-start-color: var(--primary-text-color);
|
|
}
|
|
}
|
|
|
|
ol {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
&:has(.menu-child-category) {
|
|
margin-top: 1rem;
|
|
}
|
|
|
|
&:has(.menu-child-category):first-child {
|
|
margin-top: 0rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.p-tag {
|
|
position: absolute;
|
|
inset-inline-end: 0;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
|
|
.p-tag-label {
|
|
line-height: 1;
|
|
font-size: 0.75rem;
|
|
}
|
|
}
|
|
|
|
.menu-child-category {
|
|
display: flex;
|
|
padding: .5rem;
|
|
padding-inline-start: 0;
|
|
font-size: .875rem;
|
|
font-weight: 600;
|
|
letter-spacing: 1px;
|
|
color: var(--text-secondary-color);
|
|
margin-bottom: .25rem;
|
|
}
|
|
}
|
|
}
|