diff --git a/src/app/features/hud/hud-dock.component.spec.ts b/src/app/features/hud/hud-dock.component.spec.ts index 0ced268..9018ecf 100644 --- a/src/app/features/hud/hud-dock.component.spec.ts +++ b/src/app/features/hud/hud-dock.component.spec.ts @@ -252,4 +252,32 @@ describe('HudDockComponent', () => { fixture.detectChanges(); expect(tab('Readout').getAttribute('aria-selected')).toBe('true'); }); + + it('keeps what the Routes panel was set to across a trip to another tab', () => { + setReadout(); + fixture.componentRef.setInput('routing', true); + fixture.componentRef.setInput('routeOptions', [{ id: 7, name: 'Sirius', subtitle: '2.6 pc' }]); + fixture.componentRef.setInput('defaultTab', 'routes'); + fixture.detectChanges(); + + const destination = host().querySelector('#route-to')!; + destination.value = 'Sir'; + destination.dispatchEvent(new Event('input')); + fixture.detectChanges(); + host().querySelector('#dock-panel-routes ul button')!.click(); + const range = host().querySelector('#route-range')!; + range.value = '6'; + range.dispatchEvent(new Event('input')); + fixture.detectChanges(); + + tab('Readout').click(); + fixture.detectChanges(); + expect(host().querySelector('#dock-panel-routes')!.hidden).toBe(true); + tab('Routes').click(); + fixture.detectChanges(); + + expect(host().querySelector('#dock-panel-routes')!.hidden).toBe(false); + expect(host().querySelector('#route-to')!.value).toBe('Sirius'); + expect(host().querySelector('#route-range')!.value).toBe('6'); + }); }); diff --git a/src/app/features/hud/hud-dock.component.ts b/src/app/features/hud/hud-dock.component.ts index 1330b25..ddf757e 100644 --- a/src/app/features/hud/hud-dock.component.ts +++ b/src/app/features/hud/hud-dock.component.ts @@ -128,20 +128,6 @@ function isWideViewport(): boolean { } } - @case ('routes') { -
- -
- } @case ('bookmarks') {
@if (bookmarks.bookmarks().length) { @@ -198,6 +184,23 @@ function isWideViewport(): boolean { } } } + + @if (routing()) { +
+ +
+ }