mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-07-14 18:15:56 -04:00
- Export `isLocaleRTL` from `@sofa/i18n` to detect right-to-left locales - Native: call `I18nManager.allowRTL` / `forceRTL` on locale init and on locale change; reload the app immediately if the current layout direction doesn't match the persisted locale, and prompt the user to restart when switching between LTR and RTL locales - Native: flip the `SettingsRow` chevron to `IconChevronLeft` when `I18nManager.isRTL` is true - Native: add Arabic Intl polyfill locale data (PluralRules, NumberFormat, DateTimeFormat, RelativeTimeFormat) - Web: enable `"rtl": true` in `components.json` and regenerate all shadcn UI components to use CSS logical properties (`ms-*`, `me-*`, `ps-*`, `pe-*`, `text-start`, `text-end`) instead of physical `ml-*`/`mr-*`/`text-left` equivalents - Web: apply the same logical-property conversions to non-generated components (nav-bar, settings sections, title cards, hero banner, continue-watching card) - Web: set `document.dir` based on the active locale's RTL flag in the i18n initialiser and root route - Add `../../packages/i18n/src/po.d.ts` to native `tsconfig.json` includes so TypeScript accepts `.po` imports
42 lines
1.3 KiB
JSON
42 lines
1.3 KiB
JSON
{
|
|
"$schema": "./node_modules/oxlint/configuration_schema.json",
|
|
"plugins": ["oxc", "eslint", "typescript", "react", "import", "unicorn"],
|
|
"jsPlugins": ["eslint-plugin-lingui"],
|
|
"env": {
|
|
"builtin": true
|
|
},
|
|
"categories": {
|
|
"correctness": "error",
|
|
"suspicious": "warn",
|
|
"perf": "warn"
|
|
},
|
|
"rules": {
|
|
"react/react-in-jsx-scope": "off",
|
|
"react/style-prop-object": "off",
|
|
"import/no-unassigned-import": "off",
|
|
"import/no-named-as-default-member": "off",
|
|
"unicorn/no-array-sort": "off",
|
|
"unicorn/consistent-function-scoping": "off",
|
|
"no-new": "off",
|
|
"no-await-in-loop": "off",
|
|
"react/no-array-index-key": "off",
|
|
"react/jsx-no-useless-fragment": "error",
|
|
"react/rules-of-hooks": "error",
|
|
"lingui/no-unlocalized-strings": "off",
|
|
"lingui/t-call-in-function": "error",
|
|
"lingui/no-single-variables-to-translate": "error",
|
|
"lingui/no-expression-in-message": "error",
|
|
"lingui/no-single-tag-to-translate": "error",
|
|
"lingui/no-trans-inside-trans": "error"
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["apps/web/src/**/*", "apps/native/src/**/*"],
|
|
"rules": {
|
|
"lingui/no-unlocalized-strings": "warn"
|
|
}
|
|
}
|
|
],
|
|
"ignorePatterns": ["node_modules", "dist", "build", "docs", "**/routeTree.gen.ts"]
|
|
}
|