add `<Suspense>` to enable async components and dynamic imports under the deck UI

This commit is contained in:
Hazelnoot 2024-11-02 11:09:52 -04:00
parent ed6c781426
commit 1d16656b39
1 changed files with 15 additions and 10 deletions

View File

@ -18,6 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-only
:style="columns.filter(c => ids.includes(c.id)).some(c => c.flexible) ? { flex: 1, minWidth: '350px' } : { width: Math.max(...columns.filter(c => ids.includes(c.id)).map(c => c.width)) + 'px' }"
@wheel.self="onWheel"
>
<Suspense>
<component
:is="columnComponents[columns.find(c => c.id === id)!.type] ?? XTlColumn"
v-for="id in ids"
@ -28,6 +29,10 @@ SPDX-License-Identifier: AGPL-3.0-only
:isStacked="ids.length > 1"
@headerWheel="onWheel"
/>
<template #fallback>
<MkLoading/>
</template>
</Suspense>
</section>
<div v-if="layout.length === 0" class="_panel" :class="$style.onboarding">
<div>{{ i18n.ts._deck.introduction }}</div>