chatapp-h5/h5/center-static/static-route.js
2026-04-24 20:42:36 +08:00

57 lines
2.1 KiB
JavaScript

const config = window.STATIC_ROUTE || {};
function lang() {
const value = new URLSearchParams(window.location.search).get("lang") || navigator.language || "en";
if (value.startsWith("ar")) return "AR";
if (value.startsWith("tr")) return "TR";
if (value.startsWith("bn")) return "BN";
return "EN";
}
function goBack() {
if (window.history.length > 1) {
window.history.back();
return;
}
if (window.app && typeof window.app.closePage === "function") {
window.app.closePage();
return;
}
if (window.FlutterPageControl && typeof window.FlutterPageControl.postMessage === "function") {
window.FlutterPageControl.postMessage("close_page");
}
}
function renderRows(rows) {
const list = document.getElementById("list");
list.innerHTML = "";
rows.forEach((row) => {
const node = document.createElement("div");
node.className = "row";
node.innerHTML = `<div><div class="row-title"></div><div class="row-subtitle"></div></div><div class="tag"></div>`;
node.querySelector(".row-title").textContent = row.title;
node.querySelector(".row-subtitle").textContent = row.subtitle || "";
node.querySelector(".tag").textContent = row.tag || "Ready";
list.appendChild(node);
});
}
function init() {
document.title = config.title || "Yumi H5";
document.getElementById("title").textContent = config.title || "Yumi H5";
document.getElementById("lang").textContent = lang();
document.getElementById("keyword").placeholder = config.placeholder || "Search";
document.getElementById("empty").textContent = config.empty || "No data";
document.querySelector("[data-action='back']").addEventListener("click", goBack);
document.getElementById("search").addEventListener("click", () => {
const value = document.getElementById("keyword").value.trim();
const base = config.rows || [];
renderRows(value ? base.filter((row) => JSON.stringify(row).toLowerCase().includes(value.toLowerCase())) : base);
});
renderRows(config.rows || []);
document.getElementById("list").hidden = !(config.rows || []).length;
document.getElementById("empty").hidden = (config.rows || []).length > 0;
}
init();