diff options
Diffstat (limited to 'vnext/src/index.js')
-rw-r--r-- | vnext/src/index.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/vnext/src/index.js b/vnext/src/index.js index 848a689e..556745ff 100644 --- a/vnext/src/index.js +++ b/vnext/src/index.js @@ -21,10 +21,15 @@ class App extends React.Component { constructor(props) { super(props); this.auth = this.auth.bind(this); + let params = qs.parse(window.location.search) + if (params.hash) { + window.localStorage.hash = params.hash + window.history.replaceState({}, document.title, `${window.location.protocol}//${window.location.host}${window.location.pathname}`) + } this.state = { visitor: { uid: Number(window.localStorage.uid) || 0, - hash: window.localStorage.hash || '' + hash: window.localStorage.hash || params.hash || '' }, headerClassName: '' }; @@ -138,11 +143,6 @@ class App extends React.Component { <Route exact path="/settings" render={(props) => <Settings visitor={user} {...props} /> } /> - <Route exact path="/_fblogin" render={(props) => { - let params = qs.parse(props.location.search) - this.auth(params.hash) - return <Redirect to="/" /> - }} /> <Route exact path="/post" render={(props) => <Post visitor={user} {...props} />} /> <Route exact path="/pm" render={(props) => <Contacts visitor={user} {...props} />} /> <Route exact path="/pm/:user" render={(props) => <Chat visitor={user} {...props} />} /> @@ -230,6 +230,9 @@ class App extends React.Component { this.setState({ visitor: visitor }) + }).catch(reason => { + window.localStorage.clear() + window.location.reload() }) } } |