Viewing File: /home/markqprx/iniasli.pro/client/ui/cookie-notice/use-user-is-from-eu.ts
import {useQuery} from '@tanstack/react-query';
import axios from 'axios';
import {COOKIE_LAW_COUNTRIES} from './cookie-law-countries';
const endpoint = 'https://freegeoip.app/json';
interface Response {
userIsFromEu: boolean;
}
interface Props {
enabled: boolean;
}
export function useUserIsFromEu({enabled}: Props) {
return useQuery({
queryKey: [endpoint],
queryFn: () => checkIfFromEu(),
staleTime: Infinity,
enabled,
});
}
function checkIfFromEu(): Promise<Response> {
return axios
.get(endpoint)
.then(response => {
const userIsFromEu = COOKIE_LAW_COUNTRIES.includes(
response.data.country_code,
);
return {userIsFromEu};
})
.catch(() => {
return {userIsFromEu: true};
});
}
Back to Directory
File Manager