defect fix for language and login - crm precedence then current session

This commit is contained in:
2026-04-08 12:17:28 +01:00
parent 56e854ca2b
commit 1b2f8e29c6
6 changed files with 169 additions and 62 deletions
+40 -9
View File
@@ -19,17 +19,48 @@ const SignIn = (props) => {
event.preventDefault();
setButtonDisabled(true);
const currentLocale = lang || "en";
const url = new URL(event.target.callbackUrl.value);
url.searchParams.set("locale", currentLocale);
try {
const email = String(event.target.email.value || "").trim();
const currentLocale = lang || "en";
setCookie(null, "pedw_locale", currentLocale, {
path: "/",
maxAge: 60 * 60 * 24 * 365
});
const response = await fetch("/api/auth/resolve-locale", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
email,
locale: currentLocale
})
});
event.target.callbackUrl.value = url.toString();
event.target.submit();
const data = await response.json();
const resolvedLocale =
data?.locale === "cy" || data?.locale === "en"
? data.locale
: currentLocale;
const url = new URL(event.target.callbackUrl.value);
url.searchParams.set("locale", resolvedLocale);
setCookie(null, "pedw_locale", resolvedLocale, {
path: "/"
});
event.target.callbackUrl.value = url.toString();
event.target.submit();
} catch (error) {
const fallbackLocale = lang || "en";
const url = new URL(event.target.callbackUrl.value);
url.searchParams.set("locale", fallbackLocale);
setCookie(null, "pedw_locale", fallbackLocale, {
path: "/"
});
event.target.callbackUrl.value = url.toString();
event.target.submit();
}
};
return (