mirror of
https://github.com/Novattz/creamlinux-installer.git
synced 2025-12-05 19:45:36 -05:00
206 lines
4.4 KiB
SCSS
206 lines
4.4 KiB
SCSS
// src/styles/_components/_sidebar.scss
|
|
|
|
@use '../variables' as *;
|
|
@use '../mixins' as *;
|
|
|
|
.filter-list {
|
|
list-style: none;
|
|
margin-bottom: 1.5rem;
|
|
|
|
li {
|
|
@include transition-standard;
|
|
border-radius: var(--radius-sm);
|
|
padding: 0.7rem 1rem;
|
|
margin-bottom: 0.3rem;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
|
|
&:hover {
|
|
background-color: rgba(255, 255, 255, 0.07);
|
|
}
|
|
|
|
&.active {
|
|
@include gradient-bg($primary-color, color-mix(in srgb, black 10%, var(--primary-color)));
|
|
box-shadow: 0 4px 10px rgba(var(--primary-color), 0.3);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Custom select dropdown styling
|
|
.custom-select {
|
|
position: relative;
|
|
display: inline-block;
|
|
|
|
.select-selected {
|
|
background-color: rgba(255, 255, 255, 0.07);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
border-radius: var(--radius-sm);
|
|
color: var(--text-primary);
|
|
padding: 0.6rem 1rem;
|
|
font-size: 0.9rem;
|
|
cursor: pointer;
|
|
@include transition-standard;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
min-width: 150px;
|
|
|
|
&:after {
|
|
content: '⯆';
|
|
font-size: 0.7rem;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: rgba(255, 255, 255, 0.1);
|
|
}
|
|
}
|
|
|
|
.select-items {
|
|
position: absolute;
|
|
top: 100%;
|
|
left: 0;
|
|
right: 0;
|
|
background-color: var(--secondary-bg);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
border-radius: var(--radius-sm);
|
|
margin-top: 5px;
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
|
|
z-index: 10;
|
|
max-height: 0;
|
|
overflow: hidden;
|
|
transition: max-height 0.3s ease;
|
|
|
|
&.show {
|
|
max-height: 300px;
|
|
}
|
|
|
|
.select-item {
|
|
padding: 0.5rem 1rem;
|
|
cursor: pointer;
|
|
@include transition-standard;
|
|
|
|
&:hover {
|
|
background-color: rgba(255, 255, 255, 0.07);
|
|
}
|
|
|
|
&.selected {
|
|
background-color: var(--primary-color);
|
|
color: var(--text-primary);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// App logo styles
|
|
.app-logo {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
|
|
svg {
|
|
width: 28px;
|
|
height: 28px;
|
|
fill: var(--text-primary);
|
|
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
|
|
}
|
|
}
|
|
|
|
// Tooltip styles
|
|
.tooltip {
|
|
position: relative;
|
|
display: inline-block;
|
|
|
|
&:hover .tooltip-content {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.tooltip-content {
|
|
visibility: hidden;
|
|
width: 200px;
|
|
background-color: var(--secondary-bg);
|
|
color: var(--text-primary);
|
|
text-align: center;
|
|
border-radius: var(--radius-sm);
|
|
padding: 8px;
|
|
position: absolute;
|
|
z-index: var(--z-tooltip);
|
|
bottom: 125%;
|
|
left: 50%;
|
|
margin-left: -100px;
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
transition: opacity 0.3s, transform 0.3s;
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
font-size: 0.8rem;
|
|
pointer-events: none;
|
|
|
|
&::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 100%;
|
|
left: 50%;
|
|
margin-left: -5px;
|
|
border-width: 5px;
|
|
border-style: solid;
|
|
border-color: var(--secondary-bg) transparent transparent transparent;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Header controls
|
|
.refresh-button {
|
|
background-color: var(--primary-color);
|
|
color: var(--text-heavy);
|
|
border: none;
|
|
border-radius: var(--radius-sm);
|
|
padding: 0.6rem 1.2rem;
|
|
font-weight: var(--bold);
|
|
letter-spacing: 0.5px;
|
|
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
|
|
@include transition-standard;
|
|
|
|
&:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 6px 14px rgba(245, 150, 130, 0.3);
|
|
background-color: var(--primary-color);
|
|
}
|
|
|
|
&:active {
|
|
transform: translateY(0);
|
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
|
|
}
|
|
}
|
|
|
|
.search-input:focus {
|
|
border-color: var(--primary-color);
|
|
outline: none;
|
|
box-shadow: 0px 0px 6px rgba(245, 150, 130, 0.2);
|
|
}
|
|
|
|
.search-input {
|
|
background-color: var(--border-dark);
|
|
border: 1px solid var(--border-soft);
|
|
border-radius: 4px;
|
|
color: var(--text-primary);
|
|
padding: 0.6rem 1rem;
|
|
font-size: 0.9rem;
|
|
@include transition-standard;
|
|
box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.2);
|
|
min-width: 200px;
|
|
|
|
&:focus {
|
|
border-color: var(--primary-color);
|
|
background-color: rgba(255, 255, 255, 0.1);
|
|
outline: none;
|
|
box-shadow: 0 0 0 2px rgba(var(--primary-color), 0.3), inset 0 2px 5px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
&::placeholder {
|
|
color: rgba(255, 255, 255, 0.4);
|
|
}
|
|
} |