fix: keep layout always in DOM via v-show to avoid Firefox click dispatch bug
Replace v-if/v-else-if/v-else auth guard with v-if on LoginPage and v-show on the layout div. Firefox fails to dispatch clicks to children after a DOM node is inserted into a display:flex container; using v-show means the layout is always present (just display:none), so no node replacement ever occurs in .app-root. Move the forced AccountModal (mustChangePassword) inside the layout as a first child with v-if. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,13 +2,12 @@
|
|||||||
<div class="app-root">
|
<div class="app-root">
|
||||||
<LoginPage v-if="!isAuthenticated" @login="onLogin" />
|
<LoginPage v-if="!isAuthenticated" @login="onLogin" />
|
||||||
|
|
||||||
|
<div v-show="isAuthenticated" class="layout">
|
||||||
<AccountModal
|
<AccountModal
|
||||||
v-else-if="mustChangePassword"
|
v-if="mustChangePassword"
|
||||||
:forced="true"
|
:forced="true"
|
||||||
@updated="onAccountUpdated"
|
@updated="onAccountUpdated"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div v-else class="layout">
|
|
||||||
<aside class="sidebar">
|
<aside class="sidebar">
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||||
|
|||||||
Reference in New Issue
Block a user