mirror of
https://github.com/wasrusgen/wasrusgen1-crm.git
synced 2026-06-03 17:04:46 +00:00
cabinet: Telegram WebApp init (expand + start_param token), add Политика ПДн to signing docs
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
e61ae25647
commit
1d9d4ef9c8
@ -4,6 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Кабинет клиента · @wasrusgen1 | КОНСАЛТИНГ</title>
|
||||
<script src="https://telegram.org/js/telegram-web-app.js"></script>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Montserrat:wght@700;800&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
@ -188,7 +189,8 @@ body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);displ
|
||||
<div style="background:var(--subtle);border:1.5px solid var(--border);border-radius:11px;padding:14px;margin-bottom:16px;font-size:13px;line-height:1.6">
|
||||
Ознакомьтесь с документами:<br>
|
||||
📄 <a href="#" onclick="viewDoc('offer');return false" style="color:var(--primary);font-weight:600">Договор-оферта на консультационные услуги</a><br>
|
||||
📄 <a href="#" onclick="viewDoc('pep');return false" style="color:var(--primary);font-weight:600">Соглашение об использовании ПЭП</a>
|
||||
📄 <a href="#" onclick="viewDoc('pep');return false" style="color:var(--primary);font-weight:600">Соглашение об использовании ПЭП</a><br>
|
||||
📄 <a href="#" onclick="viewDoc('pdn');return false" style="color:var(--primary);font-weight:600">Политика обработки персональных данных</a>
|
||||
</div>
|
||||
<label style="display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;cursor:pointer">
|
||||
<input type="checkbox" id="signAgree" style="width:18px;height:18px;margin-top:2px;flex-shrink:0">
|
||||
@ -357,6 +359,9 @@ function showTyping(){const t=document.createElement("div");t.className="msg";t.
|
||||
function hideTyping(){const t=document.getElementById("typing");if(t)t.remove()}
|
||||
|
||||
async function init(){
|
||||
// Telegram Mini App: развернуть на весь экран + токен из start_param если нет в URL
|
||||
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(token){const r=await fetch(`${API}/api/project/${token}`);if(r.ok){state=await r.json();renderAll();
|
||||
fillProfile();
|
||||
// Если профиль не заполнен — открыть вкладку Профиль
|
||||
@ -423,7 +428,7 @@ async function viewDoc(doc){
|
||||
const dm=document.getElementById("docModal");
|
||||
document.getElementById("docTitle").textContent="Загрузка...";document.getElementById("docText").textContent="";dm.classList.add("show");
|
||||
try{const r=await fetch(`${API}/api/legal/${doc}`);const d=await r.json();
|
||||
document.getElementById("docTitle").textContent=doc==="offer"?"Договор-оферта":"Соглашение об использовании ПЭП";
|
||||
document.getElementById("docTitle").textContent={offer:"Договор-оферта",pep:"Соглашение об использовании ПЭП",pdn:"Политика обработки персональных данных"}[doc]||"Документ";
|
||||
document.getElementById("docText").textContent=d.text||d.error||"Документ недоступен";
|
||||
}catch(e){document.getElementById("docText").textContent="Ошибка: "+e.message}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Кабинет клиента · @wasrusgen1 | КОНСАЛТИНГ</title>
|
||||
<script src="https://telegram.org/js/telegram-web-app.js"></script>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Montserrat:wght@700;800&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
@ -188,7 +189,8 @@ body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);displ
|
||||
<div style="background:var(--subtle);border:1.5px solid var(--border);border-radius:11px;padding:14px;margin-bottom:16px;font-size:13px;line-height:1.6">
|
||||
Ознакомьтесь с документами:<br>
|
||||
📄 <a href="#" onclick="viewDoc('offer');return false" style="color:var(--primary);font-weight:600">Договор-оферта на консультационные услуги</a><br>
|
||||
📄 <a href="#" onclick="viewDoc('pep');return false" style="color:var(--primary);font-weight:600">Соглашение об использовании ПЭП</a>
|
||||
📄 <a href="#" onclick="viewDoc('pep');return false" style="color:var(--primary);font-weight:600">Соглашение об использовании ПЭП</a><br>
|
||||
📄 <a href="#" onclick="viewDoc('pdn');return false" style="color:var(--primary);font-weight:600">Политика обработки персональных данных</a>
|
||||
</div>
|
||||
<label style="display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;cursor:pointer">
|
||||
<input type="checkbox" id="signAgree" style="width:18px;height:18px;margin-top:2px;flex-shrink:0">
|
||||
@ -357,6 +359,9 @@ function showTyping(){const t=document.createElement("div");t.className="msg";t.
|
||||
function hideTyping(){const t=document.getElementById("typing");if(t)t.remove()}
|
||||
|
||||
async function init(){
|
||||
// Telegram Mini App: развернуть на весь экран + токен из start_param если нет в URL
|
||||
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(token){const r=await fetch(`${API}/api/project/${token}`);if(r.ok){state=await r.json();renderAll();
|
||||
fillProfile();
|
||||
// Если профиль не заполнен — открыть вкладку Профиль
|
||||
@ -423,7 +428,7 @@ async function viewDoc(doc){
|
||||
const dm=document.getElementById("docModal");
|
||||
document.getElementById("docTitle").textContent="Загрузка...";document.getElementById("docText").textContent="";dm.classList.add("show");
|
||||
try{const r=await fetch(`${API}/api/legal/${doc}`);const d=await r.json();
|
||||
document.getElementById("docTitle").textContent=doc==="offer"?"Договор-оферта":"Соглашение об использовании ПЭП";
|
||||
document.getElementById("docTitle").textContent={offer:"Договор-оферта",pep:"Соглашение об использовании ПЭП",pdn:"Политика обработки персональных данных"}[doc]||"Документ";
|
||||
document.getElementById("docText").textContent=d.text||d.error||"Документ недоступен";
|
||||
}catch(e){document.getElementById("docText").textContent="Ошибка: "+e.message}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user