diff --git a/src/app/premium/config/features.config.ts b/src/app/premium/config/features.config.ts index 438481b..d056b1b 100644 --- a/src/app/premium/config/features.config.ts +++ b/src/app/premium/config/features.config.ts @@ -3,13 +3,14 @@ import { ProductInfo } from '../premium.model'; import { environment } from '../../../environments/environment'; const BASIC_FEATURES = [ - 'Create multiple vineyards', + 'Create a single vineyard', 'Register the actions on your vineyard', 'Access basic statistics', 'Create notes', ]; const PREMIUM_FEATURES = [ + 'Add multiple vineyards', 'Features of the basic user', 'Get weather statistics and frost warnings', 'Compare growing seasons', diff --git a/src/app/shared/components/toolbar/toolbar.component.html b/src/app/shared/components/toolbar/toolbar.component.html index f5f7603..926f20a 100644 --- a/src/app/shared/components/toolbar/toolbar.component.html +++ b/src/app/shared/components/toolbar/toolbar.component.html @@ -1,7 +1,7 @@
Layers - + Save Cancel diff --git a/src/app/shared/components/toolbar/toolbar.component.ts b/src/app/shared/components/toolbar/toolbar.component.ts index 719f3b9..01d7bef 100644 --- a/src/app/shared/components/toolbar/toolbar.component.ts +++ b/src/app/shared/components/toolbar/toolbar.component.ts @@ -1,10 +1,15 @@ import { MapMode } from './../../../models/mapmode.model'; -import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; import { PopoverController } from '@ionic/angular'; import { LayersComponent } from './layers/layers.component'; import { BACKGROUND_LAYERS } from '../../../conf/layers.config'; import { Layer } from '../../../models/layer.model'; import { OverlayEventDetail } from '@ionic/core'; +import { FeaturesService } from '../../../services/features.service'; +import { map } from 'rxjs/operators'; +import { VineyardService } from '../../../services/vineyard.service'; +import { combineLatest } from 'rxjs'; +import { Vineyard } from '../../../models/vineyard.model'; @Component({ selector: 'app-toolbar', @@ -31,7 +36,11 @@ export class ToolbarComponent { public layers: Layer[] = [...BACKGROUND_LAYERS]; - constructor(private popoverController: PopoverController) {} + constructor( + private popoverController: PopoverController, + private featureService: FeaturesService, + private vineyardService: VineyardService + ) {} save(): void { this.updateState.emit(true); @@ -63,4 +72,12 @@ export class ToolbarComponent { }); return popover.present(); } + + allowAdd() { + return combineLatest(this.vineyardService.getVineyardsListener(), this.featureService.isUserPremium()).pipe( + map(([vineyards, isPremium]: [Vineyard[], boolean]) => { + return this.mapMode === undefined && (isPremium || (!isPremium && vineyards.length === 0)); + }) + ); + } }