Files
FlightsAPI/resources/js/Components/FlightsGoneBy/ProfileLayout.vue
T
2026-05-21 22:52:16 +10:00

47 lines
1.1 KiB
Vue

<script setup lang="ts">
import {Flight, User} from "@/Types/types";
import ProfileHeader from "@/Components/FlightsGoneBy/ProfileHeader.vue";
import PlaneLoader from "@/Components/FlightsGoneBy/PlaneLoader.vue";
defineProps<{
user: User
flightCount?: number
achievementCount? : number
isFollowing: boolean
loading: boolean
}>()
</script>
<template>
<div class="board-wrapper">
<ProfileHeader :show="achievementCount && achievementCount > 0 ? 'achievements' : 'flights'" :is-following="isFollowing" :user="user" :flightCount="flightCount" :achievementCount="achievementCount" />
<div v-if="loading" class="loading-state">
<PlaneLoader />
</div>
<slot v-else />
</div>
</template>
<style scoped>
.board-wrapper {
min-height: 100dvh;
padding: 2.5rem 2rem;
font-family: 'Barlow', sans-serif;
width: 100%;
max-width: 2000px;
}
.loading-state {
display: flex;
justify-content: center;
align-items: center;
min-height: 50dvh;
}
@media (max-width: 1200px) {
.board-wrapper {
padding: 1em 0.25em;
}
}
</style>