Skip to content

Commit 3c864a8

Browse files
committed
1.0.0
1 parent a1f4062 commit 3c864a8

File tree

11 files changed

+86
-65
lines changed

11 files changed

+86
-65
lines changed

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,12 @@ Run `npm start` for a dev server. Navigate to `http://localhost:4200/`. The app
4747
* Misc page
4848
* 404 page
4949
* Save email (keep in touch)
50-
* Authentication (Email, Google, Twitter, Facebook, Github, Phonenumber and Anonymous)
50+
* Authentication (Email, Google, Twitter, Facebook and Github)
5151
* Verification email after signup
5252
* Auth Guard
5353
* Profile
5454
* Profile image animation
55-
* Profile settings
5655
* Password reset
57-
* Messaging system
5856
* Alerts
5957
* 360 view
6058
* Multiple pipes
@@ -87,18 +85,18 @@ Run `npm start` for a dev server. Navigate to `http://localhost:4200/`. The app
8785
* MD Tooltip
8886
* MD Snackbar
8987

90-
## To Do List
88+
## To Do List (development branch)
9189
* Make every component responsive
9290

9391
## To Finish List (known issues)
9492
### Auth
95-
* Cellphone authentication (optimizing)
93+
* Cellphone and anonymous authentication (optimizing)
9694
* Google, Facebook, Twitter & Github signin/signup
9795
* Error messages: Email already exists, login failed, registration failed
9896

9997
### Profile
10098
* Profile image uploading
101-
* Change settings
99+
* Profile settings (change settings)
102100
* Messaging layout and functionality
103101

104102
### Tests

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ng4matfire",
3-
"version": "0.0.2",
3+
"version": "1.0.0",
44
"author": "Jeroen Ouwehand",
55
"description": "Full stack starter app with Angular 4, Material Design and Firebase.",
66
"keywords": [
@@ -40,15 +40,15 @@
4040
"@angular/platform-browser-dynamic": "^4.3.3",
4141
"@angular/platform-server": "^4.3.3",
4242
"@angular/router": "^4.3.3",
43-
"core-js": "^2.4.1",
43+
"core-js": "^2.5.0",
4444
"firebase": "^4.2.0",
4545
"hammerjs": "^2.0.8",
4646
"rxjs": "^5.4.2",
4747
"ts-helpers": "*",
4848
"zone.js": "^0.8.16"
4949
},
5050
"devDependencies": {
51-
"@angular/cli": "^1.2.6",
51+
"@angular/cli": "^1.2.7",
5252
"@angular/compiler-cli": "^4.3.3",
5353
"@types/jasmine": "^2.5.53",
5454
"@types/node": "^8.0.17",
@@ -63,8 +63,8 @@
6363
"karma-jasmine-html-reporter": "^0.2.2",
6464
"protractor": "^5.1.2",
6565
"ts-node": "^3.3.0",
66-
"tslint": "^5.5.0",
66+
"tslint": "^5.6.0",
6767
"typescript": "^2.4.2",
68-
"webpack": "^3.4.1"
68+
"webpack": "^3.5.1"
6969
}
7070
}

src/app/app.component.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ export class AppComponent implements OnInit {
2020
messagingSenderId: '136985605193'
2121
});
2222

23-
// See users, messages and keep in touch in console log
24-
const preUsers = document.getElementById('users')
25-
const dbRefUsers = firebase.database().ref().child('users');
26-
dbRefUsers.on('value', snap => console.log(snap.val()));
23+
// See users, messages and keep in touch in console log
24+
const preUsers = document.getElementById('users')
25+
const dbRefUsers = firebase.database().ref().child('users');
26+
dbRefUsers.on('value', snap => console.log(snap.val()));
2727

28-
const preMessages = document.getElementById('messages')
29-
const dbRefMessages = firebase.database().ref().child('messages');
30-
dbRefMessages.on('value', snap => console.log(snap.val()));
28+
const preMessages = document.getElementById('messages')
29+
const dbRefMessages = firebase.database().ref().child('messages');
30+
dbRefMessages.on('value', snap => console.log(snap.val()));
3131

32-
const preTouch = document.getElementById('touch')
33-
const dbRefTouch = firebase.database().ref().child('touch');
34-
dbRefTouch.on('value', snap => console.log(snap.val()));
32+
const preTouch = document.getElementById('touch')
33+
const dbRefTouch = firebase.database().ref().child('touch');
34+
dbRefTouch.on('value', snap => console.log(snap.val()));
3535
}
3636
}

src/app/components/auth/signin.component.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,6 @@ <h3>Anonymous login</h3>
5555
</md-card>
5656

5757
<!-- TEMPORARY PLACE -->
58+
<!--
5859
<app-phone-signin></app-phone-signin>
60+
-->

src/app/components/misc/misc.component.html

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
<div id="content">
55
<md-card>
66
<h1>Misc</h1>
7+
<h4>Various components ready to use in your own project.</h4>
8+
9+
<hr>
710

811
<!-- Miscellaneous material components -->
912
<h3>Two-way data binding :</h3>
@@ -13,7 +16,7 @@ <h3>Two-way data binding :</h3>
1316

1417
<md-toolbar>Repeat yourself : {{answer}}</md-toolbar>
1518

16-
<br/>
19+
<hr>
1720

1821
<h3>MD Datepicker : </h3>
1922
<md-input-container>
@@ -23,7 +26,7 @@ <h3>MD Datepicker : </h3>
2326

2427
<md-datepicker #picker></md-datepicker>
2528

26-
<br/>
29+
<hr>
2730

2831
<h3>MD Sidenav : </h3>
2932
<md-sidenav-container class="container">
@@ -39,36 +42,36 @@ <h3>MD Sidenav : </h3>
3942

4043
</md-sidenav-container>
4144

42-
<br/>
45+
<hr>
4346

4447
<h3>MD Tooltip : </h3>
4548
<span mdTooltip="This is a tooltip">Hover me!</span>
4649

47-
<br/><br/>
50+
<br/><hr>
4851

4952
<h3>MD Slide toggle : </h3>
5053
<md-slide-toggle class="margin">
5154
Click me!
5255
</md-slide-toggle>
5356

54-
<br/><br/>
57+
<br/><hr>
5558

5659
<app-table></app-table>
5760

58-
<br/>
61+
<hr>
5962

6063
<!-- Pipes -->
6164
<app-change-detection></app-change-detection>
6265

63-
<br/>
66+
<hr>
6467

6568
<app-async-observable-pipe></app-async-observable-pipe>
6669

67-
<br/>
70+
<hr>
6871

6972
<app-json-pipe></app-json-pipe>
7073

71-
<br/>
74+
<hr>
7275

7376
<app-currency-pipe></app-currency-pipe>
7477

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div id="content">
22
<md-card>
3-
<h3>360 view (Works only at localhost, will be fixed) :</h3>
3+
<h3>360 view (Works only at localhost) :</h3>
44
<div id="vrview" #viewer></div>
55
</md-card>
66
</div>

src/app/components/profile/profile-settings.component.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
import { Component, OnInit } from '@angular/core';
22
import { Router } from '@angular/router';
3-
import { FormsModule, FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms';
4-
import { Response } from '@angular/http';
5-
import { NgForm } from '@angular/forms';
3+
import { NgForm, FormsModule, FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms';
64

75
import * as firebase from 'firebase';
8-
import { FileUploadModule } from 'primeng/primeng';
96

107
import { User, Profile, AuthService, AlertService, UserService } from '../shared';
118

src/app/components/profile/profile.component.html

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,20 @@
33

44
<div [@imageAnimation]='state' (click)="animateImage()" class="avatar"><img [src]="fullImagePath"></div>
55

6-
<md-card-header>
7-
<md-card-title><h3>{{profileTitle}}</h3></md-card-title>
8-
<md-card-title><h4>{{userEmail()}}</h4>
9-
<md-card-subtitle>({{userName()}})</md-card-subtitle>
10-
<md-card-subtitle>{{user.uid}}</md-card-subtitle>
11-
</md-card-title>
12-
</md-card-header>
6+
<md-card-header>
7+
<md-card-title><h3>{{profileTitle}}</h3></md-card-title>
8+
<md-card-title><h4>{{userEmail()}}</h4>
9+
<md-card-subtitle>({{userName()}})</md-card-subtitle>
10+
<md-card-subtitle>{{user.uid}}</md-card-subtitle>
11+
</md-card-title>
12+
</md-card-header>
1313

14-
<hr />
14+
<hr />
1515

16-
<md-card-subtitle>{{profileBio}}</md-card-subtitle>
17-
18-
<a button md-icon-button href="/profile-settings">
19-
<md-icon class="settings">settings</md-icon>
20-
Edit profile settings
21-
</a>
22-
<!--[routerLink]="['/profile-settings']" [hidden]="!isUser" -->
16+
<md-card-subtitle>{{profileBio}}</md-card-subtitle>
17+
18+
<md-card-actions class="button">
19+
<button md-raised-button class="primary" (click)="onPasswordReset()">Reset my password</button>
20+
</md-card-actions>
2321
</md-card>
2422
</div>

src/app/components/profile/profile.component.scss

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
md-card {
66
width: 400px;
7-
height: 550px;
7+
height: 390px;
88
margin: 100px auto;
99
}
1010

@@ -35,4 +35,8 @@ md-card-title {
3535

3636
a:hover {
3737
text-decoration: none;
38+
}
39+
40+
.button {
41+
margin: 0 auto;
3842
}

src/app/components/profile/profile.component.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { ActivatedRoute, Params } from '@angular/router';
33
import { trigger, state, style, transition, animate, keyframes } from '@angular/animations';
44
import * as firebase from 'firebase';
55

6-
import { User, Profile, UserService } from '../shared';
6+
import { User, Profile, UserService, AlertService } from '../shared';
77

88
@Component({
99
selector: 'app-profile',
@@ -32,13 +32,14 @@ export class ProfileComponent implements OnInit {
3232
user: {uid: any};
3333

3434
profileTitle: string = 'My profile';
35-
profileBio: string = 'Here you can place your own personal bio text.';
35+
// profileBio: string = 'Here you can place your own personal bio text.';
3636
fullImagePath: string;
3737

3838
state: string = 'small';
3939

4040
constructor(private route: ActivatedRoute,
41-
private userService: UserService) {
41+
private userService: UserService,
42+
private alertService: AlertService) {
4243
this.fullImagePath = '/assets/img/mb-bg-04.png';
4344
}
4445

@@ -68,4 +69,9 @@ export class ProfileComponent implements OnInit {
6869
return firebase.auth().currentUser.displayName;
6970
}
7071

72+
onPasswordReset() {
73+
this.userService.sendUserPasswordResetEmail();
74+
this.alertService.showToaster('Reset password is sent to your email');
75+
}
76+
7177
}

0 commit comments

Comments
 (0)