2022-11-26 13:58:10 +01:00
|
|
|
<script setup lang="ts">
|
|
|
|
defineProps<{
|
2022-12-29 13:21:00 +01:00
|
|
|
/** Show the back button on small screens */
|
2022-12-28 02:12:56 +01:00
|
|
|
backOnSmallScreen?: boolean
|
2022-12-29 13:21:00 +01:00
|
|
|
/** Show the back button on both small and big screens */
|
|
|
|
back?: boolean
|
2022-11-26 13:58:10 +01:00
|
|
|
}>()
|
|
|
|
</script>
|
|
|
|
|
2022-11-15 14:50:41 +01:00
|
|
|
<template>
|
2022-12-30 19:16:23 +01:00
|
|
|
<div relative>
|
2022-11-23 09:08:49 +01:00
|
|
|
<div
|
2022-12-30 19:16:23 +01:00
|
|
|
sticky top-0 z10
|
2022-11-27 04:39:57 +01:00
|
|
|
border="b base" bg-base
|
2022-11-23 09:08:49 +01:00
|
|
|
>
|
|
|
|
<div flex justify-between px5 py4>
|
2022-12-04 15:26:42 +01:00
|
|
|
<div flex gap-3 items-center overflow-hidden>
|
2022-12-28 02:12:56 +01:00
|
|
|
<NuxtLink
|
2022-12-29 13:21:00 +01:00
|
|
|
v-if="backOnSmallScreen || back" flex="~ gap1" items-center btn-text p-0
|
|
|
|
:class="{ 'lg:hidden': backOnSmallScreen }"
|
2022-12-28 02:12:56 +01:00
|
|
|
@click="$router.go(-1)"
|
|
|
|
>
|
2022-11-29 13:06:08 +01:00
|
|
|
<div i-ri:arrow-left-line />
|
2022-11-26 13:58:10 +01:00
|
|
|
</NuxtLink>
|
2022-12-04 15:26:42 +01:00
|
|
|
<div truncate>
|
2022-12-03 06:19:59 +01:00
|
|
|
<slot name="title" />
|
|
|
|
</div>
|
2022-12-04 15:26:42 +01:00
|
|
|
<div h-7 w-1px />
|
|
|
|
</div>
|
2022-12-15 20:59:47 +01:00
|
|
|
<div flex items-center flex-shrink-0 gap-x-2>
|
2022-12-04 15:26:42 +01:00
|
|
|
<slot name="actions" />
|
2022-12-23 19:26:28 +01:00
|
|
|
<PwaBadge lg:hidden />
|
2022-12-26 15:17:23 +01:00
|
|
|
<NavUser v-if="isMastoInitialised" />
|
2022-11-20 22:30:21 +01:00
|
|
|
</div>
|
2022-11-15 14:50:41 +01:00
|
|
|
</div>
|
2022-11-23 09:08:49 +01:00
|
|
|
<slot name="header" />
|
2022-11-15 14:50:41 +01:00
|
|
|
</div>
|
2022-11-27 01:35:19 +01:00
|
|
|
<slot />
|
2022-11-15 14:50:41 +01:00
|
|
|
</div>
|
|
|
|
</template>
|