Files
myprojplanet_vite/src/components/TemplateBuilder/TemplateBuilder.scss
Surya Paolo 6d78f82099 - aggiornamento di tante cose...
- generazione Volantini
- pagina RIS
2025-12-17 10:07:42 +01:00

261 lines
3.8 KiB
SCSS

.template-builder {
display: flex;
flex-direction: column;
height: 100vh;
background: #f5f5f5;
overflow: hidden;
}
// Header
.builder-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.5rem 1rem;
background: white;
border-bottom: 1px solid #e0e0e0;
height: 56px;
flex-shrink: 0;
z-index: 100;
.header-left,
.header-right {
display: flex;
align-items: center;
gap: 0.5rem;
}
.header-center {
position: absolute;
left: 50%;
transform: translateX(-50%);
}
.template-name-input {
font-size: 1.1rem;
font-weight: 600;
min-width: 200px;
:deep(.q-field__control) {
height: 36px;
}
:deep(input) {
font-weight: 600;
}
}
}
// Main Content
.builder-content {
display: flex;
flex: 1;
overflow: hidden;
}
// Sidebars
.sidebar {
width: 280px;
background: white;
border-right: 1px solid #e0e0e0;
display: flex;
flex-direction: column;
overflow: hidden;
flex-shrink: 0;
&.sidebar-right {
border-right: none;
border-left: 1px solid #e0e0e0;
width: 320px;
}
}
.panel-tabs {
border-bottom: 1px solid #e0e0e0;
flex-shrink: 0;
}
.panel-content {
flex: 1;
overflow: hidden;
.q-tab-panel {
padding: 0;
height: 100%;
}
}
.scroll-panel {
height: 100%;
}
.panel-section-header {
background: #fafafa;
font-weight: 600;
}
.panel-section {
padding: 1rem;
}
.empty-panel {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
padding: 2rem;
text-align: center;
color: #888;
p {
margin-top: 1rem;
font-size: 0.9rem;
}
}
// Canvas Area
.canvas-area {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
background: #e8e8e8;
}
.canvas-toolbar {
display: flex;
align-items: center;
padding: 0.5rem 1rem;
background: white;
border-bottom: 1px solid #e0e0e0;
flex-shrink: 0;
}
.zoom-controls {
display: flex;
align-items: center;
gap: 0.25rem;
background: #f5f5f5;
border-radius: 6px;
padding: 0.25rem;
.zoom-value {
min-width: 50px;
text-align: center;
font-size: 0.85rem;
font-weight: 500;
}
}
.canvas-wrapper {
flex: 1;
overflow: auto;
display: flex;
align-items: center;
justify-content: center;
padding: 2rem;
// Custom scrollbar
&::-webkit-scrollbar {
width: 10px;
height: 10px;
}
&::-webkit-scrollbar-track {
background: #e0e0e0;
}
&::-webkit-scrollbar-thumb {
background: #bbb;
border-radius: 5px;
&:hover {
background: #999;
}
}
}
.canvas-footer {
display: flex;
align-items: center;
padding: 0.5rem 1rem;
background: white;
border-top: 1px solid #e0e0e0;
flex-shrink: 0;
gap: 1rem;
.format-info {
font-size: 0.8rem;
color: #666;
font-family: monospace;
}
}
// Safe Area Grid
.safe-area-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.5rem;
}
// Responsive
@media (max-width: 1200px) {
.sidebar {
width: 240px;
&.sidebar-right {
width: 280px;
}
}
}
@media (max-width: 900px) {
.builder-content {
flex-direction: column;
}
.sidebar {
width: 100%;
height: 200px;
border-right: none;
border-bottom: 1px solid #e0e0e0;
&.sidebar-right {
border-left: none;
border-top: 1px solid #e0e0e0;
height: 250px;
}
}
.header-center {
display: none;
}
}
// Dark mode
.body--dark {
.template-builder {
background: #1a1a1a;
}
.builder-header,
.sidebar,
.canvas-toolbar,
.canvas-footer {
background: #2d2d2d;
border-color: #404040;
}
.canvas-area {
background: #252525;
}
.panel-section-header {
background: #333;
}
.zoom-controls {
background: #404040;
}
}