From 4949bd28aac2b3301358d1ea5947af4e8afdb671 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Sun, 28 Jul 2024 11:56:52 +0100 Subject: [PATCH] added loc as a payload --- src/components/Partials/Default.jsx | 31 +++++++++++++++++++++++++++++ src/services/UsersService.js | 3 +++ 2 files changed, 34 insertions(+) diff --git a/src/components/Partials/Default.jsx b/src/components/Partials/Default.jsx index b3e9d38..b7730c1 100644 --- a/src/components/Partials/Default.jsx +++ b/src/components/Partials/Default.jsx @@ -1,5 +1,6 @@ import React, { useEffect, useState } from "react"; import DarkModeContext from "../Contexts/DarkModeContext"; +import axios from 'axios' function Default({ children }) { // dark mode setup @@ -12,6 +13,32 @@ function Default({ children }) { const queryParams = new URLSearchParams(location?.search); const country = queryParams.get("cnt")?.toUpperCase(); + const getLocation = () => { + if (navigator.geolocation) { + navigator.geolocation.getCurrentPosition( + (data) => { + const pos = data.coords; + const position = { + lat: pos.latitude, + long: pos.longitude, + }; + axios.get(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${position.lat}&lon=${position.long}&zoom=18&addressdetails=1`).then(res =>{ + localStorage.setItem("myloc", res?.data?.address?.country); + // console.log('LOC', res?.data?.address?.country) + // localStorage.setItem("myloc", JSON.stringify(position)); + }).catch(err => { + console.log('ERR', err) + }) + }, + (err) => { + localStorage.setItem("myloc", JSON.stringify('not supported')); + } + ); + } else { + localStorage.setItem("myloc", JSON.stringify('not supported')); + } + } + useEffect(() => { if (window.matchMedia("(prefers-color-scheme: dark)").matches) { setTheme("dark"); @@ -39,6 +66,10 @@ function Default({ children }) { } },[countryMode]) + useEffect(()=>{ + getLocation() + },[]) + return ( <> diff --git a/src/services/UsersService.js b/src/services/UsersService.js index 007fd72..a708886 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -1588,6 +1588,9 @@ class usersService { // Axios.defaults.headers.post['Access-Control-Allow-Origin'] = '*'; //,axiosConfig // Axios.defaults.withCredentials = true; //debugger; + if(localStorage && localStorage.getItem('myloc')){ + reqData.loc = localStorage.getItem('myloc') + } return Axios.post(endPoint, reqData) .then((response) => { console.log(response);