fix: move impersonation banner inside layout content flow

Replace position:fixed VSystemBar + fragile :deep() CSS overrides
with a normal-flow div inside the Vuexy content area. The banner
renders in VerticalNavLayout's default slot (layout-page-content)
so it sits naturally below the navbar without fighting the layout
system. Sidebar and navbar are no longer affected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-16 03:17:13 +02:00
parent dc886fed46
commit 0221e7f6d3
2 changed files with 52 additions and 69 deletions

View File

@@ -62,12 +62,9 @@ onUnmounted(() => {
</script>
<template>
<VSystemBar
<div
v-if="impersonationStore.isImpersonating"
color="warning"
height="48"
style="z-index: 9999; position: fixed; top: 0; left: 0; right: 0;"
class="px-4"
class="impersonation-banner d-flex align-center px-4"
>
<VIcon
icon="tabler-user-search"
@@ -93,15 +90,20 @@ onUnmounted(() => {
variant="elevated"
color="white"
class="text-warning"
prepend-icon="tabler-arrow-back"
:loading="isStopping"
@click="handleStop"
>
<VIcon
icon="tabler-arrow-back"
size="16"
class="me-1"
/>
Terug naar admin
</VBtn>
</VSystemBar>
</div>
</template>
<style scoped>
.impersonation-banner {
background: rgb(var(--v-theme-warning));
color: rgb(var(--v-theme-on-warning));
block-size: 48px;
inline-size: 100%;
}
</style>