File

src/components/favorites-page/favorites-page.tsx

Metadata

tag favorites-page
styleUrl favorites-page.css

Index

Properties
Methods

Methods

Async componentDidLoad
componentDidLoad()
Returns : any
getFreshBeers
getFreshBeers()
Decorators :
@Listen('beerDeleted')
Returns : void
getSavedBeers
getSavedBeers()
Returns : any
render
render()
Returns : {}

Properties

beers
beers: Array<Beer>
Type : Array<Beer>
Decorators :
@State()
import { Component, State, Listen } from '@stencil/core';

import { Beer } from '../../global/interfaces';

declare var firebase: any;

@Component({
  tag: 'favorites-page',
  styleUrl: 'favorites-page.css'
})
export class favoritesPage {

  @State() beers: Array<Beer>;

  async componentDidLoad() {
    const tempBeers = [];


    this.getSavedBeers().then((querySnapshot) => {
      querySnapshot.forEach((doc) => {
        tempBeers.push(doc.data().beer);
      })

      this.beers = tempBeers;
    })
  }

  getSavedBeers() {
    return firebase.firestore().collection('savedBeers').where('author', '==', firebase.auth().currentUser.email).get();
  }

  @Listen('beerDeleted')
  getFreshBeers() {
    const tempBeers = [];

    this.getSavedBeers().then((querySnapshot) => {
      querySnapshot.forEach((doc) => {
        tempBeers.push(doc.data().beer);
      })

      this.beers = tempBeers;
    })
  }

  render() {
    return [
      <profile-header>
      </profile-header>,

      <ion-content>
        <beer-list fave={true} beers={this.beers}></beer-list>
      </ion-content>
    ];
  }
}
Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""