Files
clientsflow/frontend/app/components/workspace/calendar/lab/CrmCalendarLabMonthRect.vue

42 lines
1.1 KiB
Vue

<script setup lang="ts">
defineProps<{
isActive: boolean;
isLoading: boolean;
isLoaded: boolean;
showContent: boolean;
nextLabel?: string;
pulseScale: number;
}>();
</script>
<template>
<section
class="calendar-lab-rect calendar-lab-month"
:class="isActive ? 'calendar-lab-rect-active' : ''"
:style="{ transform: `scale(${pulseScale})` }"
>
<header class="calendar-lab-header">
<p class="calendar-lab-title">Month</p>
<p class="calendar-lab-subtitle">Weeks inside one month</p>
</header>
<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>
</div>
</template>
<p v-else class="calendar-lab-hint">
Zoom into {{ nextLabel ?? "Week" }}
</p>
</section>
</template>