chore: remove promo surfaces

This commit is contained in:
Андрей Бобырев
2026-06-06 13:50:31 +03:00
parent 578378f6d8
commit 931fcba16b
10 changed files with 16 additions and 299 deletions

View File

@@ -215,11 +215,6 @@ const i18n = {
ariaTrafficHistory: "Traffic history",
ariaTrafficRange: "Traffic range",
ariaTrafficView: "Traffic view",
promoEyebrow: "Promo",
promoTitle: "Support PCAtelegram_web",
promoHosting1: "Hosting #1",
promoHosting2: "Hosting #2",
promoTips: "Tips",
qrEyebrow: "QR import",
qrTitle: "Scan Telegram proxy",
pageDashboardTitle: "Dashboard",
@@ -448,11 +443,6 @@ const i18n = {
ariaTrafficHistory: "История трафика",
ariaTrafficRange: "Период трафика",
ariaTrafficView: "Вид трафика",
promoEyebrow: "Промо",
promoTitle: "Поддержать PCAtelegram_web",
promoHosting1: "Хостинг #1",
promoHosting2: "Хостинг #2",
promoTips: "Чаевые",
qrEyebrow: "QR-импорт",
qrTitle: "Сканирование прокси Telegram",
pageDashboardTitle: "Обзор",
@@ -1675,15 +1665,6 @@ async function copyText(value) {
}
}
function maybeShowPromo() {
const key = "pcatelegram_web-promo-last";
const now = Math.floor(Date.now() / 1000);
const last = Number(localStorage.getItem(key) || 0);
if (now - last < 86400) return;
localStorage.setItem(key, String(now));
$("#promoModal").hidden = false;
}
document.addEventListener("click", async (eventObj) => {
const nav = eventObj.target.closest("[data-nav]");
if (nav) {
@@ -1768,9 +1749,6 @@ document.addEventListener("submit", (eventObj) => {
$("#refreshBtn").addEventListener("click", refreshAll);
$("#autoRefreshToggle").addEventListener("click", () => setAutoRefresh(!state.autoRefreshEnabled));
$("#languageSelect").addEventListener("change", (eventObj) => setLanguage(eventObj.target.value));
$("#promoClose").addEventListener("click", () => {
$("#promoModal").hidden = true;
});
$("#qrClose").addEventListener("click", () => {
$("#qrModal").hidden = true;
});
@@ -1790,4 +1768,3 @@ renderEvents();
syncAutoRefreshTimer();
refreshAll();
loadLogs();
maybeShowPromo();

View File

@@ -376,8 +376,8 @@
</div>
<div id="toast" class="toast"></div>
<div id="qrModal" class="promo-modal" hidden>
<div class="promo-card qr-card" role="dialog" aria-modal="true" aria-labelledby="qrTitle">
<div id="qrModal" class="modal-overlay" hidden>
<div class="modal-card qr-card" role="dialog" aria-modal="true" aria-labelledby="qrTitle">
<button id="qrClose" class="icon-btn ghost" type="button" aria-label="Close" data-i18n-aria-label="ariaClose">×</button>
<p class="eyebrow" data-i18n="qrEyebrow">QR import</p>
<h2 id="qrTitle" data-i18n="qrTitle">Scan Telegram proxy</h2>
@@ -388,27 +388,6 @@
<button id="qrCopyBtn" type="button" class="soft" data-i18n="copyLink">Copy link</button>
</div>
</div>
<div id="promoModal" class="promo-modal" hidden>
<div class="promo-card" role="dialog" aria-modal="true" aria-labelledby="promoTitle">
<button id="promoClose" class="icon-btn ghost" type="button" aria-label="Close" data-i18n-aria-label="ariaClose">×</button>
<p class="eyebrow" data-i18n="promoEyebrow">Promo</p>
<h2 id="promoTitle" data-i18n="promoTitle">Support PCAtelegram_web</h2>
<div class="promo-grid">
<a href="https://vk.cc/ct29NQ" target="_blank" rel="noreferrer">
<strong data-i18n="promoHosting1">Hosting #1</strong>
<span>OFF60 · BONUS20 · BONUS6</span>
</a>
<a href="https://vk.cc/cUxAhj" target="_blank" rel="noreferrer">
<strong data-i18n="promoHosting2">Hosting #2</strong>
<span>OFF60</span>
</a>
<a href="https://pay.cloudtips.ru/p/7410814f" target="_blank" rel="noreferrer">
<strong data-i18n="promoTips">Tips</strong>
<span>CloudTips</span>
</a>
</div>
</div>
</div>
<script src="/app.js?v=2.5.0-admin19" type="module"></script>
</body>
</html>

View File

@@ -1362,7 +1362,7 @@ td small {
transform: translateY(0);
}
.promo-modal {
.modal-overlay {
position: fixed;
inset: 0;
z-index: 30;
@@ -1372,11 +1372,11 @@ td small {
background: rgba(5, 8, 16, .48);
}
.promo-modal[hidden] {
.modal-overlay[hidden] {
display: none;
}
.promo-card {
.modal-card {
position: relative;
width: min(620px, 100%);
border: 1px solid var(--line);
@@ -1386,40 +1386,12 @@ td small {
padding: 22px;
}
.promo-card .icon-btn {
.modal-card .icon-btn {
position: absolute;
top: 14px;
right: 14px;
}
.promo-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
margin-top: 18px;
}
.promo-grid a {
display: grid;
gap: 6px;
min-height: 98px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--panel-soft);
color: var(--text);
padding: 14px;
text-decoration: none;
}
.promo-grid a:hover {
border-color: var(--green);
}
.promo-grid span {
color: var(--muted);
font-size: 12px;
}
@media (max-width: 1180px) {
.keys-table {
min-width: 0;
@@ -1536,8 +1508,7 @@ td small {
}
@media (max-width: 720px) {
.visual-overview,
.promo-grid {
.visual-overview {
grid-template-columns: 1fr;
}