Rework status bar as overlay text

This commit is contained in:
Nettika 2026-01-29 01:12:01 -08:00
parent 9712599f9b
commit fc119626f1
No known key found for this signature in database
2 changed files with 17 additions and 13 deletions

View file

@ -11,6 +11,10 @@ const leftSidebarWidth = computed(() =>
leftCollapsed.value ? '0' : 'var(--sidebar-width)' leftCollapsed.value ? '0' : 'var(--sidebar-width)'
) )
const statusLeftOffset = computed(() =>
leftCollapsed.value ? 'var(--space-md)' : 'calc(var(--sidebar-width) + var(--space-md))'
)
function loadSidebarState() { function loadSidebarState() {
try { try {
const stored = localStorage.getItem(STORAGE_KEY) const stored = localStorage.getItem(STORAGE_KEY)
@ -67,11 +71,11 @@ onMounted(() => {
<PropertiesPanel class="properties-panel"> <PropertiesPanel class="properties-panel">
<slot name="properties-panel" /> <slot name="properties-panel" />
</PropertiesPanel> </PropertiesPanel>
</div>
<footer class="status-bar"> <div class="status-text" :style="{ left: statusLeftOffset }">
<slot name="status-bar" /> <slot name="status" />
</footer> </div>
</div>
</div> </div>
</template> </template>
@ -120,16 +124,13 @@ onMounted(() => {
overflow: visible; overflow: visible;
} }
.status-bar { .status-text {
flex-shrink: 0; position: absolute;
height: var(--status-bar-height); bottom: var(--space-md);
display: flex;
align-items: center;
padding: 0 var(--space-md);
background: var(--color-bg-primary);
border-top: 1px solid var(--color-border);
font-size: var(--font-size-sm); font-size: var(--font-size-sm);
color: var(--color-text-muted); color: var(--color-text-muted);
pointer-events: none;
z-index: 1;
} }
/* Responsive: auto-collapse left sidebar on narrow screens */ /* Responsive: auto-collapse left sidebar on narrow screens */
@ -137,6 +138,10 @@ onMounted(() => {
.left-sidebar { .left-sidebar {
width: 0 !important; width: 0 !important;
} }
.status-text {
left: var(--space-md) !important;
}
} }
@media (max-width: 600px) { @media (max-width: 600px) {

View file

@ -48,7 +48,6 @@
/* Layout */ /* Layout */
--header-height: 48px; --header-height: 48px;
--status-bar-height: 24px;
--sidebar-width: 240px; --sidebar-width: 240px;
/* Borders */ /* Borders */