diff --git a/app/web/src/nova/ed/logic/ed-global.ts b/app/web/src/nova/ed/logic/ed-global.ts index 59a09eb8..abeeba71 100644 --- a/app/web/src/nova/ed/logic/ed-global.ts +++ b/app/web/src/nova/ed/logic/ed-global.ts @@ -154,7 +154,6 @@ export const EDGlobal = { string, { entry: string[]; meta: Record; url: string } >, - show_loading: false, }, sync: null as unknown as Awaited>, site: deepClone(EmptySite), diff --git a/app/web/src/nova/ed/logic/ed-sync.tsx b/app/web/src/nova/ed/logic/ed-sync.tsx index fe2f456e..7198e596 100644 --- a/app/web/src/nova/ed/logic/ed-sync.tsx +++ b/app/web/src/nova/ed/logic/ed-sync.tsx @@ -35,7 +35,6 @@ export const edInitSync = (p: PG) => { } if (!params.page_id) { if (location.pathname.startsWith("/vi/")) { - p.preview.show_loading = false; if (page.list.length === 0) { db.page .findMany({ diff --git a/app/web/src/nova/vi/preview.tsx b/app/web/src/nova/vi/preview.tsx index afdb4086..f2a70ef9 100644 --- a/app/web/src/nova/vi/preview.tsx +++ b/app/web/src/nova/vi/preview.tsx @@ -65,16 +65,7 @@ export const ViPreview = (arg: { pathname: string }) => { viRoute(p); if (p.status !== "ready") { - if (p.preview.show_loading) { - return ; - } else { - setTimeout(() => { - p.preview.show_loading = true; - p.render(); - }, 1000); - - return null; - } + return ; } const mode = p.mode; @@ -220,27 +211,32 @@ const viRoute = async (p: PG) => { } else { let page_cache = p.preview.meta_cache[params.page_id]; + let should_render = false; if (!page_cache) { const idb_cache = await get(`page-${params.page_id}`, nav.store); if (idb_cache) { page_cache = idb_cache; p.preview.meta_cache[params.page_id] = idb_cache; + should_render = true; } } - if (page_cache) { + if (page_cache && page_cache.entry.length > 0) { p.page.meta = page_cache.meta; p.page.entry = page_cache.entry; if (p.page.cur.id !== params.page_id) { p.page.cur = { id: params.page_id } as any; } + p.status = "ready"; + p.sync.page.load(params.page_id); + if (should_render) p.render(); + return; } } } - await reloadPage(p, params.page_id, "load-route"); } }