You've already forked AstralRinth
forked from didirus/AstralRinth
refactor: migrate to common eslint+prettier configs (#4168)
* refactor: migrate to common eslint+prettier configs * fix: prettier frontend * feat: config changes * fix: lint issues * fix: lint * fix: type imports * fix: cyclical import issue * fix: lockfile * fix: missing dep * fix: switch to tabs * fix: continue switch to tabs * fix: rustfmt parity * fix: moderation lint issue * fix: lint issues * fix: ui intl * fix: lint issues * Revert "fix: rustfmt parity" This reverts commit cb99d2376c321d813d4b7fc7e2a213bb30a54711. * feat: revert last rs
This commit is contained in:
@@ -1,37 +1,37 @@
|
||||
import { useState, useRequestHeaders } from "#imports";
|
||||
import { useRequestHeaders, useState } from '#imports'
|
||||
|
||||
export const useUserCountry = () => {
|
||||
const country = useState<string>("userCountry", () => "US");
|
||||
const fromServer = useState<boolean>("userCountryFromServer", () => false);
|
||||
const country = useState<string>('userCountry', () => 'US')
|
||||
const fromServer = useState<boolean>('userCountryFromServer', () => false)
|
||||
|
||||
if (import.meta.server) {
|
||||
const headers = useRequestHeaders(["cf-ipcountry", "accept-language"]);
|
||||
const cf = headers["cf-ipcountry"];
|
||||
if (cf) {
|
||||
country.value = cf.toUpperCase();
|
||||
fromServer.value = true;
|
||||
} else {
|
||||
const al = headers["accept-language"] || "";
|
||||
const tag = al.split(",")[0];
|
||||
const val = tag.split("-")[1]?.toLowerCase();
|
||||
if (val) {
|
||||
country.value = val;
|
||||
fromServer.value = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (import.meta.server) {
|
||||
const headers = useRequestHeaders(['cf-ipcountry', 'accept-language'])
|
||||
const cf = headers['cf-ipcountry']
|
||||
if (cf) {
|
||||
country.value = cf.toUpperCase()
|
||||
fromServer.value = true
|
||||
} else {
|
||||
const al = headers['accept-language'] || ''
|
||||
const tag = al.split(',')[0]
|
||||
const val = tag.split('-')[1]?.toLowerCase()
|
||||
if (val) {
|
||||
country.value = val
|
||||
fromServer.value = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (import.meta.client) {
|
||||
onMounted(() => {
|
||||
if (fromServer.value) return;
|
||||
// @ts-expect-error - ignore TS not knowing about navigator.userLanguage
|
||||
const lang = navigator.language || navigator.userLanguage || "";
|
||||
const region = lang.split("-")[1];
|
||||
if (region) {
|
||||
country.value = region.toUpperCase();
|
||||
}
|
||||
});
|
||||
}
|
||||
if (import.meta.client) {
|
||||
onMounted(() => {
|
||||
if (fromServer.value) return
|
||||
// @ts-expect-error - ignore TS not knowing about navigator.userLanguage
|
||||
const lang = navigator.language || navigator.userLanguage || ''
|
||||
const region = lang.split('-')[1]
|
||||
if (region) {
|
||||
country.value = region.toUpperCase()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return country;
|
||||
};
|
||||
return country
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user