diff --git a/bot/app/web/frontend/src/App.svelte b/bot/app/web/frontend/src/App.svelte
index 99d8657..fc30c19 100644
--- a/bot/app/web/frontend/src/App.svelte
+++ b/bot/app/web/frontend/src/App.svelte
@@ -90,8 +90,6 @@
let activeTab = "home";
let screen = "home";
let data = isPreviewBoard ? structuredCloneSafe(DEV_MOCK.data) : null;
- let selectedPlan = null;
- let selectedMethod = "";
let trialBusy = false;
let promoCode = "";
let promoBusy = false;
@@ -201,9 +199,7 @@
loginEmailFieldError,
loginEmailTooltipOpen,
authResendCooldown,
- email,
pendingEmail,
- emailCode,
} = $authStore);
$: ({
paymentModalOpen,
@@ -234,12 +230,9 @@
linkEmailOpen,
linkEmailBusy,
linkTelegramBusy,
- linkEmailValue,
linkEmailPending,
- linkEmailCode,
linkEmailStatus,
linkEmailIsError,
- linkEmailFieldError,
linkEmailResendCooldown,
languageBusy,
} = $accountStore);
@@ -489,16 +482,6 @@
}, 260);
}
- function resolveTelegramWebApp() {
- return telegramSdk.tg;
- }
-
- function refreshTelegramWebApp() {
- tg = telegramSdk.refresh();
- telegramMiniAppInitData = telegramSdk.initData;
- return tg;
- }
-
function readTelegramMiniAppInitDataFromLocation() {
return telegramSdk.readInitDataFromLocation();
}
@@ -515,20 +498,6 @@
});
}
- async function ensureTelegramSdkForAction() {
- tg = await telegramSdk.ensureForAction();
- telegramMiniAppInitData = telegramSdk.initData;
- return tg;
- }
-
- function createTelegramMiniAppAuthTimeout() {
- return telegramSdk.createMiniAppAuthTimeout();
- }
-
- function shouldWaitForTelegramSdkBeforeOAuth() {
- return hasTelegramLaunchParams() || !telegramOAuthClientId;
- }
-
async function boot() {
await runWebappBoot({
MOCK,
@@ -542,7 +511,9 @@
try {
tg.ready();
tg.expand();
- } catch {}
+ } catch (_error) {
+ void _error;
+ }
},
loadData,
showLogin,
diff --git a/bot/app/web/frontend/src/admin/AdminPanel.svelte b/bot/app/web/frontend/src/admin/AdminPanel.svelte
index 698f205..14fa264 100644
--- a/bot/app/web/frontend/src/admin/AdminPanel.svelte
+++ b/bot/app/web/frontend/src/admin/AdminPanel.svelte
@@ -49,7 +49,6 @@
fmtDate,
fmtDateShort,
fmtMoney,
- optionLabel,
paymentStatusVariant,
trafficLeftLabel,
trafficOfLabel,
@@ -79,7 +78,7 @@
export let languageOptions = [];
export let languageBusy = false;
export let onLanguageChange = () => {};
- export let t = (key, params = {}, fallback = "") => fallback || key;
+ export let t = (key, _params = {}, fallback = "") => fallback || key;
const at = (key, params = {}, fallback = "") => t(`admin_${key}`, params, fallback || key);
diff --git a/bot/app/web/frontend/src/admin/sections/AdsSection.svelte b/bot/app/web/frontend/src/admin/sections/AdsSection.svelte
index cdd0ab3..455bc4f 100644
--- a/bot/app/web/frontend/src/admin/sections/AdsSection.svelte
+++ b/bot/app/web/frontend/src/admin/sections/AdsSection.svelte
@@ -16,7 +16,7 @@
const adsStore = getContext("adsStore");
- $: ({ ads, adsTotals, adsLoading, adCreateOpen, adDraft } = $adsStore);
+ $: ({ ads, adsLoading, adCreateOpen, adDraft } = $adsStore);
$: adHeaders = [
at("id", {}, "ID"),
at("ads_col_source", {}, "Источник"),
diff --git a/bot/app/web/frontend/src/admin/sections/StatsSection.svelte b/bot/app/web/frontend/src/admin/sections/StatsSection.svelte
index cefeac5..5a8995c 100644
--- a/bot/app/web/frontend/src/admin/sections/StatsSection.svelte
+++ b/bot/app/web/frontend/src/admin/sections/StatsSection.svelte
@@ -527,7 +527,9 @@
{#each Array(6) as _, i (i)}
-
@@ -579,7 +587,9 @@
{#each Array(9) as _, k (k)}
-
-
@@ -615,7 +627,10 @@
-
+
@@ -852,7 +869,11 @@
{#if revenueGranularity !== "day"}
·
{at("stats_revenue_chart_bucket_count", { count: revenueChartSeries.length }, "")}{at(
+ "stats_revenue_chart_bucket_count",
+ { count: revenueChartSeries.length },
+ ""
+ )}
{/if}
{#if revenueChartShortfall}
@@ -867,11 +888,7 @@
{:else if revenueRangeMode === "custom" && revenueCustomDaySpan > 0}
·
{at(
- "stats_revenue_chart_custom_span",
- { days: revenueCustomDaySpan },
- ""
- )}{at("stats_revenue_chart_custom_span", { days: revenueCustomDaySpan }, "")}
{/if}
diff --git a/bot/app/web/frontend/src/admin/sections/TariffEditorModal.svelte b/bot/app/web/frontend/src/admin/sections/TariffEditorModal.svelte
index f5bd595..cd983a8 100644
--- a/bot/app/web/frontend/src/admin/sections/TariffEditorModal.svelte
+++ b/bot/app/web/frontend/src/admin/sections/TariffEditorModal.svelte
@@ -16,11 +16,8 @@
tariffsSaving,
tariffDeleteOpen,
tariffDeleteTarget,
- selectedBaseSquad,
- selectedPremiumSquad,
panelSquadsLoading,
panelSquads,
- tariffEditorTab,
} = $tariffsStore);
$: billingModelOptions = [
@@ -187,7 +184,7 @@
ariaLabel={at("btn_add_squad", {}, "Добавить основной сквад")}
onValueChange={(value) => {
tariffsStore.addSquadToDraft("squadUuids", value);
- selectedBaseSquad = "";
+ tariffsStore.update((s) => ({ ...s, selectedBaseSquad: "" }));
}}
/>
@@ -331,7 +328,7 @@
ariaLabel={at("btn_add_premium_squad", {}, "Добавить premium-сквад")}
onValueChange={(value) => {
tariffsStore.addSquadToDraft("premiumSquadUuids", value);
- selectedPremiumSquad = "";
+ tariffsStore.update((s) => ({ ...s, selectedPremiumSquad: "" }));
}}
/>
diff --git a/bot/app/web/frontend/src/admin/sections/UserDetailModal.svelte b/bot/app/web/frontend/src/admin/sections/UserDetailModal.svelte
index 50652ab..7574afd 100644
--- a/bot/app/web/frontend/src/admin/sections/UserDetailModal.svelte
+++ b/bot/app/web/frontend/src/admin/sections/UserDetailModal.svelte
@@ -1,5 +1,5 @@
diff --git a/bot/app/web/frontend/src/lib/admin/stores/logsStore.js b/bot/app/web/frontend/src/lib/admin/stores/logsStore.js
index 7783bd5..606562c 100644
--- a/bot/app/web/frontend/src/lib/admin/stores/logsStore.js
+++ b/bot/app/web/frontend/src/lib/admin/stores/logsStore.js
@@ -1,6 +1,6 @@
import { writable } from "svelte/store";
-export function createLogsStore({ api, at }) {
+export function createLogsStore({ api }) {
const state = writable({
logs: [],
logsTotal: 0,
diff --git a/bot/app/web/frontend/src/lib/admin/stores/paymentsStore.js b/bot/app/web/frontend/src/lib/admin/stores/paymentsStore.js
index 498d4dd..63f4b93 100644
--- a/bot/app/web/frontend/src/lib/admin/stores/paymentsStore.js
+++ b/bot/app/web/frontend/src/lib/admin/stores/paymentsStore.js
@@ -1,6 +1,6 @@
import { writable } from "svelte/store";
-export function createPaymentsStore({ api, at }) {
+export function createPaymentsStore({ api }) {
const state = writable({
payments: [],
paymentsTotal: 0,
diff --git a/bot/app/web/frontend/src/lib/admin/stores/settingsStore.js b/bot/app/web/frontend/src/lib/admin/stores/settingsStore.js
index 627f862..448d558 100644
--- a/bot/app/web/frontend/src/lib/admin/stores/settingsStore.js
+++ b/bot/app/web/frontend/src/lib/admin/stores/settingsStore.js
@@ -8,7 +8,7 @@ export function createSettingsStore({ api, onToast, at }) {
settingsSaving: false,
});
- async function loadSettings(isCompact = false) {
+ async function loadSettings() {
state.update((s) => ({ ...s, settingsLoading: true, settingsDirty: {} }));
try {
const data = await api("/admin/settings");
diff --git a/bot/app/web/frontend/src/lib/admin/stores/tariffsStore.js b/bot/app/web/frontend/src/lib/admin/stores/tariffsStore.js
index 84b0aa7..0696957 100644
--- a/bot/app/web/frontend/src/lib/admin/stores/tariffsStore.js
+++ b/bot/app/web/frontend/src/lib/admin/stores/tariffsStore.js
@@ -7,7 +7,7 @@ import {
normalizeUuidList,
} from "../tariffDraft.js";
-export function createTariffsStore({ api, onToast, onTariffsSaved, flash, at }) {
+export function createTariffsStore({ api, onTariffsSaved, flash, at }) {
const state = writable({
tariffsCatalog: {
default_tariff: "",
@@ -62,7 +62,8 @@ export function createTariffsStore({ api, onToast, onTariffsSaved, flash, at })
try {
const data = await api("/admin/panel/internal-squads");
if (data?.ok) state.update((s) => ({ ...s, panelSquads: data.squads || [] }));
- } catch (e) {
+ } catch (_error) {
+ void _error;
state.update((s) => ({ ...s, panelSquads: [] }));
} finally {
state.update((s) => ({ ...s, panelSquadsLoading: false }));
diff --git a/bot/app/web/frontend/src/lib/components/patterns/admin/AdminRevenueCustomRangePopover.svelte b/bot/app/web/frontend/src/lib/components/patterns/admin/AdminRevenueCustomRangePopover.svelte
index de8df3a..345bacc 100644
--- a/bot/app/web/frontend/src/lib/components/patterns/admin/AdminRevenueCustomRangePopover.svelte
+++ b/bot/app/web/frontend/src/lib/components/patterns/admin/AdminRevenueCustomRangePopover.svelte
@@ -118,7 +118,11 @@
{#each month.weeks as weekDates, wi (wi)}
{#each weekDates as cellDate, di (`${wi}-${di}-${cellDate.toString()}`)}
-
+
{cellDate.day}
diff --git a/bot/app/web/frontend/src/lib/components/patterns/admin/AdminTableSkeleton.svelte b/bot/app/web/frontend/src/lib/components/patterns/admin/AdminTableSkeleton.svelte
index b29cf53..3793852 100644
--- a/bot/app/web/frontend/src/lib/components/patterns/admin/AdminTableSkeleton.svelte
+++ b/bot/app/web/frontend/src/lib/components/patterns/admin/AdminTableSkeleton.svelte
@@ -29,7 +29,7 @@
{#each Array(rows) as _, rowIndex (rowIndex)}
- {#each headers as header, colIndex (`${rowIndex}-${colIndex}`)}
+ {#each headers as _header, colIndex (`${rowIndex}-${colIndex}`)}
|
|
diff --git a/bot/app/web/frontend/src/lib/components/ui/dialog.svelte b/bot/app/web/frontend/src/lib/components/ui/dialog.svelte
index 4256200..b3da16a 100644
--- a/bot/app/web/frontend/src/lib/components/ui/dialog.svelte
+++ b/bot/app/web/frontend/src/lib/components/ui/dialog.svelte
@@ -16,8 +16,7 @@
function readReduceMotion() {
return (
- typeof window !== "undefined" &&
- window.matchMedia("(prefers-reduced-motion: reduce)").matches
+ typeof window !== "undefined" && window.matchMedia("(prefers-reduced-motion: reduce)").matches
);
}
@@ -35,9 +34,7 @@
});
$: backdropTransition = reduceMotion ? { duration: 0 } : { duration: 200 };
- $: cardIn = reduceMotion
- ? { duration: 0, y: 0 }
- : { duration: 260, y: 16, easing: cubicOut };
+ $: cardIn = reduceMotion ? { duration: 0, y: 0 } : { duration: 260, y: 16, easing: cubicOut };
$: cardOut = reduceMotion ? { duration: 0, y: 0 } : { duration: 200, y: 10, easing: cubicOut };
@@ -51,11 +48,7 @@
in:fade={backdropTransition}
out:fade={backdropTransition}
>
-
+
{#if title}
{title}
{/if}
diff --git a/bot/app/web/frontend/src/lib/webapp/billingActions.js b/bot/app/web/frontend/src/lib/webapp/billingActions.js
index 7a581ef..1b736f9 100644
--- a/bot/app/web/frontend/src/lib/webapp/billingActions.js
+++ b/bot/app/web/frontend/src/lib/webapp/billingActions.js
@@ -1,4 +1,4 @@
-export function createBillingActions({ api, t }) {
+export function createBillingActions({ api }) {
async function fetchTopupOptions(kind) {
return api(`/tariffs/topup-options?kind=${encodeURIComponent(kind)}`);
}
diff --git a/bot/app/web/frontend/src/lib/webapp/mockApi.js b/bot/app/web/frontend/src/lib/webapp/mockApi.js
index b131521..600661f 100644
--- a/bot/app/web/frontend/src/lib/webapp/mockApi.js
+++ b/bot/app/web/frontend/src/lib/webapp/mockApi.js
@@ -226,7 +226,9 @@ export async function mockApi(path, options = {}, context = {}) {
let payload = {};
try {
payload = options?.body ? JSON.parse(String(options.body)) : {};
- } catch {}
+ } catch (_error) {
+ void _error;
+ }
DEV_MOCK.data.devices.devices = DEV_MOCK.data.devices.devices.filter(
(device) => device.token !== payload.token
);
@@ -254,7 +256,9 @@ export async function mockApi(path, options = {}, context = {}) {
let payload = {};
try {
payload = options?.body ? JSON.parse(String(options.body)) : {};
- } catch {}
+ } catch (_error) {
+ void _error;
+ }
const language = normalizeLangCode(payload?.language || currentLang);
DEV_MOCK.data.user.language_code = language;
return { ok: true, language };
diff --git a/bot/app/web/frontend/src/lib/webapp/session.js b/bot/app/web/frontend/src/lib/webapp/session.js
index da941d9..478626c 100644
--- a/bot/app/web/frontend/src/lib/webapp/session.js
+++ b/bot/app/web/frontend/src/lib/webapp/session.js
@@ -2,6 +2,10 @@ export const TOKEN_STORAGE_KEY = "rw_webapp_token";
export const CSRF_COOKIE_NAME = "rw_webapp_csrf";
export const REFERRAL_STORAGE_KEY = "rw_webapp_referral";
+function ignoreStorageError(error) {
+ void error;
+}
+
export function readCookie(name) {
if (typeof document === "undefined") return "";
const prefix = `${name}=`;
@@ -27,13 +31,17 @@ export function clearStoredToken(storageKey = TOKEN_STORAGE_KEY) {
export function markManualLogout(flagKey) {
try {
localStorage.setItem(flagKey, "1");
- } catch {}
+ } catch (error) {
+ ignoreStorageError(error);
+ }
}
export function clearManualLogoutFlag(flagKey) {
try {
localStorage.removeItem(flagKey);
- } catch {}
+ } catch (error) {
+ ignoreStorageError(error);
+ }
}
export function isManuallyLoggedOut(flagKey) {
@@ -49,7 +57,9 @@ export function rememberReferral(value) {
if (!normalized) return readReferral();
try {
localStorage.setItem(REFERRAL_STORAGE_KEY, normalized);
- } catch {}
+ } catch (error) {
+ ignoreStorageError(error);
+ }
return normalized;
}
diff --git a/bot/app/web/frontend/src/lib/webapp/stores/accountStore.js b/bot/app/web/frontend/src/lib/webapp/stores/accountStore.js
index 965db23..45d73b2 100644
--- a/bot/app/web/frontend/src/lib/webapp/stores/accountStore.js
+++ b/bot/app/web/frontend/src/lib/webapp/stores/accountStore.js
@@ -216,7 +216,9 @@ export function createAccountStore({
clearToken();
try {
await publicApi("/auth/logout", { keepalive: true });
- } catch {}
+ } catch (_error) {
+ void _error;
+ }
showLogin();
}
diff --git a/bot/app/web/frontend/src/lib/webapp/stores/authStore.js b/bot/app/web/frontend/src/lib/webapp/stores/authStore.js
index d5c2e4d..72e899b 100644
--- a/bot/app/web/frontend/src/lib/webapp/stores/authStore.js
+++ b/bot/app/web/frontend/src/lib/webapp/stores/authStore.js
@@ -1,9 +1,6 @@
import { writable, get } from "svelte/store";
import {
readReferralParam,
- readTelegramAuthStatus,
- readMagicLoginToken,
- readTelegramLoginWidgetAuthData,
clearAuthQuery,
buildTelegramOAuthStartUrl,
emailError,
@@ -17,7 +14,6 @@ export function createAuthStore({
getTg,
t,
currentLang,
- clearManualLogoutFlag,
}) {
const state = writable({
authStatus: "",
diff --git a/bot/app/web/frontend/src/lib/webapp/webappBoot.js b/bot/app/web/frontend/src/lib/webapp/webappBoot.js
index 0234d00..feea227 100644
--- a/bot/app/web/frontend/src/lib/webapp/webappBoot.js
+++ b/bot/app/web/frontend/src/lib/webapp/webappBoot.js
@@ -73,7 +73,9 @@ export async function runWebappBoot({
if (initData) {
try {
if (await finalizeTelegramAuth(initData, "init_data")) return;
- } catch {}
+ } catch (_error) {
+ void _error;
+ }
}
if (getToken() || getCsrfToken()) {
diff --git a/bot/app/web/frontend/src/webapp/TariffDialogs.svelte b/bot/app/web/frontend/src/webapp/TariffDialogs.svelte
index e05a3c6..6c9601e 100644
--- a/bot/app/web/frontend/src/webapp/TariffDialogs.svelte
+++ b/bot/app/web/frontend/src/webapp/TariffDialogs.svelte
@@ -8,10 +8,7 @@
priceLabel as priceLabelFn,
actionKey as actionKeyFn,
} from "../lib/webapp/tariffs.js";
- import {
- premiumTitle as premiumTitleFn,
- trafficPercent as trafficPercentFn,
- } from "../lib/webapp/traffic.js";
+ import { premiumTitle as premiumTitleFn } from "../lib/webapp/traffic.js";
import { formatCompactNumber } from "../lib/webapp/formatters.js";
import Card from "$components/ui/card.svelte";
diff --git a/bot/app/web/frontend/vite.config.mjs b/bot/app/web/frontend/vite.config.mjs
index 98ca952..69aa3b6 100644
--- a/bot/app/web/frontend/vite.config.mjs
+++ b/bot/app/web/frontend/vite.config.mjs
@@ -29,7 +29,10 @@ export default defineConfig({
fileName: () => "subscription_webapp.js",
cssFileName: "subscription_webapp",
},
- rollupOptions: {
+ rolldownOptions: {
+ checks: {
+ pluginTimings: false,
+ },
output: {
assetFileNames: (assetInfo) => {
if (assetInfo.name && assetInfo.name.endsWith(".css")) {