projects/desktop/src/app/components/start-menu/start-menu.component.scss

135 lines
2.0 KiB
SCSS

:host {
display: contents;
}
.start-menu-backdrop {
position: fixed;
inset: 0;
z-index: 8000;
}
.start-menu {
position: fixed;
bottom: 56px;
left: 50%;
transform: translateX(-50%);
width: 520px;
max-height: 580px;
background: #2d2d2d;
border: 1px solid #444;
border-radius: 12px;
box-shadow: 0 8px 48px rgba(0, 0, 0, 0.5), 0 2px 12px rgba(0, 0, 0, 0.3);
z-index: 8500;
display: flex;
flex-direction: column;
overflow: hidden;
animation: slideUp 0.2s ease-out;
}
@keyframes slideUp {
from {
opacity: 0;
transform: translateX(-50%) translateY(20px);
}
to {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
}
.start-header {
display: flex;
align-items: center;
gap: 10px;
padding: 20px 24px 12px;
}
.start-logo {
font-size: 28px;
}
.start-title {
font-size: 20px;
font-weight: 600;
color: #e0e0e0;
}
.start-search {
padding: 0 20px 12px;
}
.search-input {
width: 100%;
height: 36px;
padding: 0 12px;
border: 1px solid #555;
border-radius: 6px;
background: #383838;
color: #e0e0e0;
font-size: 13px;
outline: none;
box-sizing: border-box;
&::placeholder {
color: #888;
}
&:focus {
border-color: #0078d4;
box-shadow: 0 0 0 1px #0078d4;
}
}
.app-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
padding: 4px 20px 16px;
flex: 1;
}
.app-tile {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
padding: 16px 8px;
border: none;
background: transparent;
border-radius: 8px;
cursor: pointer;
transition: background 0.15s;
color: #e0e0e0;
&:hover {
background: rgba(255, 255, 255, 0.06);
}
&:active {
background: rgba(255, 255, 255, 0.03);
}
}
.app-tile-icon {
font-size: 32px;
}
.app-tile-title {
font-size: 12px;
text-align: center;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.start-footer {
padding: 8px 24px 14px;
border-top: 1px solid #3a3a3a;
}
.version {
font-size: 11px;
color: #666;
}