-
Notifications
You must be signed in to change notification settings - Fork 2
/
login.js
58 lines (51 loc) · 1.5 KB
/
login.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
(function(){
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "apple",
authDomain: "pear",
projectId: "grape",
storageBucket: "guava",
messagingSenderId: "kiwi",
appId: "peach"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
// get elements
const email = document.getElementById('email');
const password = document.getElementById('password');
const login = document.getElementById('login');
const signup = document.getElementById('signup');
const logout = document.getElementById('logout');
// login
login.addEventListener('click', e => {
const auth = firebase.auth();
const promise = auth.signInWithEmailAndPassword(email.value, password.value);
promise.catch(e => console.log(e.message));
});
// signup
signup.addEventListener('click', e => {
// TODO: check for real email
const auth = firebase.auth();
const promise = auth.createUserWithEmailAndPassword(email.value,password.value);
promise.catch(e => console.log(e.message));
});
// logout
logout.addEventListener('click', e => {
firebase.auth().signOut();
});
// login state
firebase.auth().onAuthStateChanged(firebaseUser => {
if(firebaseUser){
console.log(firebaseUser);
logout.style.display = 'inline';
login.style.display = 'none';
signup.style.display = 'none';
}
else{
console.log('User is not logged in');
logout.style.display = 'none';
login.style.display = 'inline';
signup.style.display = 'inline';
}
});
}());