mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 17:44:48 +00:00
fix(miniapp): remove location.reload() on back-to-home navigation (splash bug)
Every "Назад" / "На главную" button was calling location.reload() which triggered a full page reload → splash screen appeared again. Fix: replace reload() with routeByHash() call (global router function from app.js) which re-renders the role-appropriate home screen from cached window.__zovMe without any network round-trips. Affected files: app.js, clients.js, measurements.js, request.js, assembly.js, podbor.js. Bump asset versions to 20260517b to bust cache. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
cd587f846a
commit
2f50f6e920
@ -1199,8 +1199,9 @@ async function renderInboxDetail(measurementId) {
|
||||
</header>
|
||||
`);
|
||||
header.querySelector(".podbor-back").addEventListener("click", () => {
|
||||
// Возврат в главное меню без перезагрузки (иначе сплэш мигает)
|
||||
location.hash = "";
|
||||
if (!location.hash) location.reload();
|
||||
routeByHash();
|
||||
});
|
||||
app.appendChild(header);
|
||||
|
||||
|
||||
@ -226,7 +226,7 @@ const Assembly = (function () {
|
||||
btn.style.display = "none";
|
||||
result.querySelector("#toHome")?.addEventListener("click", () => {
|
||||
location.hash = "";
|
||||
location.reload();
|
||||
if (typeof routeByHash === "function") routeByHash();
|
||||
});
|
||||
result.querySelector("#toDetail")?.addEventListener("click", () => {
|
||||
location.hash = `#/assembly/${data.id}`;
|
||||
|
||||
@ -1804,8 +1804,9 @@ const Clients = (function () {
|
||||
} else if (backHref) {
|
||||
location.hash = backHref;
|
||||
} else {
|
||||
// Возврат в главное меню — без перезагрузки страницы (иначе сплэш мигает)
|
||||
location.hash = "";
|
||||
location.reload();
|
||||
if (typeof routeByHash === "function") routeByHash();
|
||||
}
|
||||
});
|
||||
return h;
|
||||
|
||||
@ -146,7 +146,7 @@ const Measurements = (function () {
|
||||
`);
|
||||
h.querySelector(".podbor-back").addEventListener("click", () => {
|
||||
location.hash = "";
|
||||
location.reload();
|
||||
if (typeof routeByHash === "function") routeByHash();
|
||||
});
|
||||
h.querySelector("#openChecklist").addEventListener("click", () => {
|
||||
location.hash = "#/measure/checklist";
|
||||
@ -969,7 +969,7 @@ const Measurements = (function () {
|
||||
node.querySelector("#newOne")?.addEventListener("click", () => mount(root));
|
||||
node.querySelector("#toHome")?.addEventListener("click", () => {
|
||||
location.hash = "";
|
||||
location.reload();
|
||||
if (typeof routeByHash === "function") routeByHash();
|
||||
});
|
||||
} catch (e) {
|
||||
result.innerHTML = `<div class="error">Сеть: ${e.message}</div>`;
|
||||
|
||||
@ -108,9 +108,9 @@ const Podbor = (function () {
|
||||
h.querySelector(".podbor-back").addEventListener("click", () => {
|
||||
const idx = STEPS.indexOf(currentStep);
|
||||
if (idx <= 0) {
|
||||
// Выход из подбора в главный экран кабинета
|
||||
// Выход из подбора в главный экран кабинета — без перезагрузки (иначе сплэш мигает)
|
||||
location.hash = "";
|
||||
location.reload();
|
||||
if (typeof routeByHash === "function") routeByHash();
|
||||
} else {
|
||||
go(STEPS[idx - 1]);
|
||||
}
|
||||
|
||||
@ -208,7 +208,7 @@ const MeasurementRequest = (function () {
|
||||
form.querySelector("#newOne")?.addEventListener("click", () => mount(root));
|
||||
form.querySelector("#toHome")?.addEventListener("click", () => {
|
||||
location.hash = "";
|
||||
location.reload();
|
||||
if (typeof routeByHash === "function") routeByHash();
|
||||
});
|
||||
} catch (e) {
|
||||
result.innerHTML = `<div class="error">Сеть: ${e.message}</div>`;
|
||||
@ -227,8 +227,10 @@ const MeasurementRequest = (function () {
|
||||
`);
|
||||
h.querySelector(".podbor-back").addEventListener("click", () => {
|
||||
if (backHref) location.hash = backHref;
|
||||
else location.hash = "";
|
||||
if (!location.hash) location.reload();
|
||||
else {
|
||||
location.hash = "";
|
||||
if (typeof routeByHash === "function") routeByHash();
|
||||
}
|
||||
});
|
||||
return h;
|
||||
}
|
||||
|
||||
@ -38,13 +38,13 @@
|
||||
<script src="assets/icons.js?v=20260516h"></script>
|
||||
<script src="assets/podbor.config.js?v=20260516h"></script>
|
||||
<script src="assets/podbor.picts.js?v=20260516h"></script>
|
||||
<script src="assets/podbor.js?v=20260516h"></script>
|
||||
<script src="assets/clients.js?v=20260516h"></script>
|
||||
<script src="assets/podbor.js?v=20260517b"></script>
|
||||
<script src="assets/clients.js?v=20260517b"></script>
|
||||
<script src="assets/zamer-picts.js?v=20260516h"></script>
|
||||
<script src="assets/measurements.js?v=20260516h"></script>
|
||||
<script src="assets/request.js?v=20260516h"></script>
|
||||
<script src="assets/assembly.js?v=20260516h"></script>
|
||||
<script src="assets/measurements.js?v=20260517b"></script>
|
||||
<script src="assets/request.js?v=20260517b"></script>
|
||||
<script src="assets/assembly.js?v=20260517b"></script>
|
||||
<script src="assets/proposals.js?v=20260516h"></script>
|
||||
<script src="assets/app.js?v=20260517a"></script>
|
||||
<script src="assets/app.js?v=20260517b"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user