Refactor code structure for improved readability and maintainability

This commit is contained in:
MaddoScientisto 2026-04-12 17:26:17 +02:00
commit c71e4b4cd0
27 changed files with 1738 additions and 324 deletions

View file

@ -114,6 +114,19 @@ function getCurrentLangValue() {
return $("html").attr("lang") || "it";
}
function getFaceAiStorageValue(fieldId, simulatorKey) {
var field = $("#" + fieldId);
if (field.length && field.val()) {
return field.val();
}
if (window.faceAiSimulator && window.faceAiSimulator.raceStorage && window.faceAiSimulator.raceStorage[simulatorKey]) {
return window.faceAiSimulator.raceStorage[simulatorKey];
}
return "";
}
function faceAiFeatureEnabled() {
var config = window.faceAiConfig || {};
var simulatorConfig = window.faceAiSimulator || {};
@ -136,6 +149,57 @@ function faceAiEscapeHtml(value) {
.replace(/'/g, "'");
}
function isFaceAiDebugEnabled() {
var hostname = window.location && window.location.hostname ? window.location.hostname : "";
return hostname === "localhost" || hostname === "127.0.0.1" || hostname === "::1";
}
function getFaceAiDebugPayload() {
var raceYear = getFaceAiStorageValue("faceAiRaceYear", "year");
var raceMonthFolder = getFaceAiStorageValue("faceAiRaceMonthFolder", "monthFolder");
var raceFolder = getFaceAiStorageValue("faceAiRaceFolder", "raceFolder");
var racePathBase = $("#faceAiRacePathBase").val() || "";
var raceStorageRelativeDir = $("#faceAiRaceStorageRelativeDir").val() || [raceYear, raceMonthFolder, raceFolder].filter(Boolean).join("/");
var simulatorConfig = window.faceAiSimulator || null;
return {
pageUrl: window.location.href,
race: {
id: $("#id_gara").val() || "",
slug: $("#garaDesc").val() || "",
name: $("h1.my-4").last().text().replace(/\s+/g, " ").trim(),
lang: getCurrentLangValue(),
storage: {
year: raceYear,
monthFolder: raceMonthFolder,
raceFolder: raceFolder,
pathBase: racePathBase,
relativeDir: raceStorageRelativeDir
}
},
simulator: simulatorConfig,
handoff: {
url: (simulatorConfig && simulatorConfig.handoffUrl) || "faceai_handoff.php",
returnUrl: (simulatorConfig && simulatorConfig.returnUrl) || window.location.href
}
};
}
function logFaceAiDebug(label, extraPayload) {
if (!isFaceAiDebugEnabled() || !window.console || typeof window.console.groupCollapsed !== "function") {
return;
}
var payload = getFaceAiDebugPayload();
if (extraPayload) {
payload.extra = extraPayload;
}
window.console.groupCollapsed("[FaceAI] " + label);
window.console.log(payload);
window.console.groupEnd();
}
function getFaceAiErrorState() {
if (typeof URLSearchParams === "undefined") {
return null;
@ -191,6 +255,9 @@ function buildFaceAiLaunchUrl() {
var raceId = $("#id_gara").val() || "";
var raceSlug = $("#garaDesc").val() || "";
var raceName = $("h1.my-4").last().text().replace(/\s+/g, " ").trim();
var raceYear = getFaceAiStorageValue("faceAiRaceYear", "year");
var raceMonthFolder = getFaceAiStorageValue("faceAiRaceMonthFolder", "monthFolder");
var raceFolder = getFaceAiStorageValue("faceAiRaceFolder", "raceFolder");
var lang = getCurrentLangValue();
var handoffUrl = (window.faceAiSimulator && window.faceAiSimulator.handoffUrl) || "faceai_handoff.php";
var returnUrl = (window.faceAiSimulator && window.faceAiSimulator.returnUrl) || window.location.href;
@ -198,6 +265,9 @@ function buildFaceAiLaunchUrl() {
"raceId=" + encodeURIComponent(raceId),
"raceSlug=" + encodeURIComponent(raceSlug),
"raceName=" + encodeURIComponent(raceName),
"raceYear=" + encodeURIComponent(raceYear),
"raceMonthFolder=" + encodeURIComponent(raceMonthFolder),
"raceFolder=" + encodeURIComponent(raceFolder),
"lang=" + encodeURIComponent(lang),
"returnUrl=" + encodeURIComponent(returnUrl)
];
@ -215,10 +285,18 @@ function buildFaceAiLaunchUrl() {
query.push("devMembershipStatus=" + encodeURIComponent(window.faceAiSimulator.devMembershipStatus));
}
logFaceAiDebug("Legacy launch payload prepared", {
query: query.slice(0),
raceId: raceId,
raceSlug: raceSlug,
raceName: raceName
});
return handoffUrl + "?" + query.join("&");
}
function launchFaceAi() {
logFaceAiDebug("Redirecting to FaceAI handoff");
$("body").addClass("loading");
window.location.href = buildFaceAiLaunchUrl();
return false;
@ -451,6 +529,7 @@ function goPage()
$(function() {
initFaceAiRaceSearchButton();
initFaceAiErrorModal();
logFaceAiDebug("Legacy race page ready");
});