From 3d7c219fd154faaa34c338bf6e6bea59c95dc155 Mon Sep 17 00:00:00 2001 From: Egor Date: Thu, 9 Oct 2025 06:19:37 +0300 Subject: [PATCH] feat: add promo code activation to miniapp --- miniapp/index.html | 205 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) diff --git a/miniapp/index.html b/miniapp/index.html index 0a87a059..8a532c4e 100644 --- a/miniapp/index.html +++ b/miniapp/index.html @@ -1079,6 +1079,114 @@ letter-spacing: 0.5px; } + /* Promo Activation */ + .promo-card { + padding: 20px 20px 24px; + display: flex; + flex-direction: column; + gap: 16px; + background: linear-gradient(145deg, rgba(var(--primary-rgb), 0.12), rgba(var(--primary-rgb), 0.04)); + border: 1px solid rgba(var(--primary-rgb), 0.18); + } + + .promo-header { + display: flex; + flex-direction: column; + gap: 6px; + } + + .promo-title { + font-size: 18px; + font-weight: 700; + color: var(--text-primary); + } + + .promo-subtitle { + font-size: 14px; + color: var(--text-secondary); + } + + .promo-input-group { + display: flex; + gap: 12px; + align-items: center; + flex-wrap: wrap; + } + + .promo-input { + flex: 1 1 200px; + padding: 14px 16px; + border-radius: var(--radius-lg); + border: 2px solid rgba(var(--primary-rgb), 0.25); + background: rgba(255, 255, 255, 0.9); + color: var(--text-primary); + font-size: 15px; + font-weight: 600; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + } + + .promo-input:focus { + border-color: var(--primary); + outline: none; + box-shadow: 0 0 0 4px rgba(var(--primary-rgb), 0.12); + } + + :root[data-theme="dark"] .promo-input { + background: rgba(15, 23, 42, 0.75); + border-color: rgba(var(--primary-rgb), 0.35); + } + + .promo-button { + padding: 14px 22px; + border-radius: var(--radius-lg); + border: none; + background: var(--primary); + color: var(--tg-theme-button-text-color); + font-weight: 700; + font-size: 15px; + cursor: pointer; + transition: transform 0.2s ease, box-shadow 0.3s ease; + box-shadow: 0 6px 14px rgba(var(--primary-rgb), 0.28); + flex-shrink: 0; + } + + .promo-button:hover { + transform: translateY(-1px); + box-shadow: 0 10px 20px rgba(var(--primary-rgb), 0.32); + } + + .promo-button:active { + transform: translateY(1px); + } + + :root[data-theme="dark"] .promo-card { + background: linear-gradient(145deg, rgba(var(--primary-rgb), 0.28), rgba(15, 23, 42, 0.7)); + border-color: rgba(var(--primary-rgb), 0.32); + } + + .promo-result { + padding: 14px 16px; + border-radius: var(--radius-lg); + font-size: 14px; + font-weight: 600; + display: flex; + align-items: center; + gap: 10px; + line-height: 1.4; + } + + .promo-result--success { + background: rgba(16, 185, 129, 0.12); + color: var(--success); + border: 1px solid rgba(16, 185, 129, 0.2); + } + + .promo-result--error { + background: rgba(239, 68, 68, 0.12); + color: var(--danger); + border: 1px solid rgba(239, 68, 68, 0.2); + } + /* Transaction History */ .history-list { list-style: none; @@ -2218,6 +2326,19 @@ + +
+
+
Activate promo code
+
Enter a promo code to get instant rewards.
+
+
+ + +
+ +
+