Skip to content

Commit 8c40a5a

Browse files
refactor about page and improve JavaScript functionality
1 parent 6a3affd commit 8c40a5a

4 files changed

Lines changed: 83 additions & 68 deletions

File tree

.DS_Store

0 Bytes
Binary file not shown.

about.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ <h2 style="margin-top: 5px;" class="text-3xl font-bold mb-6">Our Team</h2>
103103
<img src="/assets/img/about/winnie_zhang.jpg" alt="Winnie Zhang, CEO"
104104
class="rounded-full absolute top-0 left-0 right-0 bottom-0 m-auto">
105105
</div>
106-
<p class="text-sm bg-yellow-600 text-white py-1 px-2 inline-block rounded-full mb-2">Executive Officer
107-
</p>
106+
<!-- <p class="text-sm bg-yellow-600 text-white py-1 px-2 inline-block rounded-full mb-2">Executive Officer
107+
</p> -->
108108
<h3 class="text-lg font-semibold">Winnie Zhang</h3>
109109
<a onclick="window.location=`mailto:${this.innerHTML}`"
110110
class="text-sm text-blue-600">wingsofzhang@gmail.com</a>
@@ -121,8 +121,8 @@ <h3 class="text-lg font-semibold">Winnie Zhang</h3>
121121
<img src="/assets/img/about/jerry_hu.jpg" alt="Jerry Hu, CTO"
122122
class="rounded-full absolute top-0 left-0 right-0 bottom-0 m-auto">
123123
</div>
124-
<p class="text-sm bg-blue-600 text-white py-1 px-2 inline-block rounded-full mb-2">Chief Technology
125-
Officer</p>
124+
<!-- <p class="text-sm bg-blue-600 text-white py-1 px-2 inline-block rounded-full mb-2">Chief Technology
125+
Officer</p> -->
126126
<h3 class="text-lg font-semibold">Jerry Hu</h3>
127127
<a onclick="window.location=`mailto:${this.innerHTML}`"
128128
class="text-sm text-blue-600">work.jerrywu@gmail.com</a>

assets/.DS_Store

0 Bytes
Binary file not shown.

assets/js/about.js

Lines changed: 79 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,98 @@
11
let db = firebase.firestore();
22
let auth = firebase.auth();
33

4-
document.addEventListener('DOMContentLoaded', function () {
5-
const currentDate = new Date();
6-
const lastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, currentDate.getDate());
4+
document.addEventListener("DOMContentLoaded", function () {
5+
const currentDate = new Date();
6+
const lastMonth = new Date(
7+
currentDate.getFullYear(),
8+
currentDate.getMonth() - 1,
9+
currentDate.getDate()
10+
);
711

8-
setTimeout(() => {
9-
db.collection('Users')
10-
.where('lastActive', '>=', lastMonth)
11-
.get()
12-
.then(querySnapshot => {
13-
animateValue('monthly-active-users', 0, querySnapshot.size, 500)
14-
});
12+
setTimeout(() => {
13+
db.collection("Users")
14+
.where("lastActive", ">=", lastMonth)
15+
.get()
16+
.then((querySnapshot) => {
17+
animateValue("monthly-active-users", 0, querySnapshot.size, 500);
18+
});
1519

20+
db.collection("Statistics")
21+
.doc("website-views")
22+
.get()
23+
.then((doc) => {
24+
if (doc.exists) {
25+
const data = doc.data();
26+
animateValue("website-views", 0, data.views, 50);
27+
} else {
28+
console.error("No document exists.");
29+
}
30+
})
31+
.catch((error) => {
32+
console.error(error);
33+
});
1634

17-
db.collection('Statistics').doc('website-views').get()
18-
.then(doc => {
19-
if (doc.exists) {
20-
const data = doc.data();
21-
animateValue('website-views', 0, data.views, 50)
22-
} else {
23-
console.error('No document exists.')
24-
}
25-
})
26-
.catch(error => {
27-
console.error(error);
28-
})
29-
30-
db.collection('Messages')
31-
.get()
32-
.then(querySnapshot => {
33-
animateValue('messages-sent', 0, querySnapshot.size, 500)
34-
});
35-
}, 500);
35+
db.collection("Messages")
36+
.get()
37+
.then((querySnapshot) => {
38+
animateValue("messages-sent", 0, querySnapshot.size, 500);
39+
});
40+
}, 500);
3641

37-
// if (window.mobileCheck()) {
38-
// document.getElementById('members-container').classList.replace('grid', 'grid-cols-2', 'gap-6')
39-
// console.log('Mobile')
40-
// } else {
41-
// document.getElementById('members-container').classList.replace('grid', 'grid-cols-4', 'gap-6')
42-
// }
42+
// if (window.mobileCheck()) {
43+
// document.getElementById('members-container').classList.replace('grid', 'grid-cols-2', 'gap-6')
44+
// console.log('Mobile')
45+
// } else {
46+
// document.getElementById('members-container').classList.replace('grid', 'grid-cols-4', 'gap-6')
47+
// }
4348
});
4449

4550
window.mobileCheck = function () {
46-
let check = false;
47-
(function (a) { if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true; })(navigator.userAgent || navigator.vendor || window.opera);
48-
return check;
51+
let check = false;
52+
(function (a) {
53+
if (
54+
/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(
55+
a
56+
) ||
57+
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(
58+
a.substr(0, 4)
59+
)
60+
)
61+
check = true;
62+
})(navigator.userAgent || navigator.vendor || window.opera);
63+
return check;
4964
};
5065

5166
function animateValue(id, start, end, duration) {
52-
let range = start - end
53-
let current = start;
54-
let increment = end > start ? 1 : -1;
55-
let stepTime = Math.abs(Math.floor(duration / range));
56-
let obj = document.getElementById(id);
67+
let range = start - end;
68+
let current = start;
69+
let increment = end > start ? 1 : -1;
70+
let stepTime = Math.abs(Math.floor(duration / range));
71+
let obj = document.getElementById(id);
5772

58-
let timer = setInterval(function () {
59-
current += increment;
60-
obj.innerText = current.toLocaleString();
61-
if (current === end) {
62-
obj.innerText = obj.innerHTML + '+';
63-
clearInterval(timer);
64-
}
65-
}, stepTime)
73+
let timer = setInterval(function () {
74+
current += increment;
75+
obj.innerText = current.toLocaleString();
76+
if (current === end) {
77+
obj.innerText = obj.innerHTML + "+";
78+
clearInterval(timer);
79+
}
80+
}, stepTime);
6681
}
6782

6883
function addToNewsletter() {
69-
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
70-
const email = document.getElementById('newsletter-email').value
84+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
85+
const email = document.getElementById("newsletter-email").value;
7186

72-
if (email === '' || !emailRegex.test(email)) {
73-
alert('Please enter a valid email address.');
74-
} else {
75-
db.collection('ReceivesNewsletter').add({
76-
email: email,
77-
addedDate: new Date(),
78-
pageAddedFrom: window.location.href
79-
})
87+
if (email === "" || !emailRegex.test(email)) {
88+
alert("Please enter a valid email address.");
89+
} else {
90+
db.collection("ReceivesNewsletter").add({
91+
email: email,
92+
addedDate: new Date(),
93+
pageAddedFrom: window.location.href,
94+
});
8095

81-
alert('You have been added to the newsletter.')
82-
}
83-
}
96+
alert("You have been added to the newsletter.");
97+
}
98+
}

0 commit comments

Comments
 (0)