Files
mtdb_movie/common/resources/client/ui/cookie-notice/use-user-is-from-eu.ts
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

36 lines
762 B
TypeScript
Executable File

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};
});
}