forked from mystiq/hydrogen-web
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() {
|
||||
const navPath = this._urlAsNavPath(this._history.getLastUrl() || "");
|
||||
const navPath = this._urlAsNavPath(this._history.getLastSessionUrl() || "");
|
||||
const sessionId = navPath.get("session")?.value;
|
||||
if (typeof sessionId === "string") {
|
||||
return sessionId;
|
||||
|
@ -84,7 +84,7 @@ export class URLRouter {
|
|||
}
|
||||
|
||||
tryRestoreLastUrl() {
|
||||
const lastNavPath = this._urlAsNavPath(this._history.getLastUrl() || "");
|
||||
const lastNavPath = this._urlAsNavPath(this._history.getLastSessionUrl() || "");
|
||||
if (lastNavPath.segments.length !== 0) {
|
||||
this._applyNavPathToNavigation(lastNavPath);
|
||||
return true;
|
||||
|
|
|
@ -22,16 +22,16 @@ export function makeTxnId() {
|
|||
}
|
||||
|
||||
export function isTxnId(txnId) {
|
||||
return txnId.startsWith("t") && txnId.length === 15;
|
||||
return txnId.startsWith("t") && txnId.length === 15;
|
||||
}
|
||||
|
||||
export function tests() {
|
||||
return {
|
||||
"isTxnId succeeds on result of makeTxnId": assert => {
|
||||
assert(isTxnId(makeTxnId()));
|
||||
},
|
||||
"isTxnId fails on event id": assert => {
|
||||
assert(!isTxnId("$yS_n5n3cIO2aTtek0_2ZSlv-7g4YYR2zKrk2mFCW_rm"));
|
||||
},
|
||||
}
|
||||
return {
|
||||
"isTxnId succeeds on result of makeTxnId": assert => {
|
||||
assert(isTxnId(makeTxnId()));
|
||||
},
|
||||
"isTxnId fails on event id": assert => {
|
||||
assert(!isTxnId("$yS_n5n3cIO2aTtek0_2ZSlv-7g4YYR2zKrk2mFCW_rm"));
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,6 +65,7 @@ export class History extends BaseObservableValue {
|
|||
}
|
||||
|
||||
onSubscribeFirst() {
|
||||
this._lastSessionHash = window.localStorage?.getItem("hydrogen_last_url_hash");
|
||||
window.addEventListener('hashchange', this);
|
||||
}
|
||||
|
||||
|
@ -76,7 +77,7 @@ export class History extends BaseObservableValue {
|
|||
window.localStorage?.setItem("hydrogen_last_url_hash", hash);
|
||||
}
|
||||
|
||||
getLastUrl() {
|
||||
return window.localStorage?.getItem("hydrogen_last_url_hash");
|
||||
getLastSessionUrl() {
|
||||
return this._lastSessionHash;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue