This commit is contained in:
Kenneth Jannette
2024-03-20 02:40:53 -05:00
parent 1816498e8b
commit 5dd9867353

View File

@@ -10,53 +10,36 @@ import "../../styles/homepage.scss";
const HomePage = () => { const HomePage = () => {
const navigate = useNavigate(); const navigate = useNavigate();
async function saveVisit(visitor, visitId) { async function saveData(data) {
console.log("visitor, visitId", visitor, visitId); console.log("save data", data);
const latitude = `${visitor.latitude}`; const id = uuidv4();
const collecRef = collection(db, "homevisitors"); const visitRef = collection(db, "homevisitors");
await setDoc(doc(collecRef, `${visitId}`), visitor, latitude); await setDoc(doc(visitRef, `${id}`), data);
}
function getPosition() {
return new Promise((res, rej) => {
navigator.geolocation.getCurrentPosition(res, rej);
});
} }
useEffect(() => { useEffect(() => {
/*
if (window.location.href === "http://localhost:3000/") { if (window.location.href === "http://localhost:3000/") {
return; return;
} }
*/
const visitor = {};
const options = { const userAgent = window?.navigator.userAgent;
enableHighAccuracy: true, getPosition().then((data) => {
timeout: 5000, const dateTime = new Date();
maximumAge: 0, const currentLat = data.coords.latitude;
}; const currentLong = data.coords.longitude;
const values = {};
function success(position) { values["userAgent"] = userAgent;
const latitude = position.coords.latitude; values["latitude"] = currentLat;
const longitude = position.coords.longitude; values["longitude"] = currentLong;
const accuracy = position.coords.accuracy; values["dateTime"] = String(dateTime);
visitor["latitude"] = `{latitude}`; saveData(values);
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 = () => {