mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 02:23:47 +00:00
fix: безопасность и UX лендингов — 16 исправлений
- CRITICAL: усиленная CSS-санитизация (escape-последовательности, at-rules) - CRITICAL: очистка setTimeout при unmount - HIGH: useMutation для создания покупки (вместо ручного fetch) - HIGH: DOMPurify + rel="noopener noreferrer" на ссылках - HIGH: ErrorBoundary для публичных страниц покупки - MEDIUM: стабильные UUID для DnD элементов - MEDIUM: race condition в delete timeout - MEDIUM: клиентская валидация формы лендинга - MEDIUM: staleTime для админ-запросов - MEDIUM: общая утилита getApiErrorMessage - MEDIUM: уведомление о таймауте поллинга - LOW: ARIA роли для radio-карточек и форм - LOW: дедупликация иконок в LandingIcons.tsx - LOW: cn() вместо template literals
This commit is contained in:
@@ -3184,7 +3184,11 @@
|
||||
"general": "General",
|
||||
"content": "Content",
|
||||
"save": "Save",
|
||||
"back": "Back"
|
||||
"back": "Back",
|
||||
"invalidSlug": "Slug can only contain lowercase letters, numbers, and hyphens",
|
||||
"titleRequired": "Title is required",
|
||||
"noTariffs": "Select at least one tariff",
|
||||
"noPaymentMethods": "Add at least one payment method"
|
||||
}
|
||||
},
|
||||
"adminUpdates": {
|
||||
@@ -3950,6 +3954,9 @@
|
||||
"pay": "Pay",
|
||||
"choosePeriod": "Choose period",
|
||||
"copied": "Copied!",
|
||||
"copyLink": "Copy link"
|
||||
"copyLink": "Copy link",
|
||||
"giftToggleLabel": "Purchase type",
|
||||
"pollTimedOut": "Taking longer than expected",
|
||||
"pollTimedOutDesc": "Payment processing is taking longer than usual. You can try checking again."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2910,7 +2910,11 @@
|
||||
"general": "عمومی",
|
||||
"content": "محتوا",
|
||||
"save": "ذخیره",
|
||||
"back": "بازگشت"
|
||||
"back": "بازگشت",
|
||||
"invalidSlug": "Slug can only contain lowercase letters, numbers, and hyphens",
|
||||
"titleRequired": "Title is required",
|
||||
"noTariffs": "Select at least one tariff",
|
||||
"noPaymentMethods": "Add at least one payment method"
|
||||
}
|
||||
},
|
||||
"adminUpdates": {
|
||||
@@ -3501,6 +3505,9 @@
|
||||
"pay": "پرداخت",
|
||||
"choosePeriod": "انتخاب دوره",
|
||||
"copied": "کپی شد!",
|
||||
"copyLink": "کپی لینک"
|
||||
"copyLink": "کپی لینک",
|
||||
"giftToggleLabel": "Purchase type",
|
||||
"pollTimedOut": "Taking longer than expected",
|
||||
"pollTimedOutDesc": "Payment processing is taking longer than usual. You can try checking again."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3739,7 +3739,11 @@
|
||||
"general": "Основное",
|
||||
"content": "Контент",
|
||||
"save": "Сохранить",
|
||||
"back": "Назад"
|
||||
"back": "Назад",
|
||||
"invalidSlug": "Slug может содержать только строчные буквы, цифры и дефисы",
|
||||
"titleRequired": "Заголовок обязателен",
|
||||
"noTariffs": "Выберите хотя бы один тариф",
|
||||
"noPaymentMethods": "Добавьте хотя бы один способ оплаты"
|
||||
}
|
||||
},
|
||||
"adminUpdates": {
|
||||
@@ -4513,6 +4517,9 @@
|
||||
"pay": "Оплатить",
|
||||
"choosePeriod": "Выберите период",
|
||||
"copied": "Скопировано!",
|
||||
"copyLink": "Скопировать ссылку"
|
||||
"copyLink": "Скопировать ссылку",
|
||||
"giftToggleLabel": "Тип покупки",
|
||||
"pollTimedOut": "Занимает больше времени, чем ожидалось",
|
||||
"pollTimedOutDesc": "Обработка платежа занимает больше времени, чем обычно. Вы можете попробовать проверить ещё раз."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2909,7 +2909,11 @@
|
||||
"general": "基本设置",
|
||||
"content": "内容",
|
||||
"save": "保存",
|
||||
"back": "返回"
|
||||
"back": "返回",
|
||||
"invalidSlug": "Slug can only contain lowercase letters, numbers, and hyphens",
|
||||
"titleRequired": "Title is required",
|
||||
"noTariffs": "Select at least one tariff",
|
||||
"noPaymentMethods": "Add at least one payment method"
|
||||
}
|
||||
},
|
||||
"adminUpdates": {
|
||||
@@ -3500,6 +3504,9 @@
|
||||
"pay": "支付",
|
||||
"choosePeriod": "选择时长",
|
||||
"copied": "已复制!",
|
||||
"copyLink": "复制链接"
|
||||
"copyLink": "复制链接",
|
||||
"giftToggleLabel": "Purchase type",
|
||||
"pollTimedOut": "Taking longer than expected",
|
||||
"pollTimedOutDesc": "Payment processing is taking longer than usual. You can try checking again."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user