Fix restoring the last url at start
The last session url is now remembered for being restored at the beginning of the session. Thanks for the help of @bwindels
This commit is contained in:
parent
bb5711db7e
commit
adfecf0778
3 changed files with 14 additions and 13 deletions
|
@ -27,7 +27,7 @@ export class URLRouter {
|
||||||
}
|
}
|
||||||
|
|
||||||
_getLastSessionId() {
|
_getLastSessionId() {
|
||||||
const navPath = this._urlAsNavPath(this._history.getLastUrl() || "");
|
const navPath = this._urlAsNavPath(this._history.getLastSessionUrl() || "");
|
||||||
const sessionId = navPath.get("session")?.value;
|
const sessionId = navPath.get("session")?.value;
|
||||||
if (typeof sessionId === "string") {
|
if (typeof sessionId === "string") {
|
||||||
return sessionId;
|
return sessionId;
|
||||||
|
@ -84,7 +84,7 @@ export class URLRouter {
|
||||||
}
|
}
|
||||||
|
|
||||||
tryRestoreLastUrl() {
|
tryRestoreLastUrl() {
|
||||||
const lastNavPath = this._urlAsNavPath(this._history.getLastUrl() || "");
|
const lastNavPath = this._urlAsNavPath(this._history.getLastSessionUrl() || "");
|
||||||
if (lastNavPath.segments.length !== 0) {
|
if (lastNavPath.segments.length !== 0) {
|
||||||
this._applyNavPathToNavigation(lastNavPath);
|
this._applyNavPathToNavigation(lastNavPath);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -65,6 +65,7 @@ export class History extends BaseObservableValue {
|
||||||
}
|
}
|
||||||
|
|
||||||
onSubscribeFirst() {
|
onSubscribeFirst() {
|
||||||
|
this._lastSessionHash = window.localStorage?.getItem("hydrogen_last_url_hash");
|
||||||
window.addEventListener('hashchange', this);
|
window.addEventListener('hashchange', this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,7 +77,7 @@ export class History extends BaseObservableValue {
|
||||||
window.localStorage?.setItem("hydrogen_last_url_hash", hash);
|
window.localStorage?.setItem("hydrogen_last_url_hash", hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
getLastUrl() {
|
getLastSessionUrl() {
|
||||||
return window.localStorage?.getItem("hydrogen_last_url_hash");
|
return this._lastSessionHash;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue