-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
143 lines (123 loc) Β· 4.35 KB
/
index.js
File metadata and controls
143 lines (123 loc) Β· 4.35 KB
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
import { auth } from "./firebaseConfig.js";
import {
signInWithEmailAndPassword,
GoogleAuthProvider,
signInWithPopup,
} from "firebase/auth";
// Debug: Check if Firebase is initialized
console.log("π₯ Firebase Auth initialized:", auth);
console.log("π₯ App name:", auth.app.name);
// Wait for DOM to load
document.addEventListener("DOMContentLoaded", () => {
console.log("β
DOM loaded");
const loginForm = document.getElementById("loginForm");
const emailInput = document.getElementById("email");
const passwordInput = document.getElementById("password");
const errorDiv = document.getElementById("errorMessage");
const googleSignInBtn = document.getElementById("googleSignInBtn");
// Show error message
function showError(message) {
console.error("β Error:", message);
errorDiv.textContent = message;
errorDiv.style.display = "block";
alert(message); // Also show alert for visibility
}
// Hide error message
function hideError() {
errorDiv.style.display = "none";
}
// Handle email/password login
loginForm.addEventListener("submit", async (e) => {
e.preventDefault();
console.log("π Form submitted");
hideError();
const email = emailInput.value.trim();
const password = passwordInput.value;
console.log("π§ Email:", email);
console.log("π Password length:", password.length);
if (!email || !password) {
showError("Please enter both email and password");
return;
}
try {
console.log("π Attempting sign in...");
const userCredential = await signInWithEmailAndPassword(
auth,
email,
password
);
console.log("β
Login successful:", userCredential.user.email);
alert("Login successful!");
window.location.href = "/welcome.html";
} catch (error) {
console.error("β Login error:", error);
console.error("Error code:", error.code);
console.error("Error message:", error.message);
let errorMessage = "Login failed: ";
switch (error.code) {
case "auth/invalid-email":
errorMessage += "Invalid email address.";
break;
case "auth/user-disabled":
errorMessage += "This account has been disabled.";
break;
case "auth/user-not-found":
errorMessage += "No account found with this email.";
break;
case "auth/wrong-password":
errorMessage += "Incorrect password.";
break;
case "auth/invalid-credential":
errorMessage +=
"Invalid credentials. Please check your email and password.";
break;
case "auth/network-request-failed":
errorMessage += "Network error. Check your internet connection.";
break;
default:
errorMessage += error.message;
}
showError(errorMessage);
}
});
// Handle Google Sign-In
if (googleSignInBtn) {
googleSignInBtn.addEventListener("click", async (e) => {
e.preventDefault();
console.log("π΅ Google sign-in clicked");
hideError();
try {
console.log("π Creating Google provider...");
const provider = new GoogleAuthProvider();
console.log("π Opening Google popup...");
const result = await signInWithPopup(auth, provider);
console.log("β
Google sign-in successful:", result.user.email);
alert("Google sign-in successful!");
window.location.href = "/welcome.html";
} catch (error) {
console.error("β Google sign-in error:", error);
console.error("Error code:", error.code);
console.error("Error message:", error.message);
let errorMessage = "Google sign-in failed: ";
switch (error.code) {
case "auth/popup-closed-by-user":
errorMessage += "Sign-in popup was closed.";
break;
case "auth/popup-blocked":
errorMessage += "Sign-in popup was blocked by browser.";
break;
case "auth/unauthorized-domain":
errorMessage +=
"This domain is not authorized. Add it in Firebase Console.";
break;
default:
errorMessage += error.message;
}
showError(errorMessage);
}
});
} else {
console.error("β Google sign-in button not found!");
}
console.log("β
Event listeners attached");
});