Выбор тарифа
+Экраны тарифов пока сверстаны без подключения
+From 4ce78f277e21c4507cc2b1f3d10a4eff972762e5 Mon Sep 17 00:00:00 2001
From: 3252a8 <3252a8@proton.me>
Date: Wed, 29 Apr 2026 11:10:12 +0300
Subject: [PATCH] feat: migrate to svelte initial
---
.env.example | 3 +-
Dockerfile | 1 +
bot/app/web/frontend/src/App.svelte | 1300 ++
bot/app/web/frontend/src/PreviewBoard.svelte | 216 +
.../src/lib/components/ui/button.svelte | 38 +
.../src/lib/components/ui/card.svelte | 12 +
.../src/lib/components/ui/dialog.svelte | 30 +
.../src/lib/components/ui/input.svelte | 24 +
bot/app/web/frontend/src/lib/utils.js | 6 +
bot/app/web/frontend/src/main.js | 10 +
.../web/frontend/src/preview/BackTitle.svelte | 17 +
.../frontend/src/preview/PhoneFrame.svelte | 12 +
.../src/preview/PreviewMethods.svelte | 26 +
.../frontend/src/preview/PreviewNav.svelte | 11 +
bot/app/web/frontend/src/styles.css | 1174 ++
bot/app/web/frontend/vite.config.mjs | 36 +
bot/app/web/subscription_webapp.py | 1 +
bot/app/web/templates/subscription_webapp.css | 1177 +-
.../web/templates/subscription_webapp.html | 283 +-
bot/app/web/templates/subscription_webapp.js | 16797 +++++++++++++---
config/settings.py | 3 +
package-lock.json | 994 +-
package.json | 15 +-
23 files changed, 19245 insertions(+), 2941 deletions(-)
create mode 100644 bot/app/web/frontend/src/App.svelte
create mode 100644 bot/app/web/frontend/src/PreviewBoard.svelte
create mode 100644 bot/app/web/frontend/src/lib/components/ui/button.svelte
create mode 100644 bot/app/web/frontend/src/lib/components/ui/card.svelte
create mode 100644 bot/app/web/frontend/src/lib/components/ui/dialog.svelte
create mode 100644 bot/app/web/frontend/src/lib/components/ui/input.svelte
create mode 100644 bot/app/web/frontend/src/lib/utils.js
create mode 100644 bot/app/web/frontend/src/main.js
create mode 100644 bot/app/web/frontend/src/preview/BackTitle.svelte
create mode 100644 bot/app/web/frontend/src/preview/PhoneFrame.svelte
create mode 100644 bot/app/web/frontend/src/preview/PreviewMethods.svelte
create mode 100644 bot/app/web/frontend/src/preview/PreviewNav.svelte
create mode 100644 bot/app/web/frontend/src/styles.css
create mode 100644 bot/app/web/frontend/vite.config.mjs
diff --git a/.env.example b/.env.example
index cfbd28e..c337e4e 100644
--- a/.env.example
+++ b/.env.example
@@ -39,7 +39,8 @@ WEBAPP_SERVER_HOST=0.0.0.0 #
WEBAPP_SERVER_PORT=8081 # Internal/published Mini App port
WEBAPP_TITLE="/minishop" # Mini App title
WEBAPP_PRIMARY_COLOR="#00fe7a" # Main UI color
-WEBAPP_LOGO_URL=https://em-content.zobj.net/source/animated-noto-color-emoji/427/dotted-line-face_1fae5.gif # Optional logo URL; shown in the header and login screen, leave empty to hide
+WEBAPP_LOGO_URL= # Optional logo URL; if empty the emoji below is used
+WEBAPP_LOGO_EMOJI="🫥" # Emoji logo fallback shown in the header and login screen
WEBAPP_SESSION_SECRET= # Optional: HMAC secret for webapp sessions; generated if empty
WEBHOOK_SECRET_TOKEN= # Optional: Telegram webhook secret token; generated if empty
WEBAPP_SESSION_TTL_SECONDS=86400 # Web App session lifetime (24h)
diff --git a/Dockerfile b/Dockerfile
index 84176c4..c664076 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -16,6 +16,7 @@ COPY package.json package-lock.json* ./
RUN --mount=type=cache,target=/root/.npm \
if [ -f package-lock.json ]; then npm ci; else npm install; fi
+COPY bot/app/web/frontend ./bot/app/web/frontend
COPY bot/app/web/templates ./bot/app/web/templates
COPY scripts/build_subscription_webapp_js.mjs ./scripts/build_subscription_webapp_js.mjs
diff --git a/bot/app/web/frontend/src/App.svelte b/bot/app/web/frontend/src/App.svelte
new file mode 100644
index 0000000..de703a2
--- /dev/null
+++ b/bot/app/web/frontend/src/App.svelte
@@ -0,0 +1,1300 @@
+
+
+
Мы отправили код на {pendingEmail}
+Войдите в свой аккаунт
+{subscription.end_date_text ? `до ${subscription.end_date_text}` : subscription.remaining_text}
+Экраны тарифов пока сверстаны без подключения
+Выберите срок подписки
+Выберите пакет трафика
+Остаток 12 дней будет пересчитан
+{referral.webapp_link || referral.bot_link || "Ссылка пока недоступна"}
+
+ Друг получит +3 дня к подписке после регистрации.
+{promoStatus}
+ {/if} +до {sub.end_date_text}
Остаток 12 дней будет пересчитан по новому тарифу.
+ + +https://minishop.app/ref/ABCD1234Друг получит +3 дня к подписке.
Войдите в свой аккаунт
+{description}
{/if} +{subtitle}
+