Files
app/src/pages/profile/organization/OrganizationsPage.vue
T

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>