Skip to content

Commit

Permalink
Merged code from part-24
Browse files Browse the repository at this point in the history
  • Loading branch information
jitendraashutec committed Sep 21, 2018
2 parents 3b9cef5 + 0533075 commit 327a67c
Show file tree
Hide file tree
Showing 74 changed files with 2,349 additions and 905 deletions.
8 changes: 7 additions & 1 deletion functions/index.js
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
exports.ssr = require('./server/functions/ssr').ssr;
exports.app = require('./server/functions/app').app;
exports.onFirestoreQuestionWrite = require('./server/functions/db/firebase-functions').onQuestionWrite;
exports.onFirestoreInvitationWrite = require('./server/functions/db/firebase-functions').onInvitationWrite;
exports.onFirestoreGameCreate = require('./server/functions/db/firebase-functions').onGameCreate;
exports.onFirestoreGameUpdate = require('./server/functions/db/firebase-functions').onGameUpdate;
exports.onFirestoreUserCreate = require('./server/functions/db/firebase-functions').onUserCreate;
exports.onFirestoreUserUpdate = require('./server/functions/db/firebase-functions').onUserUpdate;
7 changes: 5 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
},
"private": true,
"dependencies": {
"@angular-devkit/core": "^0.6.8",
"@angular/animations": "~6.1.0",
"@angular/cdk": "6.3.0",
"@angular/common": "~6.1.0",
Expand Down Expand Up @@ -75,7 +76,8 @@
"@ngx-share/buttons": "^6.0.1",
"@ngx-share/core": "^6.0.1",
"angularfire2": "5.0.1",
"core-js": "^2.5.4",
"compression": "^1.7.3",
"core-js": "2.5.7",
"dom-to-image": "^2.6.0",
"domino": "^2.0.2",
"firebase": "^5.2.0",
Expand All @@ -86,6 +88,7 @@
"nativescript-plugin-firebase": "^6.8.1",
"nativescript-theme-core": "~1.0.4",
"ngx-img-cropper": "^0.10.4",
"ngx-lazy-load-images": "^1.3.1",
"ngx-papaparse": "^2.1.4",
"reflect-metadata": "~0.1.8",
"rxjs": "6.2.1",
Expand Down Expand Up @@ -147,4 +150,4 @@
"pre-push": "npm run test && ng e2e trivia-e2e"
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,78 +1,83 @@
<div *ngIf="false">
<h1 mat-dialog-title>Choose Login Method</h1>
<h1 mat-dialog-title>Choose Login Method</h1>

<mat-dialog-actions class="flex-container"
fxLayout="column"
fxLayoutAlign="space-around">
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="googleLogin()">Google</button>
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="fbLogin()">facebook</button>
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="twitterLogin()">Twitter</button>
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="githubLogin()">Github</button>
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="passwordLogin()">Email/Password</button>
</mat-dialog-actions>
<mat-dialog-actions class="flex-container" fxLayout="column" fxLayoutAlign="space-around">
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="googleLogin()">Google</button>
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="fbLogin()">facebook</button>
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="twitterLogin()">Twitter</button>
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="githubLogin()">Github</button>
<button class="flex-item" mat-raised-button mat-dialog-close color="primary" (click)="passwordLogin()">Email/Password</button>
</mat-dialog-actions>

<mat-dialog-actions>
<button mat-dialog-close>Cancel</button>
</mat-dialog-actions>
<mat-dialog-actions>
<button mat-dialog-close>Cancel</button>
</mat-dialog-actions>
</div>

<mat-dialog-content>
<div class="logininner textleft">
<div class="card">
<div class="row">
<div class="col-sm-7 col-xs-12">
<form (ngSubmit)="onSubmit()" class="sign-in-form" [formGroup]="loginForm" novalidate>
<input type="hidden" formControlName="mode" [(ngModel)]="mode">
<div class="heading" [ngSwitch]="mode">
<span *ngSwitchCase="0">Login to your account</span>
<span *ngSwitchCase="1">Get a bit wiser - Sign up</span>
<span *ngSwitchCase="2">Forgot Password</span>
</div>
<mat-form-field class="full-width required">
<input matInput placeholder="Email *" formControlName="email" class="required">
<mat-hint align="end" *ngIf="loginForm.controls.email.errors && !loginForm.controls.email.pristine" class="error">Invalid Email!</mat-hint>
</mat-form-field>
<mat-form-field [class.hide]="mode === 2" class="full-width required">
<input type="password" matInput placeholder="Password *" class="required" formControlName="password">
<mat-hint align="end" *ngIf="mode !== 2 && (loginForm.controls.password.errors && !loginForm.controls.password.pristine)" class="error">Password must be atleast 6 characters</mat-hint>
</mat-form-field>
<mat-form-field [class.hide]="mode !== 1" class="full-width required">
<input type="password" matInput placeholder="Confirm Password" class="required" formControlName="confirmPassword">
<mat-hint align="end" *ngIf="mode === 1 && (loginForm.controls.password.valid && loginForm.hasError('passwordmismatch'))" class="error">Must match Password</mat-hint>
</mat-form-field>
<ng-container [ngSwitch]="mode">
<ng-container *ngSwitchCase="0">
<div class="formfield">
<label>
<input type="checkbox" name="" >Keep me logged in
</label>
</div>
<button mat-raised-button class="btn signup" type="submit" [disabled]="!loginForm.valid">Login</button>
<div class="row loginlink">
<div class="col-xs-6"><a (click)="this.mode=2" title="Forgot Password?">Forgot Password?</a></div>
<div class="col-xs-6 textrigth"><a (click)="this.mode=1" title="New Signup">New Signup</a></div>
</div>
<div class="logininner textleft">
<div class="card">
<div class="row">
<div class="col-sm-7 col-xs-12">
<form (ngSubmit)="onSubmit()" class="sign-in-form" [formGroup]="loginForm" novalidate>
<input type="hidden" formControlName="mode" [(ngModel)]="mode" aria-label="hidden">
<div class="heading" [ngSwitch]="mode">
<span *ngSwitchCase="0">Login to your account</span>
<span *ngSwitchCase="1">Get a bit wiser - Sign up</span>
<span *ngSwitchCase="2">Forgot Password</span>
</div>
<mat-form-field class="full-width required">
<input matInput placeholder="Email *" formControlName="email" class="required" aria-label="email">
<mat-hint align="end" *ngIf="loginForm.controls.email.errors && !loginForm.controls.email.pristine" class="error">Invalid
Email!
</mat-hint>
</mat-form-field>
<mat-form-field [class.hide]="mode === 2" class="full-width required">
<input type="password" matInput placeholder="Password *" class="required" formControlName="password"
aria-label="password">
<mat-hint align="end" *ngIf="mode !== 2 && (loginForm.controls.password.errors && !loginForm.controls.password.pristine)"
class="error">Password must be atleast 6 characters</mat-hint>
</mat-form-field>
<mat-form-field [class.hide]="mode !== 1" class="full-width required">
<input type="password" matInput placeholder="Confirm Password *" class="required" formControlName="confirmPassword"
aria-label="confirm-password">
<mat-hint align="end" *ngIf="mode === 1 && (loginForm.controls.password.valid && loginForm.hasError('passwordmismatch'))"
class="error">Must match Password</mat-hint>
</mat-form-field>
<ng-container [ngSwitch]="mode">
<ng-container *ngSwitchCase="0">
<div class="formfield">
<label>
<input type="checkbox" name="">Keep me logged in
</label>
</div>
<button mat-raised-button class="btn signup" type="submit" [disabled]="!loginForm.valid">Login</button>
<div class="row loginlink">
<div class="col-xs-6"><a (click)="this.mode=2" title="Forgot Password?">Forgot Password?</a></div>
<div class="col-xs-6 textrigth"><a (click)="this.mode=1" title="New Signup">New Signup</a></div>
</div>
</ng-container>
<ng-container *ngSwitchCase="1">
<button mat-raised-button class="btn signup" type="submit" [disabled]="!loginForm.valid">Sign Up</button>
<div class="signupfree">by clicking "Sign Up" I agree to bitWiser's Terms & Conditions</div>
<div class="textcenter loginlink"><a (click)="this.mode=0" title="Login">Already have an account? Login</a></div>
</ng-container>
<ng-container *ngSwitchCase="2">
<button mat-raised-button class="btn signup" type="submit" [disabled]="!loginForm.valid">Forgot
Password</button>
<div class="textcenter loginlink"><a (click)="this.mode=0" title="Login">No. I remember it now!</a></div>
</ng-container>
</ng-container>
<ng-container *ngSwitchCase="1">
<button mat-raised-button class="btn signup" type="submit" [disabled]="!loginForm.valid">Sign Up</button>
<div class="signupfree">by clicking "Sign Up" I agree to bitWiser's Terms & Conditions</div>
<div class="textcenter loginlink"><a (click)="this.mode=0" title="Login">Already have an account? Login</a></div>
</ng-container>
<ng-container *ngSwitchCase="2">
<button mat-raised-button class="btn signup" type="submit" [disabled]="!loginForm.valid">Forgot Password</button>
<div class="textcenter loginlink"><a (click)="this.mode=0" title="Login">No. I remember it now!</a></div>
</ng-container>
</ng-container>
</form>
</div>
<div class="col-sm-5 col-xs-12 withsocial">
<h3>You can also login with your social account</h3>
<a (click)="twitterLogin()"><img src="/assets/images/twitbtn.png" alt="Twitter" /></a>
<a (click)="fbLogin()"><img src="/assets/images/faceboockbtn.png" alt="facebook" /></a>
<a (click)="googleLogin()"><img src="/assets/images/gpulsebtn.png" alt="Google Plus" /></a>
<a (click)="githubLogin()"><img src="/assets/images/githubbtn.png" alt="Github" /></a>
</form>
</div>
<div class="col-sm-5 col-xs-12 withsocial">
<h3>You can also login with your social account</h3>
<a (click)="twitterLogin()"><img src="/assets/images/twitbtn.png" alt="Twitter" /></a>
<a (click)="fbLogin()"><img src="/assets/images/faceboockbtn.png" alt="facebook" /></a>
<a (click)="googleLogin()"><img src="/assets/images/gpulsebtn.png" alt="Google Plus" /></a>
<a (click)="githubLogin()"><img src="/assets/images/githubbtn.png" alt="Github" /></a>
</div>
</div>
</div>
</div>
</div>
</mat-dialog-content>
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export class LoginComponent implements OnInit {
mode: [0],
email: ['', Validators.compose([Validators.required, Validators.pattern(EMAIL_REGEXP)])],
password: ['', Validators.compose([Validators.required, Validators.minLength(6)])],
confirmPassword: ['']
confirmPassword: ['', Validators.compose([Validators.required, Validators.minLength(6)])]
}, { validator: loginFormValidator }
);

Expand Down
16 changes: 8 additions & 8 deletions projects/shared-library/src/lib/environments/environment.prod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ export const environment = {
};

export const CONFIG: IConfig = {
'firebaseConfig' : {
apiKey: 'AIzaSyDIEpabJv44Iu7go6M30T3WAF-GlSMcR7Y',
authDomain: 'bitwiser.io',
databaseURL: 'https://rwa-trivia.firebaseio.com',
projectId: 'rwa-trivia',
storageBucket: 'rwa-trivia.appspot.com',
messagingSenderId: '479350787602'
'firebaseConfig': {
apiKey: 'AIzaSyDIEpabJv44Iu7go6M30T3WAF-GlSMcR7Y',
authDomain: 'bitwiser.io',
databaseURL: 'https://rwa-trivia.firebaseio.com',
projectId: 'rwa-trivia',
storageBucket: 'rwa-trivia.appspot.com',
messagingSenderId: '479350787602'
},
'functionsUrl': 'https://bitwiser.io'
'functionsUrl': 'https://bitwiser.io'
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Component, Input, OnChanges, Output, EventEmitter } from '@angular/core';
import { Component, Input, OnChanges, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
import { User } from '../../model';
import { Utils } from '../../../core/services';
import { Store } from '@ngrx/store';
Expand All @@ -8,7 +8,8 @@ import { UserActions } from '../../../core/store/actions';
@Component({
selector: 'author',
templateUrl: './author.component.html',
styleUrls: ['./author.component.scss']
styleUrls: ['./author.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})

export class AuthorComponent implements OnChanges {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ <h4 class="sub-message">Please do the needfull edits and resubmit the question.<
<p class="field-caption">Select the category for bulk upload</p>
<div class="row">
<div class="formfield">
<select placeholder="Select Category" class="required" formControlName="category">
<option *ngFor="let category of categories" [value]="category.id">
<select placeholder="Select Category" class="required" formControlName="category" aria-label="category">
<option *ngFor="let category of categories; trackBy: trackById" [value]="category.id">
{{category.categoryName}}
</option>
</select>
Expand All @@ -28,8 +28,9 @@ <h4 class="sub-message">Please do the needfull edits and resubmit the question.<
</div>
<div class="optionbox row col-md-11 formfield">
<p class="field-caption">Enter Your Question</p>
<textarea placeholder="Enter Your Question" formControlName="questionText" class="required col-md-12 col-xs-12"></textarea>
<p *ngIf="questionForm.controls.questionText.errors && !questionForm.controls.questionText.pristine" class="error">Question is required!</p>
<textarea placeholder="Enter Your Question" formControlName="questionText" class="required col-md-12 col-xs-12" aria-label="questionText"></textarea>
<p *ngIf="questionForm.controls.questionText.errors && !questionForm.controls.questionText.pristine" class="error">Question
is required!</p>
</div>
<div class="optionbox row col-md-11 enterquestion">
<p class="field-caption">Answers</p>
Expand All @@ -38,7 +39,8 @@ <h4 class="sub-message">Please do the needfull edits and resubmit the question.<
<label>
<input type="checkbox" formControlName="correct">
</label>
<input [placeholder]="'Enter Option ' + (i+1)" formControlName="answerText" type="text" class="required edit-form-input-field">
<input [placeholder]="'Enter Option ' + (i+1)" formControlName="answerText" type="text" class="required edit-form-input-field"
aria-label="answerText">
</div>
</ng-container>
<div class="error" *ngIf="!answers.valid && !answers.pristine">
Expand All @@ -64,9 +66,9 @@ <h4 class="sub-message">Please do the needfull edits and resubmit the question.<
</mat-basic-chip>
</mat-chip-list>
<input type="text" class="type-zone margin-bottom-8 edit-form-input-field" contenteditable="true" formControlName="tags"
placeholder="add tags">
placeholder="add tags" aria-label="tags">
<div>
<button type="button" class="add-tag-btn" [disabled]="questionForm.controls.tags.value==''" (click)="addTag()">Add</button>
<button type="button" class="add-tag-btn" [disabled]="questionForm.controls.tags.value==''" (click)="addTag()" aria-label="password">Add</button>
</div>

<div class="error row col-md-12" *ngIf="answers.valid && questionForm.controls.questionText.valid && questionForm.hasError('tagCountInvalid')">
Expand All @@ -75,7 +77,7 @@ <h4 class="sub-message">Please do the needfull edits and resubmit the question.<
</div>
</div>
<div class="savebox">
<button class="btn resubmit-btn" type="submit" [disabled]="!questionForm.valid">Resubmit</button>
<button class="btn resubmit-btn" type="submit" [disabled]="!questionForm.valid" aria-label="submit">Resubmit</button>
</div>
</section>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Component, Input, Output, OnInit, OnChanges, OnDestroy, EventEmitter } from '@angular/core';
import { Component, Input, Output, OnInit, OnChanges, OnDestroy, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
import { FormBuilder, FormGroup, Validators, FormArray, FormControl } from '@angular/forms';
import { Question, QuestionStatus, Category, User, Answer } from '../../model';
import { Utils } from '../../../core/services';
Expand All @@ -9,7 +9,8 @@ import { debounceTime } from 'rxjs/operators';
@Component({
selector: 'app-question-form',
templateUrl: './question-form.component.html',
styleUrls: ['./question-form.component.scss']
styleUrls: ['./question-form.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class QuestionFormComponent implements OnInit, OnChanges, OnDestroy {

Expand Down Expand Up @@ -200,10 +201,16 @@ export class QuestionFormComponent implements OnInit, OnChanges, OnDestroy {
return null;
}

ngOnDestroy() {
Utils.unsubscribe(this.subs);
}
showQuestion() {
this.updateStatus.emit(true);
}

trackById(index, item) {
return item.id;
}

ngOnDestroy() {
Utils.unsubscribe(this.subs);
}

}
Loading

0 comments on commit 327a67c

Please sign in to comment.