From c6fe331fe948a9dc1102b344c9ee1a7451027934 Mon Sep 17 00:00:00 2001 From: Jim O'Donnell Date: Tue, 29 Mar 2022 23:13:08 +0100 Subject: [PATCH] Add a popstate handler Add history state for back/forward navigation. --- packages/lib-classifier/dev/components/App/App.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/lib-classifier/dev/components/App/App.js b/packages/lib-classifier/dev/components/App/App.js index 01598f96a4..1e82127fd7 100644 --- a/packages/lib-classifier/dev/components/App/App.js +++ b/packages/lib-classifier/dev/components/App/App.js @@ -25,12 +25,20 @@ class App extends React.Component { } componentDidMount () { + addEventListener('popstate', this.onPopState.bind(this)) this.initAuthorization() .then(() => { this.fetchProject() }) } + onPopState({ state }) { + const url = new URL(window.location) + const { searchParams } = url + const workflowID = searchParams.get('workflow') + this.setState({ workflowID }) + } + onError (error, info) { console.error(error) } @@ -125,7 +133,7 @@ class App extends React.Component { } else { newParams.set('workflow', workflowID) } - history.pushState(null, '', `/?${newParams.toString()}`) + history.pushState({ workflowID }, '', `/?${newParams.toString()}`) } toggleTheme () {