65 lines
2.0 KiB
Vue
65 lines
2.0 KiB
Vue
<script setup>
|
|
import {useRoute} from "vue-router";
|
|
import {onMounted} from "vue";
|
|
import CopilotDetailSkeleton from "components/copilots/skeletons/CopilotDetailSkeleton.vue";
|
|
import {useAppStore} from "stores/App";
|
|
import FlightsList from "components/flights/FlightsList.vue";
|
|
import {useCopilotsStore} from "stores/Copilots";
|
|
import {storeToRefs} from "pinia";
|
|
import PhotoGallery from "components/photos/PhotoGallery.vue";
|
|
import ContentCard from "components/ContentCard.vue";
|
|
|
|
const copilotId = parseInt(useRoute().params.id);
|
|
onMounted(() => {
|
|
useCopilotsStore().fetchDetail(copilotId).then(() => {
|
|
useAppStore().setPageTitle(copilot.value.name);
|
|
useAppStore().setBreadcrumbs([
|
|
{to: {name: "copilots"}, label: "Kopiloti"},
|
|
{label: copilot.value.name}
|
|
])
|
|
});
|
|
});
|
|
|
|
const {isQueryRunning, copilot} = storeToRefs(useCopilotsStore());
|
|
</script>
|
|
|
|
<template>
|
|
<CopilotDetailSkeleton v-if="isQueryRunning || !copilot"/>
|
|
|
|
<template v-else>
|
|
|
|
<ContentCard :title-photo="copilot.titlePhoto" :title="copilot.name">
|
|
<template #actions>
|
|
<div class="col-grow">
|
|
<q-btn
|
|
flat
|
|
:to="{name: 'copilotEdit', params: {id: copilotId}}"
|
|
icon="edit"
|
|
text-color="primary"
|
|
label="Upravit"
|
|
/>
|
|
</div>
|
|
</template>
|
|
<template #content>
|
|
<q-card-section>
|
|
<PhotoGallery :photos="copilot.photos" v-if="copilot.photos.length > 0"/>
|
|
<q-banner v-else class="bg-light-blue text-white">
|
|
Zatím tu nemáš žádné společné fotky. Po nahrání fotky můžeš označit tuto osobu a takto označené
|
|
fotografie se zobrazí v galerii.
|
|
</q-banner>
|
|
|
|
<h3>Společné lety</h3>
|
|
|
|
<q-banner v-if="copilot.flights.length === 0" class="bg-light-blue text-white">
|
|
Zatím tu nemáš uložené žádné společné lety.
|
|
</q-banner>
|
|
|
|
<FlightsList :items="copilot.flights" :public="false" v-else/>
|
|
</q-card-section>
|
|
</template>
|
|
|
|
</ContentCard>
|
|
|
|
</template>
|
|
</template>
|