36 lines
1.4 KiB
Vue
36 lines
1.4 KiB
Vue
<script setup>
|
|
import BasicListSkeleton from "components/basicSkeletons/BasicListSkeleton.vue";
|
|
import {computed} from "vue";
|
|
import {useAppStore} from "stores/App";
|
|
import FAB from "components/FAB.vue";
|
|
import OrganizationsList from "components/organizations/OrganizationsList.vue";
|
|
import BasicInfoBanner from "components/banners/BasicInfoBanner.vue";
|
|
import {useOrganizationsStore} from "stores/Organizations";
|
|
import {storeToRefs} from "pinia";
|
|
import {useLoggedUserStore} from "stores/LoggedUser";
|
|
|
|
useOrganizationsStore().fetch();
|
|
useAppStore().setPageTitle("Organizace");
|
|
useAppStore().setBreadcrumbs([]);
|
|
|
|
const loggedUser = storeToRefs(useLoggedUserStore()).user;
|
|
const myOrganizationIds = computed(() => (loggedUser.value && loggedUser.value.organizations?.map(o => o.id)) || []);
|
|
|
|
const {isQueryRunning, organizations} = storeToRefs(useOrganizationsStore());
|
|
</script>
|
|
|
|
<template>
|
|
<BasicListSkeleton v-if="isQueryRunning || !organizations"/>
|
|
|
|
<BasicInfoBanner
|
|
v-else-if="!isQueryRunning && organizations.length === 0"
|
|
:route-add='{name: "addOrganization"}'
|
|
>
|
|
Aktuálně nejsou dostupné žádné organizace, ke kterým by ses mohl/a přidat.
|
|
Zaregistruj sem svůj aeroklub, abyste mohli sdílet letadla.
|
|
</BasicInfoBanner>
|
|
|
|
<OrganizationsList :items="organizations" :my-organizations-ids="myOrganizationIds" v-else/>
|
|
<FAB :router-link="{name: 'addOrganization'}" mode="add"/>
|
|
</template>
|