Refactor code structure for improved readability and maintainability
This commit is contained in:
parent
7b30f17065
commit
c71e4b4cd0
27 changed files with 1738 additions and 324 deletions
|
|
@ -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");
|
||||
});
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue