mirror of
https://github.com/wasrusgen/wasrusgen1-crm.git
synced 2026-06-03 22:24:46 +00:00
feat(miniapp): кабинет как полноценный Telegram Mini App (тема, BackButton, защита закрытия, хаптик) + бот: постоянная кнопка-меню Кабинет + привязка tg клиента
This commit is contained in:
parent
4d492bf1d4
commit
4dccf23849
@ -437,6 +437,9 @@ function go(n){
|
|||||||
if(n===3)renderDocs();
|
if(n===3)renderDocs();
|
||||||
if(n===4)renderAnalysis();
|
if(n===4)renderAnalysis();
|
||||||
if(n===5)renderSpecPane();
|
if(n===5)renderSpecPane();
|
||||||
|
// Telegram: нативная «Назад» + лёгкий хаптик
|
||||||
|
const _tg=window.__tg;
|
||||||
|
if(_tg){try{if(_tg.BackButton){if(n&&n!==1)_tg.BackButton.show();else _tg.BackButton.hide();}if(_tg.HapticFeedback)_tg.HapticFeedback.selectionChanged();}catch(e){}}
|
||||||
// Док «Спросить Елену» — только на этапах 3-5
|
// Док «Спросить Елену» — только на этапах 3-5
|
||||||
const dock=document.getElementById("askDock");
|
const dock=document.getElementById("askDock");
|
||||||
if(dock){
|
if(dock){
|
||||||
@ -568,9 +571,20 @@ async function askElena(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function init(){
|
async function init(){
|
||||||
// Telegram Mini App: развернуть на весь экран + токен из start_param если нет в URL
|
// ── Telegram Mini App: полноценная интеграция ──
|
||||||
const tg=window.Telegram&&window.Telegram.WebApp;
|
const tg=window.Telegram&&window.Telegram.WebApp;
|
||||||
if(tg){try{tg.ready();tg.expand();const sp=tg.initDataUnsafe&&tg.initDataUnsafe.start_param;if(sp&&!token){token=sp;localStorage.setItem("cab_token",token);}}catch(e){}}
|
if(tg){try{
|
||||||
|
tg.ready();tg.expand();
|
||||||
|
const sp=tg.initDataUnsafe&&tg.initDataUnsafe.start_param;if(sp&&!token){token=sp;localStorage.setItem("cab_token",token);}
|
||||||
|
// Тема под бренд: тёмная шапка, светлый фон
|
||||||
|
if(tg.setHeaderColor)tg.setHeaderColor('#0F0F1A');
|
||||||
|
if(tg.setBackgroundColor)tg.setBackgroundColor('#F5F6F8');
|
||||||
|
// Защита от случайного смахивания вниз (не терять диалог)
|
||||||
|
if(tg.enableClosingConfirmation)tg.enableClosingConfirmation();
|
||||||
|
// Нативная кнопка «Назад» Telegram → к разговору с Еленой
|
||||||
|
if(tg.BackButton){tg.BackButton.onClick(()=>go(1));}
|
||||||
|
window.__tg=tg;
|
||||||
|
}catch(e){}}
|
||||||
if(token){const r=await fetch(`${API}/api/project/${token}`);if(r.ok){state=await r.json();renderAll();
|
if(token){const r=await fetch(`${API}/api/project/${token}`);if(r.ok){state=await r.json();renderAll();
|
||||||
fillProfile();
|
fillProfile();
|
||||||
// Если профиль не заполнен — открыть вкладку Профиль
|
// Если профиль не заполнен — открыть вкладку Профиль
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user