diff --git a/src/App.vue b/src/App.vue index 3919369..8aac9f2 100644 --- a/src/App.vue +++ b/src/App.vue @@ -45,23 +45,32 @@ let backHandler: (() => void) | null = null; function setupBackButton() { if (!tgApp.initData) return; - if (route.path !== "/") { + // снять старый обработчик + if (backHandler) { + tgApp.BackButton.offClick(backHandler); + backHandler = null; + } + + if (window.history.length > 1) { tgApp.BackButton.show(); - // снять старый обработчик - if (backHandler) tgApp.BackButton.offClick(backHandler); - - // навесить новый backHandler = () => { if (window.history.length > 1) { router.back(); } else { - tgApp.BackButton.hide(); + tgApp.close(); } }; + tgApp.BackButton.onClick(backHandler); } else { - tgApp.BackButton.hide(); + tgApp.BackButton.show(); + + backHandler = () => { + tgApp.close(); + }; + + tgApp.BackButton.onClick(backHandler); } }