<script setup>
import { useI18n } from 'vue-i18n';
import { useStateStore } from 'stores/useStateStore';
import TicketDescriptor from './TicketDescriptor.vue';
import LeftMenu from 'components/LeftMenu.vue';
import VnSearchbar from 'src/components/ui/VnSearchbar.vue';
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
import useCardSize from 'src/composables/useCardSize';

const stateStore = useStateStore();
const { t } = useI18n();
</script>
<template>
    <Teleport to="#searchbar" v-if="stateStore.isHeaderMounted()">
        <VnSearchbar
            data-key="TicketList"
            url="Tickets/filter"
            :label="t('Search ticket')"
            :info="t('You can search by ticket id or alias')"
        />
    </Teleport>
    <QDrawer v-model="stateStore.leftDrawer" show-if-above :width="256">
        <QScrollArea class="fit">
            <TicketDescriptor />
            <QSeparator />
            <LeftMenu source="card" />
        </QScrollArea>
    </QDrawer>
    <QPageContainer>
        <QPage>
            <VnSubToolbar />

            <div :class="useCardSize()">
                <RouterView></RouterView>
            </div>
        </QPage>
    </QPageContainer>
</template>

<style lang="scss">
.q-scrollarea__content {
    max-width: 100%;
}
</style>

<style lang="scss" scoped>
.descriptor {
    max-width: 256px;

    h5 {
        margin: 0 15px;
    }

    .header {
        display: flex;
        justify-content: space-between;
    }

    .q-card__actions {
        justify-content: center;
    }

    #descriptor-skeleton .q-card__actions {
        justify-content: space-between;
    }
}
</style>

<i18n>
es:
    Search ticket: Buscar ticket
    You can search by ticket id or alias: Puedes buscar por id o alias del ticket
</i18n>
