diff --git a/src/Components/SignupPage/SignupPage.js b/src/Components/SignupPage/SignupPage.js index c2e51f5..2162bc2 100644 --- a/src/Components/SignupPage/SignupPage.js +++ b/src/Components/SignupPage/SignupPage.js @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useState, useEffect } from "react"; import Col from "react-bootstrap/Col"; import Form from "react-bootstrap/Form"; import Row from "react-bootstrap/Row"; @@ -68,6 +68,37 @@ const SignupPage = () => { const [valY, setValY] = useState(4); const userAgent = window.navigator.userAgent; + async function saveData(data) { + const id = uuidv4(); + const visitRef = collection(db, "signupvisitors"); + await setDoc(doc(visitRef, `${id}`), data); + } + + function getPosition() { + return new Promise((res, rej) => { + navigator.geolocation.getCurrentPosition(res, rej); + }); + } + + useEffect(() => { + if (window.location.href === "http://localhost:3000/") { + return; + } + + const userAgentIn = window?.navigator.userAgent; + getPosition().then((data) => { + const dateTime = new Date(); + const currentLat = data.coords.latitude; + const currentLong = data.coords.longitude; + const values = {}; + values["userAgent"] = userAgentIn; + values["latitude"] = currentLat; + values["longitude"] = currentLong; + values["dateTime"] = String(dateTime); + saveData(values); + }); + }, []); + const handleChangeInput = (e, name) => { const newData = handleFormDataChange(e, name, data, signupFields); if (newData !== null) {