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;
}