This commit modernizes the language selector UI across the ZeroClaw web dashboard by replacing native <select> elements with a shared custom dropdown component featuring styled flag icons, proper RTL/LTR text direction support, and consistent left-aligned text for all languages. Changes: - Add LanguageSelector component with custom dropdown, flag badges, and check mark for selected option - Wire document direction updates on locale change for Arabic, Hebrew, Urdu, and other RTL languages - Fix RTL text alignment in dropdown options by applying dir attribute only to text spans - Update pairing dialog and authenticated header to use the shared LanguageSelector - Add locale metadata helpers: getLanguageOption, getLanguageOptionLabel, getLocaleDirection, applyLocaleToDocument - Add Vitest configuration and unit tests for i18n helpers - Add Playwright E2E tests verifying all 31 locales with flag visibility and lang/dir attributes Testing: - Unit tests: 5 passed (npm run test:unit) - Build: passed (npm run build) - E2E tests: 34 passed (npx playwright test) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
35 lines
873 B
JSON
35 lines
873 B
JSON
{
|
|
"name": "zeroclaw-web",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"license": "(MIT OR Apache-2.0)",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"preview": "vite preview",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:headed": "playwright test --headed",
|
|
"test:unit": "vitest run --config vitest.config.ts"
|
|
},
|
|
"dependencies": {
|
|
"lucide-react": "^0.468.0",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-router-dom": "^7.1.1"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.58.2",
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@types/node": "^25.3.0",
|
|
"@types/react": "^19.0.7",
|
|
"@types/react-dom": "^19.0.3",
|
|
"@vitejs/plugin-react": "^4.3.4",
|
|
"tailwindcss": "^4.0.0",
|
|
"typescript": "~5.7.2",
|
|
"vite": "^6.0.7",
|
|
"vitest": "^4.0.18",
|
|
"ws": "^8.19.0"
|
|
}
|
|
}
|