From 581205110530de8b364f4c5d3cb1f328d61a7dea Mon Sep 17 00:00:00 2001 From: Egor Date: Fri, 16 Jan 2026 08:49:14 +0300 Subject: [PATCH] Update AdminTariffs.tsx --- src/pages/AdminTariffs.tsx | 84 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/src/pages/AdminTariffs.tsx b/src/pages/AdminTariffs.tsx index a83383b..8994e94 100644 --- a/src/pages/AdminTariffs.tsx +++ b/src/pages/AdminTariffs.tsx @@ -155,6 +155,9 @@ function PeriodTariffModal({ tariff, servers, onSave, onClose, isLoading }: Peri tariff?.traffic_topup_packages || {} ) + // Режим сброса трафика + const [trafficResetMode, setTrafficResetMode] = useState(tariff?.traffic_reset_mode || null) + // Новый период для добавления const [newPeriodDays, setNewPeriodDays] = useState(30) const [newPeriodPrice, setNewPeriodPrice] = useState(300) @@ -185,6 +188,7 @@ function PeriodTariffModal({ tariff, servers, onSave, onClose, isLoading }: Peri max_topup_traffic_gb: maxTopupTrafficGb, is_daily: false, daily_price_kopeks: 0, + traffic_reset_mode: trafficResetMode, } onSave(data) } @@ -579,6 +583,44 @@ function PeriodTariffModal({ tariff, servers, onSave, onClose, isLoading }: Peri )} + + {/* Режим сброса трафика */} +
+

Режим сброса трафика

+

+ Определяет, когда сбрасывается использованный трафик у подписчиков этого тарифа +

+
+ {[ + { value: null, label: '🌐 Глобальная настройка', desc: 'Использовать значение из конфига бота' }, + { value: 'DAY', label: '📅 Ежедневно', desc: 'Сброс каждый день' }, + { value: 'WEEK', label: '📆 Еженедельно', desc: 'Сброс каждую неделю' }, + { value: 'MONTH', label: '🗓️ Ежемесячно', desc: 'Сброс каждый месяц' }, + { value: 'NO_RESET', label: '🚫 Никогда', desc: 'Трафик не сбрасывается' }, + ].map(option => ( + + ))} +
+
)} @@ -635,6 +677,9 @@ function DailyTariffModal({ tariff, servers, onSave, onClose, isLoading }: Daily tariff?.traffic_topup_packages || {} ) + // Режим сброса трафика + const [trafficResetMode, setTrafficResetMode] = useState(tariff?.traffic_reset_mode || null) + const [activeTab, setActiveTab] = useState<'basic' | 'servers' | 'extra'>('basic') const handleSubmit = () => { @@ -661,6 +706,7 @@ function DailyTariffModal({ tariff, servers, onSave, onClose, isLoading }: Daily max_topup_traffic_gb: maxTopupTrafficGb, is_daily: true, daily_price_kopeks: dailyPriceKopeks, + traffic_reset_mode: trafficResetMode, } onSave(data) } @@ -969,6 +1015,44 @@ function DailyTariffModal({ tariff, servers, onSave, onClose, isLoading }: Daily )} + + {/* Режим сброса трафика */} +
+

Режим сброса трафика

+

+ Определяет, когда сбрасывается использованный трафик у подписчиков этого тарифа +

+
+ {[ + { value: null, label: '🌐 Глобальная настройка', desc: 'Использовать значение из конфига бота' }, + { value: 'DAY', label: '📅 Ежедневно', desc: 'Сброс каждый день' }, + { value: 'WEEK', label: '📆 Еженедельно', desc: 'Сброс каждую неделю' }, + { value: 'MONTH', label: '🗓️ Ежемесячно', desc: 'Сброс каждый месяц' }, + { value: 'NO_RESET', label: '🚫 Никогда', desc: 'Трафик не сбрасывается' }, + ].map(option => ( + + ))} +
+
)}