From 3521eff4f4bea3abf67abfac3c0a4c6ca50a7187 Mon Sep 17 00:00:00 2001 From: Richard Harris Date: Sat, 2 Feb 2019 13:20:53 -0500 Subject: [PATCH] more tidying up --- templates/src/app/app.ts | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/templates/src/app/app.ts b/templates/src/app/app.ts index 5105583..b8001bd 100644 --- a/templates/src/app/app.ts +++ b/templates/src/app/app.ts @@ -115,7 +115,6 @@ export function scroll_state() { } export async function navigate(target: Target, id: number, noscroll?: boolean, hash?: string): Promise { - let scroll: ScrollPosition; if (id) { // popstate or initial navigation cid = id; @@ -143,18 +142,16 @@ export async function navigate(target: Target, id: number, noscroll?: boolean, h prefetching = null; const token = current_token = {}; - const { redirect, page, props, branch } = await loaded; + if (token !== current_token) return; // a secondary navigation happened while we were loading if (redirect) return goto(redirect.location, { replaceState: true }); - await render(branch, props, page, scroll_history[id], noscroll, hash, token); + await render(branch, props, page, scroll_history[id], noscroll, hash); if (document.activeElement) document.activeElement.blur(); } -async function render(branch: any[], props: any, page: Page, scroll: ScrollPosition, noscroll: boolean, hash: string, token: {}) { - if (current_token !== token) return; - +async function render(branch: any[], props: any, page: Page, scroll: ScrollPosition, noscroll: boolean, hash: string) { stores.page.set(page); stores.preloading.set(null); @@ -269,15 +266,12 @@ export async function hydrate_target(target: Target): Promise<{ if (redirect) return { redirect }; - const page_data = { - path, - query, - params - }; + const page = { path, query, params }; if (error) { + // TODO be nice if this was less of a special case return { - page: page_data, + page, props: { child: { component: ErrorComponent, @@ -304,7 +298,7 @@ export async function hydrate_target(target: Target): Promise<{ level = level.props.child; }); - return { props, page: page_data, branch }; + return { props, page, branch }; } function load_css(chunk: string) {