feat(calendar-lab): render content only after zoom settle

This commit is contained in:
Ruslan Bakiev
2026-02-23 17:47:58 +07:00
parent 6d5402dcc1
commit 67a186e916
5 changed files with 204 additions and 106 deletions

View File

@@ -3,6 +3,8 @@ defineProps<{
isActive: boolean;
isLoading: boolean;
isLoaded: boolean;
showContent: boolean;
nextLabel?: string;
pulseScale: number;
}>();
</script>
@@ -18,17 +20,22 @@ defineProps<{
<p class="calendar-lab-subtitle">Weeks inside one month</p>
</header>
<p v-if="isLoading" class="calendar-lab-loading">Loading GraphQL month payload</p>
<p v-else-if="isLoaded" class="calendar-lab-meta">Data ready</p>
<template v-if="showContent">
<p v-if="isLoading" class="calendar-lab-loading">Loading GraphQL month payload</p>
<p v-else-if="isLoaded" class="calendar-lab-meta">Data ready</p>
<div class="calendar-lab-grid-month">
<div
v-for="week in 4"
:key="`lab-month-week-${week}`"
class="calendar-lab-row"
>
Week {{ week }}
<div class="calendar-lab-grid-month">
<div
v-for="week in 4"
:key="`lab-month-week-${week}`"
class="calendar-lab-row"
>
Week {{ week }}
</div>
</div>
</div>
</template>
<p v-else class="calendar-lab-hint">
Zoom into {{ nextLabel ?? "Week" }}
</p>
</section>
</template>