From 5fcaa73d20cd140ac9ee87ee12d2e9a2825b6de5 Mon Sep 17 00:00:00 2001 From: Egor Date: Fri, 10 Oct 2025 11:19:58 +0300 Subject: [PATCH] Add subscription renewal section to miniapp --- miniapp/index.html | 1238 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1238 insertions(+) diff --git a/miniapp/index.html b/miniapp/index.html index 2da7b218..75fd1a2b 100644 --- a/miniapp/index.html +++ b/miniapp/index.html @@ -696,6 +696,195 @@ color: var(--text-secondary); } + .subscription-renewal-card .card-header { + align-items: flex-start; + } + + .subscription-renewal-summary { + display: flex; + flex-wrap: wrap; + gap: 6px; + margin-top: 8px; + } + + .subscription-renewal-chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 4px 10px; + border-radius: var(--radius-sm); + background: rgba(var(--primary-rgb), 0.08); + color: var(--primary); + font-size: 12px; + font-weight: 600; + line-height: 1.2; + } + + .subscription-renewal-content { + display: flex; + flex-direction: column; + gap: 16px; + } + + .subscription-renewal-loading { + display: flex; + flex-direction: column; + gap: 8px; + } + + .subscription-renewal-periods { + display: flex; + flex-direction: column; + gap: 12px; + } + + .subscription-renewal-period { + border: 2px solid var(--border-color); + border-radius: var(--radius); + padding: 14px 16px; + display: flex; + justify-content: space-between; + align-items: center; + gap: 12px; + background: var(--bg-primary); + cursor: pointer; + transition: all 0.2s ease; + } + + .subscription-renewal-period:hover { + border-color: rgba(var(--primary-rgb), 0.6); + box-shadow: var(--shadow-sm); + } + + .subscription-renewal-period.active { + border-color: var(--primary); + background: rgba(var(--primary-rgb), 0.08); + box-shadow: var(--shadow-sm); + } + + .subscription-renewal-period.disabled { + opacity: 0.4; + cursor: not-allowed; + pointer-events: none; + } + + .subscription-renewal-period-info { + display: flex; + flex-direction: column; + gap: 6px; + } + + .subscription-renewal-period-title { + font-size: 16px; + font-weight: 600; + } + + .subscription-renewal-period-meta { + display: flex; + flex-wrap: wrap; + gap: 8px; + align-items: center; + color: var(--text-secondary); + font-size: 13px; + } + + .subscription-renewal-price { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 6px; + } + + .subscription-renewal-price-original { + text-decoration: line-through; + color: var(--text-secondary); + font-size: 13px; + } + + .subscription-renewal-price-current { + font-size: 18px; + font-weight: 700; + } + + .subscription-renewal-price-per-month { + font-size: 13px; + color: var(--text-secondary); + } + + .subscription-renewal-discount-badge { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 4px 8px; + border-radius: var(--radius-sm); + background: rgba(var(--primary-rgb), 0.12); + color: var(--primary); + font-size: 12px; + font-weight: 600; + } + + .subscription-renewal-summary-card { + border: 2px dashed rgba(var(--primary-rgb), 0.18); + border-radius: var(--radius); + padding: 16px; + display: flex; + flex-direction: column; + gap: 12px; + background: rgba(var(--primary-rgb), 0.05); + } + + .subscription-renewal-summary-header { + display: flex; + justify-content: space-between; + align-items: baseline; + gap: 12px; + } + + .subscription-renewal-summary-label { + font-size: 14px; + font-weight: 600; + color: var(--text-secondary); + } + + .subscription-renewal-summary-prices { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 4px; + } + + .subscription-renewal-info-note { + font-size: 12px; + color: var(--text-secondary); + } + + .subscription-renewal-actions { + display: flex; + align-items: center; + gap: 12px; + } + + .subscription-renewal-status-text { + font-size: 13px; + color: var(--text-secondary); + } + + .subscription-renewal-error { + display: flex; + flex-direction: column; + gap: 12px; + align-items: flex-start; + } + + :root[data-theme="dark"] .subscription-renewal-summary-card { + border-color: rgba(var(--primary-rgb), 0.3); + background: rgba(var(--primary-rgb), 0.1); + } + + :root[data-theme="dark"] .subscription-renewal-period { + background: rgba(15, 23, 42, 0.9); + } + :root[data-theme="dark"] .subscription-settings-toggle { background: rgba(15, 23, 42, 0.6); } @@ -3749,6 +3938,53 @@ + + +