Commit 508f2919 authored by Marcelo Rivera's avatar Marcelo Rivera

(chore): moved sessionStorage logic to a new SessionStorageService

1 merge request!528WIP: (feat): Minds Pro
Pipeline #80498741 failed with stages
in 6 minutes and 56 seconds
......@@ -22,6 +22,7 @@ import { SignupModalService } from '../../../modules/modals/signup/service';
import { OverlayModalService } from '../../../services/ux/overlay-modal';
import { ProUnsubscribeModalComponent } from './unsubscribe-modal/modal.component';
import { OverlayModalComponent } from '../../../common/components/overlay-modal/overlay-modal.component';
import { SessionsStorageService } from "../../../services/session-storage.service";
@Component({
providers: [ProChannelService, OverlayModalService],
......@@ -66,6 +67,7 @@ export class ProChannelComponent implements OnInit, AfterViewInit, OnDestroy {
protected cd: ChangeDetectorRef,
protected modal: SignupModalService,
protected modalService: OverlayModalService,
protected sessionStorage: SessionsStorageService,
protected injector: Injector,
) {}
......@@ -91,7 +93,7 @@ export class ProChannelComponent implements OnInit, AfterViewInit, OnDestroy {
.setContainer(this.overlayModal)
.setRoot(this.element.nativeElement);
if (sessionStorage.getItem('pro::wire-modal::open')) {
if (this.sessionStorage.get('pro::wire-modal::open')) {
this.wire();
}
}
......
......@@ -8,6 +8,7 @@ import { OverlayModalService } from '../../../services/ux/overlay-modal';
import { Session } from '../../../services/session';
import { ActivatedRoute } from '@angular/router';
import { WireCreatorComponent } from '../../wire/creator/creator.component';
import { SessionsStorageService } from "../../../services/session-storage.service";
export type RouterLinkToType =
| 'home'
......@@ -42,6 +43,7 @@ export class ProChannelService {
protected session: Session,
protected route: ActivatedRoute,
protected modalService: OverlayModalService,
protected sessionStorage: SessionsStorageService,
) {}
async load(id: string) {
......@@ -276,15 +278,15 @@ export class ProChannelService {
}
wire() {
sessionStorage.setItem('pro::wire-modal::open', '1');
this.sessionStorage.set('pro::wire-modal::open', '1');
this.modalService
.create(WireCreatorComponent, this.currentChannel, {
onComplete: () => {
sessionStorage.removeItem('pro::wire-modal::open')
this.sessionStorage.destroy('pro::wire-modal::open')
},
})
.onDidDismiss(() => {
sessionStorage.removeItem('pro::wire-modal::open')
this.sessionStorage.destroy('pro::wire-modal::open')
})
.present();
}
......
import { NgZone, RendererFactory2 } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { Router } from '@angular/router';
import { Location } from '@angular/common';
import { Title } from '@angular/platform-browser';
......@@ -44,6 +44,7 @@ import { ThemeService } from '../common/services/theme.service';
import { GlobalScrollService } from './ux/global-scroll.service';
import { AuthService } from './auth.service';
import { SiteService } from './site.service';
import { SessionsStorageService } from "./session-storage.service";
export const MINDS_PROVIDERS: any[] = [
{
......@@ -76,6 +77,11 @@ export const MINDS_PROVIDERS: any[] = [
useFactory: Storage._,
deps: [],
},
{
provide: SessionsStorageService,
useFactory: SessionsStorageService._,
deps: [],
},
{
provide: SignupModalService,
useFactory: SignupModalService._,
......
export class SessionsStorageService {
static _() {
return new SessionsStorageService();
}
get(key: string) {
return window.sessionStorage.getItem(key);
}
set(key: string, value: any) {
return window.sessionStorage.setItem(key, value);
}
destroy(key: string) {
return window.sessionStorage.removeItem(key);
}
}
import { Injectable } from '@angular/core';
export class Storage {
static _() {
return new Storage();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment