<script setup>
import AppLayout from "../Layouts/AppLayout.vue";
import {useAuthStore} from "../Stores/auth.js";
import {NH1, NSpace, NP, NFlex} from 'naive-ui'
import StartButton from "../Components/StartButton.vue";
import {computed, ref} from "vue";
import {format} from "date-fns";
import {ru} from "date-fns/locale";
import {useNow} from "@vueuse/core";
import {TbArticle, TbChartTreemap, TbDoorExit} from "vue-icons-plus/tb";
import {useReportStore} from "../Stores/report.js";
import SelectUserModal from "./Report/Components/SelectUserModal.vue";
import {Link} from "@inertiajs/vue3";

const authStore = useAuthStore()
const reportStore = useReportStore()

const currentDate = computed(() => {
    const formatted = format(useNow().value, 'PPPPpp', {
        locale: ru
    })

    return formatted.charAt(0).toUpperCase() + formatted.slice(1)
})

const showSelectUserModal = ref(false)
const onShowSelectUserModal = () => {
    if (authStore.isDoctor)
    showSelectUserModal.value = true
}

const reportButtonType = computed(() => authStore.isDoctor ? 'button' : Link)
</script>

<template>
    <AppLayout>
        <div class="flex flex-col justify-start items-center mt-12">
            <NFlex vertical align="center" justify="center" class="max-w-xl w-full">
                <NSpace vertical align="center">
                    <NH1 class="mb-0!">
                        Привет {{authStore.user.name}}!
                    </NH1>
                    <NP class="mb-4!">
                        {{ currentDate }}
                    </NP>
                </NSpace>

                <StartButton title="Заполнить сводную"
                             description="Заполняется регулярно"
                             href="/report"
                             :tag="reportButtonType"
                             @click="onShowSelectUserModal"
                             :icon="TbArticle"
                />
                <StartButton title="Статистика моего отделения"
                             :description="`Ваше отделение в системе: ${authStore.userDepartment.name_short}`"
                             :href="`/statistic?sent_at=${reportStore.timestampCurrentRange}&groupId=1`"
                             :icon="TbChartTreemap"
                />
                <StartButton title="Выйти из системы"
                             description="Завершение работы с текущей учетной записью"
                             href="/dashboard"
                             :icon="TbDoorExit"
                />
            </NFlex>
        </div>
        <SelectUserModal v-model:show="showSelectUserModal" />
    </AppLayout>
</template>

<style scoped>

</style>
