From 3883532c2b077d336e66e15cabb24555df2e85ea Mon Sep 17 00:00:00 2001 From: glpshchn <464976@niuitmo.ru> Date: Sun, 7 Dec 2025 06:01:28 +0300 Subject: [PATCH] Update files --- frontend/src/pages/MonthlyLadder.jsx | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/MonthlyLadder.jsx b/frontend/src/pages/MonthlyLadder.jsx index 8c14373..ffb10aa 100644 --- a/frontend/src/pages/MonthlyLadder.jsx +++ b/frontend/src/pages/MonthlyLadder.jsx @@ -101,6 +101,30 @@ export default function MonthlyLadder({ user }) { return tickets?.toLocaleString('ru-RU') || '0' } + const getTicketsWord = (tickets) => { + const num = tickets || 0 + const lastDigit = num % 10 + const lastTwoDigits = num % 100 + + // Исключения для 11-14 + if (lastTwoDigits >= 11 && lastTwoDigits <= 14) { + return 'билетов' + } + + // 1, 21, 31, 41... - билет + if (lastDigit === 1) { + return 'билет' + } + + // 2, 3, 4, 22, 23, 24... - билета + if (lastDigit >= 2 && lastDigit <= 4) { + return 'билета' + } + + // Остальные - билетов + return 'билетов' + } + return (
{/* Хедер */} @@ -197,7 +221,7 @@ export default function MonthlyLadder({ user }) {
- {formatTickets(topUser.tickets)} билетов + {formatTickets(topUser.tickets)} {getTicketsWord(topUser.tickets)} {prize && {prize}}
@@ -227,7 +251,7 @@ export default function MonthlyLadder({ user }) {
- {formatTickets(currentUser.tickets)} билетов + {formatTickets(currentUser.tickets)} {getTicketsWord(currentUser.tickets)}