// "My Dashboard" shortcut in the top-right nav. Appears when we know who the // visitor is: an authenticated msg session (web wallet sign-in OR the Telegram // Mini App auth bridge) is authoritative; otherwise the last dashboard opened // on this device (ctb.myId, set by my.js) or the tools-page ID. No identity → // no button, so prospects never see it. (function () { 'use strict'; if (/^\/my(\/|$)/.test(location.pathname)) return; var nav = document.querySelector('.nav-actions'); if (!nav) return; function add(id) { if (!id || !/^\d{1,15}$/.test(String(id))) return; if (document.getElementById('navMyDash')) return; var a = document.createElement('a'); a.id = 'navMyDash'; a.className = 'btn btn-secondary'; a.href = '/my/' + id; a.textContent = '📊 My Dashboard'; nav.insertBefore(a, nav.firstChild); } var stored = null; try { stored = localStorage.getItem('ctb.myId') || localStorage.getItem('rmc.toolsId'); } catch (e) {} fetch('/api/public/msg-me') .then(function (r) { return r.ok ? r.json() : null; }) .then(function (d) { add(d && d.id ? d.id : stored); }) .catch(function () { add(stored); }); })();