<script setup lang="ts">
import { ref, onMounted, defineAsyncComponent } from "vue";
const TaskList = defineAsyncComponent(
    () => import("@/components/TaskList.vue"),
);
const PageFooter = defineAsyncComponent(
    () => import("@/components/PageFooter.vue"),
);
const AlertsContainer = defineAsyncComponent(
    () => import("@/components/AlertsContainer.vue"),
);

const visible = ref<boolean>(false);

onMounted(() => {
    setTimeout(() => {
        visible.value = true;
    });
});
</script>

<template>
    <main
        :style="{ display: visible ? 'flex' : 'none' }"
        class="min-h-screen flex-col"
    >
        <div class="hero bg-base-200 grow">
            <div class="hero-content text-center">
                <div
                    class="max-w-md min-w-96 bg-base-100 rounded-box shadow-md"
                >
                    <h1
                        class="p-4 pb-2 text-4xl font-bold opacity-60 tracking-wide select-none"
                    >
                        Tout Doux
                    </h1>
                    <task-list />
                </div>
            </div>
        </div>
        <page-footer />
        <alerts-container />
    </main>
</template>
