diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2022-04-14 13:23:02 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2022-04-20 10:51:21 +0200 |
| commit | 9a07f80b235382232ba3c3f34c83e2ce8931aaa8 (patch) | |
| tree | f9a7c76076d5bb3f421b604a270ec3e28903f8d0 /gui/src/renderer/lib | |
| parent | fbdf3932b450ab65940f9f006db05cd35ff10704 (diff) | |
| download | mullvadvpn-9a07f80b235382232ba3c3f34c83e2ce8931aaa8.tar.xz mullvadvpn-9a07f80b235382232ba3c3f34c83e2ce8931aaa8.zip | |
Remember history when replacing window
Diffstat (limited to 'gui/src/renderer/lib')
| -rw-r--r-- | gui/src/renderer/lib/history.tsx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gui/src/renderer/lib/history.tsx b/gui/src/renderer/lib/history.tsx index 2eb08d001d..9a0205b382 100644 --- a/gui/src/renderer/lib/history.tsx +++ b/gui/src/renderer/lib/history.tsx @@ -2,6 +2,7 @@ import { Action, History as OriginalHistory, Location, LocationDescriptorObject import React from 'react'; import { RouteComponentProps, useHistory as useReactRouterHistory, withRouter } from 'react-router'; +import { IHistoryObject } from '../../shared/ipc-types'; import { GeneratedRoutePath, RoutePath } from './routes'; export interface ITransitionSpecification { @@ -61,6 +62,15 @@ export default class History { this.entries = [this.createLocation(location, state)]; } + public static fromSavedHistory(savedHistory: IHistoryObject): History { + const history = new History(RoutePath.launch); + history.entries = savedHistory.entries; + history.index = savedHistory.index; + history.lastAction = savedHistory.lastAction; + + return history; + } + public get location(): Location<S> { return this.entries[this.index]; } @@ -126,6 +136,14 @@ export default class History { return this as OriginalHistory; } + public get asObject(): IHistoryObject { + return { + entries: this.entries, + index: this.index, + lastAction: this.lastAction, + }; + } + public block(): never { throw Error('Not implemented'); } |
