backup: save fixed office seatmap snapshot

This commit is contained in:
hyunho
2026-03-26 09:42:25 +09:00
parent e62a6a5458
commit 6f5e61ca1a
15 changed files with 2042 additions and 224 deletions

View File

@@ -477,9 +477,10 @@
height: 100%;
overflow: auto;
border-radius: 24px;
background: #fff;
background: #ffffff;
padding: 0;
overscroll-behavior: contain;
cursor: grab;
}
.seatmap-board-wrap.is-panning {
@@ -493,45 +494,117 @@
.seatmap-dxf-canvas {
position: relative;
width: 100%;
min-width: 100%;
min-height: 100%;
margin: 0 auto;
padding: 72px 24px 24px;
border-radius: 24px;
overflow: hidden;
overflow: visible;
box-shadow: none;
background: #fff;
background: #ffffff;
}
.seatmap-dxf-frame-shell {
width: 100%;
height: 100%;
min-height: 720px;
background: #ffffff;
}
.seatmap-dxf-frame {
display: block;
width: 100%;
height: 100%;
min-height: 720px;
border: 0;
background: #ffffff;
}
.seatmap-dxf-viewer-head {
position: sticky;
top: 16px;
z-index: 6;
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
margin: 0 0 18px;
pointer-events: none;
}
.seatmap-viewer-chip,
.seatmap-viewer-fit {
pointer-events: auto;
display: inline-flex;
align-items: center;
min-height: 40px;
padding: 10px 14px;
border-radius: 16px;
border: 1px solid rgba(21, 35, 48, 0.1);
background: rgba(255, 255, 255, 0.96);
color: #627286;
font-size: 13px;
font-weight: 800;
box-shadow: 0 8px 24px rgba(21, 35, 48, 0.08);
}
.seatmap-viewer-fit {
border: none;
color: #ffffff;
background: linear-gradient(135deg, #0f766e, #115e59);
box-shadow: 0 10px 24px rgba(15, 118, 110, 0.22);
}
.seatmap-dxf-canvas-surface {
display: block;
width: 100%;
height: 680px;
border-radius: 24px;
background: #ffffff;
border: 1px solid rgba(21, 35, 48, 0.08);
box-shadow: 0 22px 48px rgba(21, 35, 48, 0.06);
cursor: grab;
}
.seatmap-dxf-canvas-surface.dragging {
cursor: grabbing;
}
.seatmap-dxf-stage {
position: relative;
transform-origin: center center;
transition: transform 0.12s ease-out;
transform-origin: top left;
transition: width 0.12s ease-out, height 0.12s ease-out;
margin: 0 auto;
}
.seatmap-dxf-preview {
position: relative;
z-index: 1;
line-height: 0;
filter: contrast(1.9) saturate(1.1) brightness(0.88);
filter: none;
border-radius: 24px;
overflow: hidden;
border: 1px solid rgba(21, 35, 48, 0.08);
background: #ffffff;
box-shadow: 0 22px 48px rgba(21, 35, 48, 0.06);
}
.seatmap-preview-svg {
display: block;
width: 100%;
height: auto;
height: 100%;
background: #fff;
}
.seatmap-preview-svg .seatmap-dxf-entity {
stroke: #000 !important;
stroke: rgba(21, 35, 48, 0.16) !important;
stroke-opacity: 1 !important;
stroke-width: 12 !important;
stroke-width: 4 !important;
}
.seatmap-preview-svg .seatmap-dxf-chair-entity {
stroke: #2563eb !important;
stroke: rgba(15, 118, 110, 0.96) !important;
stroke-opacity: 1 !important;
stroke-width: 6 !important;
stroke-width: 5.5 !important;
}
.seatmap-preview-svg rect {
@@ -547,19 +620,19 @@
.seatmap-slot {
position: absolute;
transform: translate(-50%, -50%);
width: 30px;
min-height: 30px;
width: 28px;
min-height: 28px;
border: 0;
border-radius: 999px;
background: transparent;
pointer-events: auto;
transition: box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
transition: box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
}
.seatmap-slot.editable:hover {
box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.4);
background: rgba(37, 99, 235, 0.12);
transform: translate(-50%, -50%) scale(1.02);
box-shadow: 0 0 0 6px rgba(15, 118, 110, 0.18);
background: rgba(15, 118, 110, 0.08);
transform: translate(-50%, -50%) scale(1.06);
}
.seatmap-slot.occupied {
@@ -569,7 +642,31 @@
}
.seatmap-slot.empty {
opacity: 0.14;
opacity: 0.72;
}
.seatmap-slot[data-slot-id]::after {
content: "";
position: absolute;
inset: 50% auto auto 50%;
width: 10px;
height: 10px;
transform: translate(-50%, -50%);
border-radius: 999px;
background: rgba(15, 118, 110, 0.28);
border: 1px solid rgba(15, 118, 110, 0.55);
}
.seatmap-slot.occupied::after {
width: 14px;
height: 14px;
background: rgba(220, 38, 38, 0.3);
border-color: rgba(220, 38, 38, 0.72);
}
.seatmap-slot:hover::after {
width: 16px;
height: 16px;
}
.seatmap-canvas {
@@ -968,6 +1065,19 @@
align-items: flex-start;
flex-direction: column;
}
.seatmap-dxf-canvas {
padding: 68px 16px 16px;
}
.seatmap-dxf-canvas-surface {
height: 620px;
}
.seatmap-dxf-frame-shell,
.seatmap-dxf-frame {
min-height: 620px;
}
}
@media (max-width: 720px) {