@@ -2,6 +2,10 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
22import { WebNodeInitializationComponent } from '@app/features/webnode/web-node-initialization/web-node-initialization.component' ;
33import { Platform } from '@angular/cdk/platform' ;
44import { WebNodeNotSupportedComponent } from '@app/features/webnode/web-node-not-supported/web-node-not-supported.component' ;
5+ import { StoreDispatcher } from '@shared/base-classes/store-dispatcher.class' ;
6+ import { getMergedRoute , MergedRoute } from '@openmina/shared' ;
7+ import { filter } from 'rxjs' ;
8+ import { WebNodeService } from '@core/services/web-node.service' ;
59
610@Component ( {
711 selector : 'mina-webnode' ,
@@ -14,15 +18,26 @@ import { WebNodeNotSupportedComponent } from '@app/features/webnode/web-node-not
1418 styleUrl : './webnode.component.scss' ,
1519 changeDetection : ChangeDetectionStrategy . OnPush ,
1620} )
17- export class WebnodeComponent implements OnInit {
21+ export class WebnodeComponent extends StoreDispatcher implements OnInit {
1822
1923 supported : boolean = false ;
2024 isPhone : boolean = false ;
2125
22- constructor ( private platform : Platform ) { }
26+ constructor ( private platform : Platform ,
27+ private webNodeService : WebNodeService ) { super ( ) ; }
2328
2429 ngOnInit ( ) : void {
2530 this . checkIfDeviceIsSupported ( ) ;
31+ this . listenToRoute ( ) ;
32+ }
33+
34+ private listenToRoute ( ) : void {
35+ this . select ( getMergedRoute , ( route : MergedRoute ) => {
36+ const initial = Number ( route . queryParams [ 'initial' ] ) ;
37+ const maximum = Number ( route . queryParams [ 'maximum' ] ) ;
38+ const shared = route . queryParams [ 'shared' ] === 'true' ;
39+ this . webNodeService . memory = new WebAssembly . Memory ( { initial, maximum, shared } ) ;
40+ } , filter ( Boolean ) ) ;
2641 }
2742
2843 private checkIfDeviceIsSupported ( ) : void {
0 commit comments