diff --git a/src/styles/dashboard.css b/src/styles/dashboard.css index 5c1bbaf..85801c4 100644 --- a/src/styles/dashboard.css +++ b/src/styles/dashboard.css @@ -321,9 +321,60 @@ cursor: pointer; } -.empty-state { - padding: 4rem 2rem; - text-align: center; - color: var(--text-muted); - font-size: 0.8125rem; +/* --- Asset Detail Sidebar (LocationView) --- */ +.asset-detail-sidebar { + padding-top: 1rem; + background: var(--white); + height: 100%; + overflow-y: auto; +} + +.detail-section { + margin-bottom: 20px; + padding: 0 1.25rem; +} + +.detail-section-title { + font-size: 13px; + font-weight: 700; + color: var(--primary-color); + border-bottom: 1px solid var(--border-color); + padding-bottom: 6px; + margin-bottom: 12px; +} + +.detail-grid { + display: grid; + grid-template-columns: repeat(2, minmax(80px, auto) 1fr); + gap: 8px 16px; +} + +.detail-label { + font-size: 12px; + color: var(--text-muted); + font-weight: 600; + display: flex; + align-items: center; +} + +.detail-value { + font-size: 14px; + color: var(--text-main); + font-weight: 500; + word-break: break-all; + display: flex; + align-items: center; +} + +.detail-header-actions { + display: flex; + align-items: center; + gap: 8px; + width: 100%; +} + +.detail-header-title { + flex: 1; + font-size: 0.95rem; + font-weight: 700; } diff --git a/src/views/LocationView.ts b/src/views/LocationView.ts index 5bb81ff..9ade3c6 100644 --- a/src/views/LocationView.ts +++ b/src/views/LocationView.ts @@ -176,21 +176,22 @@ export async function renderLocationView(container: HTMLElement) { const renderAssetDetail = (asset: any) => { const title = container.querySelector('#loc-list-title')!; const tableContainer = container.querySelector('#loc-asset-table-container')!; + title.innerHTML = ` -
+
- 📍 자산 상세 정보 + 자산 상세 정보
`; const renderSection = (title: string, fields: { label: string; value: any }[]) => ` -
-
${title}
-
+
+
${title}
+
${fields.map(f => ` -
${f.label}
-
${f.value || '-'}
+
${f.label}
+
${f.value || '-'}
`).join('')}
@@ -224,7 +225,7 @@ export async function renderLocationView(container: HTMLElement) { ].join(''); tableContainer.innerHTML = ` -
+
${sectionsHTML}
`;