-
Notifications
You must be signed in to change notification settings - Fork 0
/
dashboard.js
143 lines (119 loc) · 4.85 KB
/
dashboard.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
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
// dashboard.js
// Import the functions you need from the SDKs you need
import { getDatabase, ref, update, get, set } from "https://www.gstatic.com/firebasejs/10.7.2/firebase-database.js";
// Assuming db is defined globally
const db = getDatabase();
let UserCreds = JSON.parse(sessionStorage.getItem('user-creds'));
let UserInfo = JSON.parse(sessionStorage.getItem('user-info'));
let msgHead = document.getElementById('msg');
let greetHead = document.getElementById('greet');
let signoutButton = document.getElementById('signoutbutton');
greetHead.innerText = `Welcome ${UserInfo.firstname}`;
msgHead.innerText = `logged in with ${UserCreds.email}`;
function Signout() {
sessionStorage.removeItem('user-creds');
sessionStorage.removeItem('user-info');
window.location.href = "login.html";
}
function chkCreds() {
if (!sessionStorage.getItem('user-creds')) {
window.location.href = "login.html";
}
}
// function buyItem(item) {
// const currentUserUid = UserCreds.uid;
// const itemRef = ref(db, `items/${item}/owners/${currentUserUid}`);
// // Check if the user already owns the item
// get(itemRef)
// .then((snapshot) => {
// if (!snapshot.exists() || !snapshot.val()) {
// // If the user doesn't own the item, proceed with the purchase
// set(itemRef, true);
// const buyButton = document.getElementById(`buy${item}`);
// if (buyButton) {
// buyButton.innerText = "Owned";
// buyButton.disabled = true;
// }
// console.log(`${item} purchased by ${UserInfo.firstname}`);
// } else {
// // User already owns the item, handle accordingly (optional)
// console.log(`${UserInfo.firstname} already owns ${item}`);
// }
// })
// .catch((error) => {
// console.error("Error checking ownership:", error.message);
// });
// }
function buyItem(item) {
const currentUserUid = UserCreds.uid;
const itemRef = ref(db, `items/${item}/owners/${currentUserUid}`);
// Check if the user already owns the item
get(itemRef)
.then((snapshot) => {
if (!snapshot.exists() || !snapshot.val()) {
// If the user doesn't own the item, proceed with the purchase
set(itemRef, true)
.then(() => {
const buyButton = document.getElementById(`buy${item}`);
if (buyButton) {
buyButton.innerText = "Owned";
buyButton.disabled = true;
}
console.log(`${item} purchased by ${UserInfo.firstname}`);
})
.catch((error) => {
console.error("Error updating ownership:", error.message);
});
} else {
// User already owns the item, handle accordingly (optional)
console.log(`${UserInfo.firstname} already owns ${item}`);
}
})
.catch((error) => {
console.error("Error checking ownership:", error.message);
});
}
//////////////////////////////////////////////
function checkOwnershipAndUpdateButton(item) {
const currentUserUid = UserCreds.uid;
const itemRef = ref(db, `items/${item}/owners/${currentUserUid}`);
get(itemRef)
.then((snapshot) => {
if (snapshot.exists() && snapshot.val()) {
updateBuyButton(item);
}
})
.catch((error) => {
console.error("Error checking ownership:", error.message);
});
}
// Rest of your existing code...
function updateBuyButton(item) {
const buyButton = document.getElementById(`buy${item}`);
if (buyButton) {
buyButton.innerText = "Owned";
buyButton.disabled = true;
}
}
//////////////////////////////////////////
// window.addEventListener('load', chkCreds);
window.addEventListener('load', () => {
chkCreds();
// Add event listeners for buy buttons
const buyEarlyBirdButton = document.getElementById('buyearlybird');
if (buyEarlyBirdButton) {
buyEarlyBirdButton.addEventListener('click', () => buyItem('earlybird'));
checkOwnershipAndUpdateButton('earlybird');
}
const buyNightOwlButton = document.getElementById('buynightowl');
if (buyNightOwlButton) {
buyNightOwlButton.addEventListener('click', () => buyItem('nightowl'));
checkOwnershipAndUpdateButton('nightowl');
}
const buyEngineerButton = document.getElementById('buyengineer');
if (buyEngineerButton) {
buyEngineerButton.addEventListener('click', () => buyItem('engineer'));
checkOwnershipAndUpdateButton('engineer');
}
});
signoutButton.addEventListener('click', Signout);