From eaf489da66c51cce931bceccd569d76704b205f9 Mon Sep 17 00:00:00 2001 From: Michael Foiani Date: Sun, 29 Jul 2018 01:52:47 -0400 Subject: Created backend for tutoring hour requests. Also, fixed some bugs on competition page by using snapshots. --- src/components/competition-element.js | 6 ++++-- src/components/mao-competitions.js | 33 +++++++++++++++------------------ src/components/mao-tutoring.js | 27 +++++++++++++++++++++++---- src/components/test-element.js | 5 +++-- 4 files changed, 45 insertions(+), 26 deletions(-) (limited to 'src/components') diff --git a/src/components/competition-element.js b/src/components/competition-element.js index 17381c9..915de13 100644 --- a/src/components/competition-element.js +++ b/src/components/competition-element.js @@ -83,8 +83,10 @@ class CompetitionElement extends LitElement { } registerComp() { - this.dispatchEvent(new CustomEvent('register-comp')); - this.isRegistered = true; + if(confirm('Are you sure you want to register for ' + this.name + '?')) { + this.dispatchEvent(new CustomEvent('register-comp')); + } + } diff --git a/src/components/mao-competitions.js b/src/components/mao-competitions.js index ba00a2f..9a50d9e 100644 --- a/src/components/mao-competitions.js +++ b/src/components/mao-competitions.js @@ -152,7 +152,7 @@ class MaoCompetitions extends connect(store)(PageViewElement) {
@@ -247,7 +247,7 @@ class MaoCompetitions extends connect(store)(PageViewElement) { location="Orlando, Science School" initialized="${props.initialized}" isRegistered="${props.registeredComps.includes('February')}" - on-register-comp="${() => store.dispatch(registerComp(this.shadowRoot.getElementById('feb-competition-element').name))}"> + on-register-comp="${() => store.dispatch(registerComp('February'))}"> @@ -278,7 +278,7 @@ class MaoCompetitions extends connect(store)(PageViewElement) { initialized="${props.initialized}" isRegistered="${props.registeredComps.includes('amc')}" - on-register-comp="${() => store.dispatch(registerComp(this.shadowRoot.getElementById('amc-test-element').name))}"> + on-register-comp="${() => store.dispatch(registerComp('amc'))}"> @@ -295,7 +295,7 @@ class MaoCompetitions extends connect(store)(PageViewElement) { initialized="${props.initialized}" isRegistered="${props.registeredComps.includes('fml')}" - on-register-comp="${() => store.dispatch(registerComp(this.shadowRoot.getElementById('fml-test-element').name))}"> + on-register-comp="${() => store.dispatch(registerComp('fml'))}"> @@ -316,21 +316,18 @@ class MaoCompetitions extends connect(store)(PageViewElement) { this.initialized = state.firebase.initialized; this.registeredComps = state.firebase.registeredComps; //console.log(this.registeredComps); - - this.nationalRegistered = this.registeredComps.includes('nationals'); - this.statesRegistered = this.registeredComps.includes('states'); } registerNationals() { - store.dispatch(registerComp('nationals')); - - this.nationalRegistered = true; + if(confirm('Are you sure you want to register for nationals?')) { + store.dispatch(registerComp('nationals')); + } } registerStates() { - store.dispatch(registerComp('states')); - - this.statesRegistered = true; + if(confirm('Are you sure you want to register for states?')) { + store.dispatch(registerComp('states')); + } } } diff --git a/src/components/mao-tutoring.js b/src/components/mao-tutoring.js index d55b11f..5ab3c97 100644 --- a/src/components/mao-tutoring.js +++ b/src/components/mao-tutoring.js @@ -16,7 +16,7 @@ import { connect } from 'pwa-helpers/connect-mixin.js'; import { store } from '../store.js'; //These are the actions needed by this element. -import { signIn, signOut } from '../actions/firebase.js'; +import { signIn, signOut, requestHours } from '../actions/firebase.js'; // We are lazy loading its reducer. import firebase from '../reducers/firebase.js'; @@ -109,6 +109,12 @@ class MaoTutoring extends connect(store)(PageViewElement) { --paper-card-background-color: #f7f7f7; } + paper-button { + margin-left: auto; + margin-right: auto; + display: block; + } + h3 { text-align: center; } @@ -220,9 +226,17 @@ class MaoTutoring extends connect(store)(PageViewElement) {

How many hours of tutoring?

- (in minutes) + + (minutes) + - + @@ -290,7 +304,12 @@ class MaoTutoring extends connect(store)(PageViewElement) { } requestHours() { - alert(this.shadowRoot.getElementById('dateField').value); + const timeHours = (this.shadowRoot.getElementById('timeField') .value) + /60; + const traineeName = this.shadowRoot.getElementById('traineeField').value; + const date = this.shadowRoot.getElementById('dateField') .value; + + store.dispatch(requestHours(timeHours, traineeName, date)); } } diff --git a/src/components/test-element.js b/src/components/test-element.js index ec4797b..eb4b42d 100644 --- a/src/components/test-element.js +++ b/src/components/test-element.js @@ -74,8 +74,9 @@ class TestElement extends LitElement { } registerComp() { - this.dispatchEvent(new CustomEvent('register-comp')); - this.isRegistered = true; + if(confirm('Are you sure you want to register for ' + this.name + '?')) { + this.dispatchEvent(new CustomEvent('register-comp')); + } } -- cgit v1.2.3-70-g09d2