Hooked up the quotes to firestore
This commit is contained in:
parent
12c5b455dd
commit
2c7756c894
@ -1,7 +1,7 @@
|
|||||||
<div class="w-100">
|
<div class="w-100">
|
||||||
<div class="container d-flex align-items-center" style="height: 600px">
|
<div class="container d-flex align-items-center" style="height: 600px">
|
||||||
<div class="w-100 text-center">
|
<div class="w-100 text-center">
|
||||||
<typewriter [text]="quote"></typewriter>
|
<typewriter [text]="quote | async"></typewriter>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="container mb-md-5 p-0 bg-white">
|
<div class="container mb-md-5 p-0 bg-white">
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
|
import {AppStore} from './app.store';
|
||||||
|
import {Observable} from 'rxjs';
|
||||||
|
import {map} from 'rxjs/operators';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
templateUrl: './app.component.html'
|
templateUrl: './app.component.html'
|
||||||
})
|
})
|
||||||
export class AppComponent {
|
export class AppComponent {
|
||||||
quote: string;
|
quote: Observable<string>;
|
||||||
quotes = [
|
|
||||||
'Why do Kamikaze pilots wear helmets?',
|
|
||||||
'Remember that you\'re unique... Just like everyone else'
|
|
||||||
];
|
|
||||||
|
|
||||||
constructor() {
|
constructor(private store: AppStore) {
|
||||||
this.quote = this.quotes[Math.floor(Math.random() * this.quotes.length)]
|
this.quote = store.quotes.pipe(map(quotes => {
|
||||||
|
let quote = quotes[Math.floor(Math.random() * quotes.length)];
|
||||||
|
return quote.text;
|
||||||
|
}))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import {BrowserModule} from '@angular/platform-browser';
|
import {BrowserModule} from '@angular/platform-browser';
|
||||||
import {NgModule} from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import {AngularFireModule} from '@angular/fire';
|
import {AngularFireModule} from '@angular/fire';
|
||||||
import {AngularFirestoreModule} from '@angular/fire/firestore';
|
import {AngularFirestoreModule, FirestoreSettingsToken} from '@angular/fire/firestore';
|
||||||
|
|
||||||
import {AppComponent} from './app.component';
|
import {AppComponent} from './app.component';
|
||||||
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||||
@ -25,7 +25,9 @@ import {environment} from '../environments/environment';
|
|||||||
FormsModule,
|
FormsModule,
|
||||||
MaterialModule
|
MaterialModule
|
||||||
],
|
],
|
||||||
providers: [],
|
providers: [
|
||||||
|
{ provide: FirestoreSettingsToken, useValue: {} }
|
||||||
|
],
|
||||||
bootstrap: [AppComponent]
|
bootstrap: [AppComponent]
|
||||||
})
|
})
|
||||||
export class AppModule { }
|
export class AppModule { }
|
||||||
|
15
src/app/app.store.ts
Normal file
15
src/app/app.store.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import {Injectable} from '@angular/core';
|
||||||
|
import {Observable} from 'rxjs';
|
||||||
|
import {AngularFirestore} from '@angular/fire/firestore';
|
||||||
|
import {Quote} from './models/quote';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class AppStore {
|
||||||
|
quotes: Observable<Quote[]>;
|
||||||
|
|
||||||
|
constructor(private firestore: AngularFirestore) {
|
||||||
|
this.quotes = this.firestore.collection<Quote>('quotes').valueChanges();
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
import {Component, Input} from '@angular/core';
|
import {Component, Input} from '@angular/core';
|
||||||
import {Slide} from './slide';
|
import {Slide} from '../../models/slide';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'slideshow',
|
selector: 'slideshow',
|
||||||
|
3
src/app/models/quote.ts
Normal file
3
src/app/models/quote.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export interface Quote {
|
||||||
|
text: string;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user