feat(lava): покупка привязкой, продукт тарифа в админке, CTA

Фронтовые хвосты автопродления Lava (бэкенд: de3518b7).

- Поле «Продукт Lava» в форме создания/редактирования тарифа: раньше
  lava_product_id можно было задать только через API, из-за чего фичу нельзя
  было включить из интерфейса. Пустая строка отвязывает тариф от продукта.
- CTA «Оформить с автооплатой Lava» в форме покупки тарифа — рядом с
  СБП-кнопкой, в обеих ветках рендера; флаг lava_recurrent_enabled из
  purchase-options наконец получил потребителя.
- API-метод purchaseWithLavaRecurring + типы lava_product_id в списке,
  детали и запросах тарифа.
- Локали ru/en/zh/fa: подписи покупки и поля продукта (плейсхолдеры сверены).
This commit is contained in:
Fringg
2026-07-29 20:23:35 +03:00
parent 2dce539da2
commit a28f1167f7
10 changed files with 123 additions and 8 deletions

View File

@@ -35,6 +35,8 @@ export interface TariffListItem {
show_in_gift: boolean;
is_daily: boolean;
daily_price_kopeks: number;
/** UUID продукта Lava для рекуррентных подписок (цена/период заданы в кабинете Lava) */
lava_product_id?: string | null;
traffic_limit_gb: number;
device_limit: number;
tier_level: number;
@@ -85,6 +87,8 @@ export interface TariffDetail {
// Дневной тариф
is_daily: boolean;
daily_price_kopeks: number;
/** UUID продукта Lava для рекуррентных подписок (цена/период заданы в кабинете Lava) */
lava_product_id?: string | null;
// Режим сброса трафика
traffic_reset_mode: string | null; // 'DAY', 'WEEK', 'MONTH', 'MONTH_ROLLING', 'NO_RESET', null = глобальная настройка
// Внешний сквад Remnawave
@@ -124,6 +128,8 @@ export interface TariffCreateRequest {
// Дневной тариф
is_daily?: boolean;
daily_price_kopeks?: number;
// Автопродление Lava: продукт из кабинета Lava
lava_product_id?: string | null;
// Режим сброса трафика
traffic_reset_mode?: string | null;
// Внешний сквад Remnawave
@@ -168,6 +174,8 @@ export interface TariffUpdateRequest {
// Дневной тариф
is_daily?: boolean;
daily_price_kopeks?: number;
// Автопродление Lava: продукт из кабинета Lava
lava_product_id?: string | null;
// Режим сброса трафика
traffic_reset_mode?: string | null;
// Внешний сквад Remnawave