This commit is contained in:
Kenneth Jannette
2024-03-20 02:04:11 -05:00
parent d05b8fa4d2
commit 1816498e8b

View File

@@ -1,4 +1,8 @@
import { useEffect } from "react";
import { collection, setDoc, doc } from "firebase/firestore";
import { db } from "../../firebase";
import Button from "../../pageElements/Button"; import Button from "../../pageElements/Button";
import { v4 as uuidv4 } from "uuid";
import arrow from "../../Assets/Images/Arrow.png"; import arrow from "../../Assets/Images/Arrow.png";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import "../../styles/homepage.scss"; import "../../styles/homepage.scss";
@@ -6,6 +10,55 @@ import "../../styles/homepage.scss";
const HomePage = () => { const HomePage = () => {
const navigate = useNavigate(); const navigate = useNavigate();
async function saveVisit(visitor, visitId) {
console.log("visitor, visitId", visitor, visitId);
const latitude = `${visitor.latitude}`;
const collecRef = collection(db, "homevisitors");
await setDoc(doc(collecRef, `${visitId}`), visitor, latitude);
}
useEffect(() => {
/*
if (window.location.href === "http://localhost:3000/") {
return;
}
*/
const visitor = {};
const options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0,
};
function success(position) {
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
const accuracy = position.coords.accuracy;
visitor["latitude"] = `{latitude}`;
visitor["longitude"] = longitude;
visitor["positionAccuracy"] = `~${accuracy} meters`;
}
function error() {
const error = "unable to ret locaction";
return error;
}
navigator?.geolocation?.getCurrentPosition(success, error, options);
visitor["userAgent"] = window?.navigator.userAgent;
const now = new Date();
visitor["dateTime"] = now;
const visitId = uuidv4();
try {
saveVisit(visitor, visitId);
} catch (error) {
console.log(`Error saving new user to db: ${error}`);
}
}, []);
const handleNavigate = () => { const handleNavigate = () => {
navigate("/signup"); navigate("/signup");
}; };