From 6bcd5cb310b92394de81cc8a02a2d3005fbd88a5 Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Sat, 2 Jul 2022 12:12:10 +0900
Subject: enhance(client): cache pages in page-window

---
 packages/client/src/components/page-window.vue | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

(limited to 'packages/client/src/components/page-window.vue')

diff --git a/packages/client/src/components/page-window.vue b/packages/client/src/components/page-window.vue
index 7de09d3be4..886f480bfb 100644
--- a/packages/client/src/components/page-window.vue
+++ b/packages/client/src/components/page-window.vue
@@ -48,7 +48,10 @@ const router = new Router(routes, props.initialPath);
 
 let pageMetadata = $ref<null | ComputedRef<PageMetadata>>();
 let windowEl = $ref<InstanceType<typeof XWindow>>();
-const history = $ref<string[]>([props.initialPath]);
+const history = $ref<{ path: string; key: any; }[]>([{
+	path: router.getCurrentPath(),
+	key: router.getCurrentKey(),
+}]);
 const buttonsLeft = $computed(() => {
 	const buttons = [];
 
@@ -72,7 +75,7 @@ const buttonsRight = $computed(() => {
 });
 
 router.addListener('push', ctx => {
-	history.push(router.getCurrentPath());
+	history.push({ path: ctx.path, key: ctx.key });
 });
 
 provide('router', router);
@@ -111,7 +114,7 @@ function menu(ev) {
 
 function back() {
 	history.pop();
-	router.change(history[history.length - 1]);
+	router.change(history[history.length - 1].path, history[history.length - 1].key);
 }
 
 function close() {
-- 
cgit v1.2.3-freya

