mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 18:44:47 +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>
|
||||||
`);
|
`);
|
||||||
header.querySelector(".podbor-back").addEventListener("click", () => {
|
header.querySelector(".podbor-back").addEventListener("click", () => {
|
||||||
|
// Возврат в главное меню без перезагрузки (иначе сплэш мигает)
|
||||||
location.hash = "";
|
location.hash = "";
|
||||||
if (!location.hash) location.reload();
|
routeByHash();
|
||||||
});
|
});
|
||||||
app.appendChild(header);
|
app.appendChild(header);
|
||||||
|
|
||||||
|
|||||||
@ -226,7 +226,7 @@ const Assembly = (function () {
|
|||||||
btn.style.display = "none";
|
btn.style.display = "none";
|
||||||
result.querySelector("#toHome")?.addEventListener("click", () => {
|
result.querySelector("#toHome")?.addEventListener("click", () => {
|
||||||
location.hash = "";
|
location.hash = "";
|
||||||
location.reload();
|
if (typeof routeByHash === "function") routeByHash();
|
||||||
});
|
});
|
||||||
result.querySelector("#toDetail")?.addEventListener("click", () => {
|
result.querySelector("#toDetail")?.addEventListener("click", () => {
|
||||||
location.hash = `#/assembly/${data.id}`;
|
location.hash = `#/assembly/${data.id}`;
|
||||||
|
|||||||
@ -1804,8 +1804,9 @@ const Clients = (function () {
|
|||||||
} else if (backHref) {
|
} else if (backHref) {
|
||||||
location.hash = backHref;
|
location.hash = backHref;
|
||||||
} else {
|
} else {
|
||||||
|
// Возврат в главное меню — без перезагрузки страницы (иначе сплэш мигает)
|
||||||
location.hash = "";
|
location.hash = "";
|
||||||
location.reload();
|
if (typeof routeByHash === "function") routeByHash();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return h;
|
return h;
|
||||||
|
|||||||
@ -146,7 +146,7 @@ const Measurements = (function () {
|
|||||||
`);
|
`);
|
||||||
h.querySelector(".podbor-back").addEventListener("click", () => {
|
h.querySelector(".podbor-back").addEventListener("click", () => {
|
||||||
location.hash = "";
|
location.hash = "";
|
||||||
location.reload();
|
if (typeof routeByHash === "function") routeByHash();
|
||||||
});
|
});
|
||||||
h.querySelector("#openChecklist").addEventListener("click", () => {
|
h.querySelector("#openChecklist").addEventListener("click", () => {
|
||||||
location.hash = "#/measure/checklist";
|
location.hash = "#/measure/checklist";
|
||||||
@ -969,7 +969,7 @@ const Measurements = (function () {
|
|||||||
node.querySelector("#newOne")?.addEventListener("click", () => mount(root));
|
node.querySelector("#newOne")?.addEventListener("click", () => mount(root));
|
||||||
node.querySelector("#toHome")?.addEventListener("click", () => {
|
node.querySelector("#toHome")?.addEventListener("click", () => {
|
||||||
location.hash = "";
|
location.hash = "";
|
||||||
location.reload();
|
if (typeof routeByHash === "function") routeByHash();
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
result.innerHTML = `<div class="error">Сеть: ${e.message}</div>`;
|
result.innerHTML = `<div class="error">Сеть: ${e.message}</div>`;
|
||||||
|
|||||||
@ -108,9 +108,9 @@ const Podbor = (function () {
|
|||||||
h.querySelector(".podbor-back").addEventListener("click", () => {
|
h.querySelector(".podbor-back").addEventListener("click", () => {
|
||||||
const idx = STEPS.indexOf(currentStep);
|
const idx = STEPS.indexOf(currentStep);
|
||||||
if (idx <= 0) {
|
if (idx <= 0) {
|
||||||
// Выход из подбора в главный экран кабинета
|
// Выход из подбора в главный экран кабинета — без перезагрузки (иначе сплэш мигает)
|
||||||
location.hash = "";
|
location.hash = "";
|
||||||
location.reload();
|
if (typeof routeByHash === "function") routeByHash();
|
||||||
} else {
|
} else {
|
||||||
go(STEPS[idx - 1]);
|
go(STEPS[idx - 1]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -208,7 +208,7 @@ const MeasurementRequest = (function () {
|
|||||||
form.querySelector("#newOne")?.addEventListener("click", () => mount(root));
|
form.querySelector("#newOne")?.addEventListener("click", () => mount(root));
|
||||||
form.querySelector("#toHome")?.addEventListener("click", () => {
|
form.querySelector("#toHome")?.addEventListener("click", () => {
|
||||||
location.hash = "";
|
location.hash = "";
|
||||||
location.reload();
|
if (typeof routeByHash === "function") routeByHash();
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
result.innerHTML = `<div class="error">Сеть: ${e.message}</div>`;
|
result.innerHTML = `<div class="error">Сеть: ${e.message}</div>`;
|
||||||
@ -227,8 +227,10 @@ const MeasurementRequest = (function () {
|
|||||||
`);
|
`);
|
||||||
h.querySelector(".podbor-back").addEventListener("click", () => {
|
h.querySelector(".podbor-back").addEventListener("click", () => {
|
||||||
if (backHref) location.hash = backHref;
|
if (backHref) location.hash = backHref;
|
||||||
else location.hash = "";
|
else {
|
||||||
if (!location.hash) location.reload();
|
location.hash = "";
|
||||||
|
if (typeof routeByHash === "function") routeByHash();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return h;
|
return h;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,13 +38,13 @@
|
|||||||
<script src="assets/icons.js?v=20260516h"></script>
|
<script src="assets/icons.js?v=20260516h"></script>
|
||||||
<script src="assets/podbor.config.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.picts.js?v=20260516h"></script>
|
||||||
<script src="assets/podbor.js?v=20260516h"></script>
|
<script src="assets/podbor.js?v=20260517b"></script>
|
||||||
<script src="assets/clients.js?v=20260516h"></script>
|
<script src="assets/clients.js?v=20260517b"></script>
|
||||||
<script src="assets/zamer-picts.js?v=20260516h"></script>
|
<script src="assets/zamer-picts.js?v=20260516h"></script>
|
||||||
<script src="assets/measurements.js?v=20260516h"></script>
|
<script src="assets/measurements.js?v=20260517b"></script>
|
||||||
<script src="assets/request.js?v=20260516h"></script>
|
<script src="assets/request.js?v=20260517b"></script>
|
||||||
<script src="assets/assembly.js?v=20260516h"></script>
|
<script src="assets/assembly.js?v=20260517b"></script>
|
||||||
<script src="assets/proposals.js?v=20260516h"></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>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user