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

44 lines
1.2 KiB
Vue

<script setup lang="ts">
defineProps<{
isActive: boolean;
isLoading: boolean;
isLoaded: boolean;
showContent: boolean;
pulseScale: number;
}>();
</script>
<template>
<section
class="calendar-lab-rect calendar-lab-day"
:class="isActive ? 'calendar-lab-rect-active' : ''"
:style="{ transform: `scale(${pulseScale})` }"
>
<header class="calendar-lab-header">
<p class="calendar-lab-title">Day</p>
<p class="calendar-lab-subtitle">Timeline events</p>
</header>
<template v-if="showContent">
<p v-if="isLoading" class="calendar-lab-loading">Loading GraphQL day payload</p>
<p v-else-if="isLoaded" class="calendar-lab-meta">Data ready</p>
<div class="calendar-lab-timeline">
<article class="calendar-lab-event">
<span>09:30</span>
<p>Call with client</p>
</article>
<article class="calendar-lab-event">
<span>13:00</span>
<p>Prepare follow-up summary</p>
</article>
<article class="calendar-lab-event">
<span>16:45</span>
<p>Send proposal update</p>
</article>
</div>
</template>
<p v-else class="calendar-lab-hint">Zoom stopped. Day content will render here.</p>
</section>
</template>