Files
netrunner-app/src/lib
nineap da77c8d755 Локализует приложение на 10 языков + RTL для арабского и персидского
Добавляет zh-CN, fa, ar, tr, uk, be, vi, uz локали (81 ключ, идентичная
структура) к существующим en/ru; ToggleLanguge.tsx переделан из
бинарного ru/en тумблера в выпадающий список всех 10 языков.

TelegramWeb.tsx был полностью на захардкоженном русском несмотря на импорт
useTranslation — переведён на i18n-ключи. rtlLanguages.ts выносит список
RTL-языков в отдельный .ts-файл (именованный импорт из .js падал на
allowJs). App.tsx реактивно переключает document.dir/lang при смене языка.

Логические CSS-свойства (ps-/pe-/start-/end-/border-e) вместо физических
в badge/button/dialog/select и BurgerMenu — Flexbox иначе визуально
переворачивает детей под dir=rtl, ломая анимацию бургер-меню.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 22:52:20 +07:00
..
2026-03-11 21:40:32 +07:00

src/lib/

Файл Назначение
api.ts REST-клиент бэкенда (GET /api/v1/nodes). Анонимная авторизация: генерирует/логинится по seed через /auth/seed/* ("Ghost Protocol"), кеширует короткоживущий JWT (~10 мин) в localStorage. Сейчас не задействован напрямую (useNodesStore работает в статическом режиме), но остаётся рабочим для будущего включения.
platform.ts Детект платформы (desktop/android/ios/web). Сначала проверяет window.__TAURI_INTERNALS__ — отличает реальный Tauri-webview от обычного браузера (например, pnpm dev без Tauri), и только внутри Tauri дальше уточняет ОС по navigator.userAgent, т.к. Tauri-рантайм один и тот же на всех платформах.
utils.ts cn() — склейка classNames (clsx + tailwind-merge).