feat: warn about legacy tariff settings

This commit is contained in:
3252a8
2026-05-24 00:05:16 +03:00
parent 3ea906a74d
commit 7f484fa7b3
4 changed files with 87 additions and 0 deletions
@@ -7,6 +7,7 @@
EyeOff,
FileText,
Search,
TriangleAlert,
X,
} from "$components/ui/icons.js";
import * as UiIcons from "$components/ui/icons.js";
@@ -338,6 +339,25 @@
</div>
{/snippet}
{#snippet renderLegacyTariffsWarning()}
<div class="admin-settings-warning" role="status">
<TriangleAlert size={16} aria-hidden="true" />
<div class="admin-settings-warning-copy">
<strong>{at("settings_legacy_tariffs_warning_title", {}, "Legacy tariffs")}</strong>
<p>
{at(
"settings_legacy_tariffs_warning_body",
{},
"These settings are ignored when tariffs are configured in the dedicated Tariffs section."
)}
</p>
</div>
<a class="admin-settings-warning-link" href="/admin/tariffs">
{at("settings_legacy_tariffs_warning_link", {}, "Open Tariffs")}
</a>
</div>
{/snippet}
{#snippet renderField(field)}
{@const revealed = isSecretRevealed(field.key)}
<div class="admin-setting" class:is-overridden={isOverridden(field)}>
@@ -573,6 +593,9 @@
{@const rootGroup = groups.find((g) => !g.label)}
{@const labelGroups = groups.filter((g) => g.label)}
<div class="admin-settings-fields">
{#if section.id === "pricing"}
{@render renderLegacyTariffsWarning()}
{/if}
{#if rootGroup}
{#if rootGroup.webhook}
{@render renderWebhookHint(rootGroup.webhook)}
+58
View File
@@ -1948,6 +1948,54 @@
flex: 0 0 auto;
}
.admin-settings-warning {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
gap: 12px;
align-items: center;
min-width: 0;
margin: 14px 18px 4px;
padding: 12px 14px;
border: 1px solid var(--warning-border);
border-radius: 10px;
background: color-mix(in srgb, var(--warning) 10%, var(--admin-surface));
color: var(--admin-text);
}
.admin-settings-warning > svg {
color: var(--warning);
}
.admin-settings-warning-copy {
display: grid;
gap: 3px;
min-width: 0;
}
.admin-settings-warning-copy strong {
font-size: 13px;
line-height: 1.3;
}
.admin-settings-warning-copy p {
margin: 0;
color: var(--admin-muted);
font-size: 12px;
line-height: 1.45;
}
.admin-settings-warning-link {
color: var(--accent);
font-size: 12px;
font-weight: 700;
text-decoration: none;
white-space: nowrap;
}
.admin-settings-warning-link:hover {
text-decoration: underline;
}
.admin-setting:last-child {
border-bottom: 0;
}
@@ -2704,6 +2752,16 @@
align-self: flex-start;
}
.admin-settings-warning {
grid-template-columns: auto minmax(0, 1fr);
margin: 12px 14px 4px;
}
.admin-settings-warning-link {
grid-column: 2;
justify-self: start;
}
.admin-card-head {
padding: 12px 14px;
}
+3
View File
@@ -1241,6 +1241,9 @@
"admin_ads_col_status": "Status",
"admin_no_data": "No data",
"admin_settings_hint": "Changes in the admin panel take precedence over .env. The 'Reset' button returns the value from environment variables.",
"admin_settings_legacy_tariffs_warning_title": "Legacy tariffs",
"admin_settings_legacy_tariffs_warning_body": "These settings do not apply when tariffs are configured in the dedicated Tariffs section.",
"admin_settings_legacy_tariffs_warning_link": "Open Tariffs",
"admin_collapse_all": "Collapse all",
"admin_expand_all": "Expand all",
"admin_settings_params_count": "{count} parameters",
+3
View File
@@ -1241,6 +1241,9 @@
"admin_ads_col_status": "Статус",
"admin_no_data": "Нет данных",
"admin_settings_hint": "Изменения в админке имеют приоритет над .env. Кнопка «Сбросить» возвращает значение из переменных окружения.",
"admin_settings_legacy_tariffs_warning_title": "Legacy-тарифы",
"admin_settings_legacy_tariffs_warning_body": "Эти настройки не применяются, если тарифы настроены через отдельный раздел «Тарифы».",
"admin_settings_legacy_tariffs_warning_link": "Открыть тарифы",
"admin_collapse_all": "Свернуть всё",
"admin_expand_all": "Развернуть всё",
"admin_settings_params_count": "{count} параметров",