Files
imen_pishghaman/apps/web/app/layouts/default.vue
T
S. EsmaeiliandCursor 49f30a96b1 feat: polish admin UI, phone login, and product details
Switch admin auth to mobile, restyle shell/login with Vuesax icons, and add product detail fields plus public product pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 17:18:17 +03:30

34 lines
921 B
Vue

<script setup lang="ts">
import { AnimatePresence } from "motion-v";
import BackToTop from "~/components/layout/BackToTop.vue";
import Cursor from "~/components/layout/Cursor.vue";
import Footer from "~/components/layout/Footer.vue";
import Header from "~/components/layout/Header.vue";
import Preloader from "~/components/layout/Preloader.vue";
/*
* Site chrome shared by every page. It lives in the layout (not in each page) so navigation
* swaps only the page content: animations here — e.g. the preloader's exit — never run on a
* page that is being torn down, which crashed Vue's transition code.
*/
const ui = useUiStore();
</script>
<template>
<div>
<AnimatePresence>
<Preloader v-if="!ui.ready" @complete="ui.setReady" />
</AnimatePresence>
<Cursor />
<div class="noise" aria-hidden="true" />
<Header />
<slot />
<Footer />
<BackToTop />
</div>
</template>