fix: handle unlimited traffic package selection and button text

- Fix falsy check: selectedTrafficPackage !== null instead of truthy
  (gb=0 for unlimited was evaluated as false, hiding the buy button)
- Show "Buy Unlimited" instead of "Buy 0 GB" for unlimited packages
- Add buyUnlimited translation key to all 4 locales
This commit is contained in:
Fringg
2026-02-11 18:20:21 +03:00
parent 2964236cdc
commit 1d6ec70116
5 changed files with 7 additions and 1 deletions

View File

@@ -454,6 +454,7 @@
"trafficUnavailable": "Traffic purchase is not available for your tariff",
"unlimited": "Unlimited",
"buyTrafficGb": "Buy {{gb}} GB",
"buyUnlimited": "Buy Unlimited",
"manageServers": "Server management",
"manageServersTitle": "Server management"
},

View File

@@ -328,6 +328,7 @@
"trafficUnavailable": "خرید ترافیک برای اشتراک شما در دسترس نیست",
"unlimited": "نامحدود",
"buyTrafficGb": "خرید {{gb}} GB",
"buyUnlimited": "خرید نامحدود",
"manageServers": "مدیریت سرورها",
"manageServersTitle": "مدیریت سرورها"
},

View File

@@ -481,6 +481,7 @@
"trafficUnavailable": "Докупка трафика недоступна для вашего тарифа",
"unlimited": "Безлимит",
"buyTrafficGb": "Купить {{gb}} ГБ",
"buyUnlimited": "Купить Безлимит",
"manageServers": "Управление серверами",
"manageServersTitle": "Управление серверами"
},

View File

@@ -328,6 +328,7 @@
"trafficUnavailable": "您的套餐不支持购买流量",
"unlimited": "无限制",
"buyTrafficGb": "购买 {{gb}} GB",
"buyUnlimited": "购买无限流量",
"manageServers": "服务器管理",
"manageServersTitle": "服务器管理"
},

View File

@@ -1588,7 +1588,7 @@ export default function Subscription() {
))}
</div>
{selectedTrafficPackage &&
{selectedTrafficPackage !== null &&
(() => {
const selectedPkg = trafficPackages.find(
(p) => p.gb === selectedTrafficPackage,
@@ -1625,6 +1625,8 @@ export default function Subscription() {
<span className="flex items-center justify-center gap-2">
<span className="h-4 w-4 animate-spin rounded-full border-2 border-white/30 border-t-white" />
</span>
) : selectedPkg?.is_unlimited ? (
t('subscription.additionalOptions.buyUnlimited')
) : (
t('subscription.additionalOptions.buyTrafficGb', {
gb: selectedTrafficPackage,