Skip to content
This repository was archived by the owner on Feb 6, 2024. It is now read-only.

Commit b660604

Browse files
Merge pull request #599 from deckgo/resize-deck-on-navigation
fix: resize landing deck on navigation
2 parents 87a7693 + 3e5c841 commit b660604

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

studio/src/app/components/landing/app-landing-deck/app-landing-deck.tsx

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, Element, h, State} from '@stencil/core';
1+
import {Component, Element, h, Listen, State} from '@stencil/core';
22

33
import {isMobile} from '@deckdeckgo/utils';
44

@@ -20,6 +20,32 @@ export class AppLandingDeck {
2020
@State()
2121
private deckTransition: 'slide' | 'fade' = isMobile() ? 'fade' : 'slide';
2222

23+
@Listen('ionRouteDidChange', {target: 'window'})
24+
async onRouteDidChange($event: CustomEvent) {
25+
if (!$event || !$event.detail) {
26+
return;
27+
}
28+
29+
if ($event.detail.to && $event.detail.to === '/' && $event.detail.from && $event.detail.to !== $event.detail.from) {
30+
await this.updateDeckSize();
31+
}
32+
}
33+
34+
private updateDeckSize(): Promise<void> {
35+
return new Promise<void>(async (resolve) => {
36+
const deck: HTMLElement = this.el.querySelector('deckgo-deck');
37+
38+
if (!deck) {
39+
resolve();
40+
return;
41+
}
42+
43+
await (deck as any).initSlideSize();
44+
45+
resolve();
46+
});
47+
}
48+
2349
private async updateDeckPosition() {
2450
const deck: HTMLElement = this.el.querySelector('deckgo-deck');
2551

0 commit comments

Comments
 (0)