From 98a301c1b5ba78438b0ce46e1977d5e1f7f367a8 Mon Sep 17 00:00:00 2001 From: Egor Date: Fri, 10 Oct 2025 23:48:12 +0300 Subject: [PATCH] Revert "Redesign subscription purchase miniapp layout" --- miniapp/index.html | 357 ++++++++++++--------------------------------- 1 file changed, 95 insertions(+), 262 deletions(-) diff --git a/miniapp/index.html b/miniapp/index.html index e0167d39..702d5a89 100644 --- a/miniapp/index.html +++ b/miniapp/index.html @@ -38,13 +38,10 @@ --radius-lg: 16px; --radius-xl: 20px; --success: #10b981; - --success-rgb: 16, 185, 129; --warning: #f59e0b; - --warning-rgb: 245, 158, 11; --danger: #ef4444; --danger-rgb: 239, 68, 68; --info: #3b82f6; - --info-rgb: 59, 130, 246; } :root[data-theme="dark"] { @@ -711,11 +708,6 @@ .subscription-purchase-card { position: relative; margin-top: 16px; - overflow: visible; - } - - .subscription-purchase-card .card-content { - overflow: visible; } .subscription-purchase-card.as-modal { @@ -737,7 +729,7 @@ .subscription-purchase-content { display: flex; flex-direction: column; - gap: 24px; + gap: 18px; padding-top: 12px; } @@ -760,62 +752,46 @@ .subscription-purchase-section { display: flex; flex-direction: column; - gap: 16px; - padding: 20px 18px; - border-radius: var(--radius-xl); - border: 1px solid rgba(var(--primary-rgb), 0.16); - background: linear-gradient(145deg, rgba(var(--primary-rgb), 0.08), rgba(var(--primary-rgb), 0.02)); - box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04); + gap: 12px; + padding: 16px 0; + border-bottom: 1px solid var(--border-color); } - .subscription-purchase-section + .subscription-purchase-section { - margin-top: 4px; + .subscription-purchase-section:last-child { + border-bottom: none; } .subscription-purchase-section-header { display: flex; justify-content: space-between; - gap: 16px; + gap: 12px; align-items: flex-start; } - .subscription-purchase-section-heading { - display: flex; - flex-direction: column; - gap: 6px; - } - .subscription-purchase-section-title { font-size: 16px; - font-weight: 800; + font-weight: 700; color: var(--text-primary); } .subscription-purchase-section-description { font-size: 13px; color: var(--text-secondary); - line-height: 1.5; + line-height: 1.45; } .subscription-purchase-section-meta { font-size: 12px; color: var(--text-secondary); - font-weight: 700; + font-weight: 600; text-transform: uppercase; - letter-spacing: 0.05em; - white-space: nowrap; - } - - .subscription-purchase-section-body { - display: flex; - flex-direction: column; - gap: 14px; + letter-spacing: 0.04em; } .subscription-purchase-options { - display: grid; - gap: 12px; - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + display: flex; + flex-direction: column; + gap: 10px; } .subscription-purchase-option-description { @@ -832,25 +808,23 @@ } .subscription-purchase-option-price { - display: inline-flex; - flex-wrap: wrap; - align-items: baseline; - gap: 6px; - font-size: 13px; + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 2px; + font-size: 12px; font-weight: 600; color: var(--text-secondary); } .subscription-purchase-option-price-current { - font-size: 18px; - font-weight: 700; - color: inherit; + color: var(--primary); } .subscription-purchase-option-price-original { text-decoration: line-through; color: var(--text-secondary); - opacity: 0.75; + opacity: 0.8; } .subscription-purchase-section-hint { @@ -866,85 +840,55 @@ } .subscription-purchase-card .subscription-settings-toggle { - width: 100%; align-items: flex-start; - justify-content: space-between; gap: 16px; - padding: 14px 16px 16px; - border-radius: var(--radius-lg); - border: 1px solid rgba(var(--primary-rgb), 0.18); - background: rgba(var(--primary-rgb), 0.04); - transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease; } - .subscription-purchase-card .subscription-settings-toggle:hover:not(.disabled) { - transform: translateY(-2px); - box-shadow: var(--shadow-sm); - border-color: rgba(var(--primary-rgb), 0.35); - } - - .subscription-purchase-card .subscription-settings-toggle.active { - border-color: rgba(var(--primary-rgb), 0.65); - background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.28), rgba(var(--primary-rgb), 0.08)); - box-shadow: var(--shadow-md); - } - - .subscription-purchase-card .subscription-settings-toggle.disabled { - opacity: 0.55; - cursor: not-allowed; - } - - .subscription-purchase-card .subscription-settings-toggle-label { - gap: 8px; - flex: 1 1 auto; - } - - .subscription-purchase-card .subscription-settings-toggle-title { - font-size: 15px; - font-weight: 700; - } - - .subscription-purchase-card .subscription-settings-toggle-meta { + .subscription-purchase-option-aside { + margin-left: auto; display: flex; flex-direction: column; - align-items: flex-start; + align-items: flex-end; gap: 6px; + min-width: 120px; } .subscription-purchase-option-note { font-size: 12px; color: var(--text-secondary); - font-weight: 600; } - .subscription-purchase-option-discount, - .subscription-purchase-price-discount { + .subscription-purchase-option-discount { display: inline-flex; align-items: center; justify-content: center; gap: 4px; - padding: 3px 10px; + padding: 2px 8px; border-radius: 999px; - background: rgba(var(--success-rgb), 0.18); + background: rgba(var(--success-rgb), 0.12); color: var(--success); font-size: 12px; - font-weight: 700; - letter-spacing: 0.02em; + font-weight: 600; } .subscription-purchase-period-option .subscription-purchase-option-price-current { - font-size: 19px; + font-size: 18px; + font-weight: 700; + color: var(--text-primary); + } + + .subscription-purchase-period-option .subscription-purchase-option-price-original { + font-size: 13px; } .subscription-purchase-summary { display: flex; flex-direction: column; - gap: 14px; - padding: 20px; - border-radius: var(--radius-xl); - border: 1px solid rgba(var(--primary-rgb), 0.18); - background: linear-gradient(160deg, rgba(var(--primary-rgb), 0.12), rgba(var(--primary-rgb), 0.04)); - box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08); + gap: 10px; + padding: 16px; + border-radius: var(--radius-lg); + border: 1px solid rgba(var(--primary-rgb), 0.15); + background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.08), rgba(var(--primary-rgb), 0.02)); } .subscription-purchase-summary-header { @@ -958,7 +902,7 @@ display: flex; flex-direction: column; align-items: flex-end; - gap: 4px; + gap: 2px; } .subscription-purchase-summary-label { @@ -966,11 +910,11 @@ font-weight: 700; color: var(--text-secondary); text-transform: uppercase; - letter-spacing: 0.05em; + letter-spacing: 0.04em; } .subscription-purchase-price-current { - font-size: 24px; + font-size: 22px; font-weight: 800; color: var(--text-primary); } @@ -981,6 +925,12 @@ text-decoration: line-through; } + .subscription-purchase-price-discount { + font-size: 13px; + color: var(--success); + font-weight: 600; + } + .subscription-purchase-price-per-month { font-size: 12px; color: var(--text-secondary); @@ -990,7 +940,7 @@ .subscription-purchase-breakdown { display: flex; flex-direction: column; - gap: 8px; + gap: 6px; font-size: 13px; color: var(--text-secondary); } @@ -998,7 +948,7 @@ .subscription-purchase-breakdown-item { display: flex; flex-direction: column; - gap: 6px; + gap: 4px; } .subscription-purchase-breakdown-row { @@ -1018,169 +968,66 @@ } .subscription-purchase-balance { - padding: 14px 16px; - border-radius: var(--radius-lg); - background: rgba(var(--danger-rgb), 0.1); - border: 1px solid rgba(var(--danger-rgb), 0.28); + padding: 12px; + border-radius: var(--radius); + background: rgba(var(--danger-rgb), 0.08); color: var(--danger); font-size: 13px; - font-weight: 600; - } - - .card.subscription-purchase-card { - margin-bottom: 40px; + margin-bottom: 6px; } .card.subscription-purchase-card:not(.as-modal) .card-content { - padding: 0 16px calc(120px + env(safe-area-inset-bottom, 0)); - } - - .subscription-purchase-footer { - position: sticky; - bottom: calc(12px + env(safe-area-inset-bottom, 0)); - margin: 0 -16px -16px; - padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0)); - background: var(--bg-primary); - background-image: linear-gradient(180deg, rgba(var(--primary-rgb), 0.04), rgba(var(--primary-rgb), 0.1)); - backdrop-filter: blur(18px); - border-top: 1px solid rgba(var(--primary-rgb), 0.12); - box-shadow: 0 -12px 32px rgba(15, 23, 42, 0.12); - display: flex; - flex-direction: column; - gap: 14px; - z-index: 5; + padding: 0 16px calc(28px + env(safe-area-inset-bottom, 0)); } .subscription-purchase-actions { display: flex; flex-direction: column; gap: 12px; - } - - .subscription-purchase-actions .btn { - width: 100%; - } - - .subscription-purchase-card .btn-primary { - min-height: 54px; - font-size: 16px; - font-weight: 700; + margin-top: 8px; } .subscription-purchase-card .btn-secondary { justify-content: center; } - .subscription-purchase-devices-control { + .subscription-purchase-card .subscription-settings-toggle-label { + gap: 6px; + } + + .subscription-purchase-card .subscription-settings-toggle-meta { display: flex; flex-wrap: wrap; - align-items: center; - justify-content: space-between; - gap: 16px; - padding: 14px 16px; - border-radius: var(--radius-lg); - border: 1px dashed rgba(var(--primary-rgb), 0.25); - background: rgba(var(--primary-rgb), 0.04); - } - - .subscription-purchase-devices-control .subscription-settings-stepper { - flex: 0 0 auto; - } - - .subscription-purchase-devices-info { - display: flex; - flex-direction: column; gap: 6px; - flex: 1 1 160px; - min-width: 160px; } - .subscription-purchase-devices-info .subscription-settings-price-note { - font-size: 13px; - } - - .subscription-purchase-devices-info .subscription-purchase-section-hint { - font-style: normal; - font-size: 12px; - } - - :root[data-theme="dark"] .subscription-purchase-card .subscription-settings-toggle { - background: rgba(30, 41, 59, 0.65); - border-color: rgba(148, 163, 184, 0.2); - } - - :root[data-theme="dark"] .subscription-purchase-card .subscription-settings-toggle.active { - background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.38), rgba(15, 23, 42, 0.9)); - border-color: rgba(var(--primary-rgb), 0.75); - } - - :root[data-theme="dark"] .subscription-purchase-section { - border-color: rgba(148, 163, 184, 0.24); - background: linear-gradient(145deg, rgba(37, 99, 235, 0.18), rgba(15, 23, 42, 0.64)); - box-shadow: 0 12px 32px rgba(2, 6, 23, 0.55); + .subscription-purchase-card .subscription-settings-toggle-meta span { + display: inline-flex; + align-items: center; + gap: 4px; } :root[data-theme="dark"] .subscription-purchase-summary { - border-color: rgba(var(--primary-rgb), 0.28); - background: linear-gradient(160deg, rgba(var(--primary-rgb), 0.22), rgba(15, 23, 42, 0.7)); - box-shadow: 0 16px 38px rgba(2, 6, 23, 0.6); - } - - :root[data-theme="dark"] .subscription-purchase-footer { - background: rgba(15, 23, 42, 0.92); - background-image: linear-gradient(180deg, rgba(var(--primary-rgb), 0.18), rgba(15, 23, 42, 0.92)); - border-top-color: rgba(148, 163, 184, 0.28); - box-shadow: 0 -12px 38px rgba(2, 6, 23, 0.6); - } - - :root[data-theme="dark"] .subscription-purchase-option-discount, - :root[data-theme="dark"] .subscription-purchase-price-discount { - background: rgba(var(--success-rgb), 0.28); - color: #34d399; + border-color: rgba(var(--primary-rgb), 0.22); + background: rgba(37, 99, 235, 0.08); } :root[data-theme="dark"] .subscription-purchase-balance { - background: rgba(var(--danger-rgb), 0.2); - border-color: rgba(var(--danger-rgb), 0.38); - } - - @media (min-width: 540px) { - .subscription-purchase-section { - padding: 24px 24px 22px; - } - - .subscription-purchase-options { - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - } + background: rgba(var(--danger-rgb), 0.16); } @media (max-width: 480px) { .card.subscription-purchase-card:not(.as-modal) .card-content { - padding: 0 14px calc(140px + env(safe-area-inset-bottom, 0)); + padding: 0 16px calc(36px + env(safe-area-inset-bottom, 0)); } - .subscription-purchase-footer { - margin: 0 -14px -14px; - padding: 16px 14px calc(16px + env(safe-area-inset-bottom, 0)); + .subscription-purchase-actions { + gap: 14px; } .subscription-purchase-card .btn-primary { - min-height: 56px; - } - } - - @media (max-width: 360px) { - .card.subscription-purchase-card:not(.as-modal) .card-content { - padding: 0 12px calc(156px + env(safe-area-inset-bottom, 0)); - } - - .subscription-purchase-footer { - margin: 0 -12px -12px; - padding: 16px 12px calc(18px + env(safe-area-inset-bottom, 0)); - } - - .subscription-purchase-section { - padding: 18px 16px; + min-height: 52px; + font-size: 16px; } } @@ -4172,65 +4019,53 @@