feat: catalog read cache (api + user apps) and clearer Zarrin accounting errors

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
s.esmaeili
2026-10-11 14:31:32 +03:30
co-authored by Cursor
parent 561addc676
commit 574fa1b4aa
53 changed files with 1241 additions and 401 deletions
+11 -6
View File
@@ -1,10 +1,9 @@
<!--
Ported from legacy henza_pwa/src/layout/master.vue.
NOTE (existing issue, ported as-is — not fixed here): this layout renders
its own <router-view/> rather than a <slot/>, so the keep-alive/suspense
wrapper App.vue builds around its own <router-view> is never actually used
by this layout — the route component here is resolved fresh, independently.
Preserved exactly; flagged separately.
This layout renders its own <router-view/> rather than a <slot/>, so the
keep-alive/suspense wrapper App.vue builds around its own <router-view> never
reaches these routes. The keep-alive below is the one that applies: the main
tabs stay mounted between switches instead of refetching on every visit.
-->
<template>
<section ref="content">
@@ -16,7 +15,9 @@
@after-leave="pageLeaveEnded"
@leave-cancelled="pageLeaveEnded"
>
<component :is="Component" :key="route.name" />
<keep-alive :include="KEEP_ALIVE">
<component :is="Component" :key="route.name" />
</keep-alive>
</transition>
</router-view>
<Navigation />
@@ -31,6 +32,10 @@ import Navigation from '../components/ui/Navigation.vue'
import { useWindowDataStore } from '../stores/windowDataStore'
import { pageLeaveStarted, pageLeaveEnded } from '../composables/usePageTransition'
// Component names (from the SFC file names) of the bottom-nav tabs. Forms and
// the product page are left out: they should open fresh every time.
const KEEP_ALIVE = ['HomeView', 'SearchView', 'OrdersView', 'DashboardView']
const windowData = useWindowDataStore()
const content = ref<HTMLElement | null>(null)