Split desktop and mobile layouts with shared page data so APIs fetch once per context.

Add layout shells, desktop views, module-level page caches, and UI fixes for auth, home, wallet, transactions, address, and related pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-14 10:08:46 +03:30
co-authored by Cursor
parent 4404b4cb92
commit a5e458ed25
234 changed files with 18425 additions and 5503 deletions
@@ -1,36 +1,14 @@
<template>
<div>
<div class="flex flex-col gap-4 pt-13 px-2 pb-[calc(var(--app-bottom-chrome-height)+var(--app-add-card-height)+1rem)]">
<RequestItem v-for="item in requestItems" :item="item"></RequestItem>
</div>
<Teleport to="body">
<div class="add-request app-dock-add-bar" @click="openAdd()">
<div>افزودن درخواست جدید</div>
<BasicIcon icon="vuesax-linear:add" />
</div>
</Teleport>
</div>
<MobileRequestListView v-show="!isDesktop" />
<DesktopRequestListView v-show="isDesktop" />
</template>
<script setup lang="ts">
import {onMounted, ref} from "vue";
import {getPhysicalReceiveList} from "@/api/physicalreceive";
import type {Physicalreceive} from "@/models/physicalreceive";
import RequestItem from "@/views/base/physicalReceive/components/RequestItem.vue";
import BasicIcon from "@/components/BasicPacks/BasicIcon.vue";
import router from "@/router";
import { usePhysicalReceiveList } from '../composables/usePhysicalReceiveList'
import { usePhysicalReceiveShellContext } from '../composables/usePhysicalReceiveShell'
import DesktopRequestListView from '../desktop/DesktopRequestListView.vue'
import MobileRequestListView from '../mobile/MobileRequestListView.vue'
const requestItems = ref<Physicalreceive[]>([])
const openAdd = () => {
router.push('physicalReceive/new')
}
onMounted(async () => {
let {rows} = await getPhysicalReceiveList()
requestItems.value = rows
console.log(rows)
})
const { isDesktop } = usePhysicalReceiveShellContext()
usePhysicalReceiveList()
</script>
<style scoped>
</style>