NavBar: layout does not switch to RTL for RTL locales
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 68/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- react, tailwindcss, typescript
- Domaine
- frontend, internationalization
Piste de recherche
Start with src/registry/components/navbar.tsx, especially the language menu around line 161, and read how LanguageSwitcher derives direction from the active locale and isRtl. Check the existing NavBar tests and add coverage for locale direction, Locale.rtl overrides, and an explicit dir prop. Done means the bar and dropdown mirror in LTR and RTL, option labels align at the start, and the requested desktop and mobile light and dark screenshots are covered.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
Selecting an RTL locale in NavBar translates the link labels but leaves the layout left-to-right. With ar selected in the docs demo:
- The logo stays on the left, links read left to right, and the language/GitHub/CTA group stays on the right.
- The language menu is pinned with a physical
right-0(src/registry/components/navbar.tsx:161), so it doesn't mirror. - Option labels in the language menu render centered instead of start-aligned (the option
<button>has notext-start, so the label inherits the button's default centering).
NavBar never sets dir. LanguageSwitcher already derives it from the active locale (activeLocale?.rtl ?? isRtl(locale)).
Expected
NavBarsetsdir="rtl"on the<nav>when the active locale is RTL, using the same rule asLanguageSwitcher(Locale.rtloverride first, thenisRtlfromlocale-data). An explicitdirprop wins.- Layout mirrors via logical utilities:
end-0/start-0instead ofright-0/left-0,ms-*/me-*instead ofml-*/mr-*, andtext-starton option labels. This applies to the desktop bar, the mobile bar, the mobile menu and the language dropdown. - Each option keeps its own
dir, so mixed-script lists read correctly.
Acceptance
- Selecting
arflips the whole bar. Selectingenflips it back. - Language dropdown opens aligned to the trigger's inline-end edge in both directions.
- Option labels are start-aligned in LTR and RTL.
-
dirprop overrides the locale-derived direction. - Tests for:
diron<nav>for an RTL locale, theLocale.rtloverride (rtl: true/rtl: false), and the explicitdirprop. - Screenshots: LTR and RTL, desktop and ~390px, light and dark.
- Langage dominant
- TypeScript
- Étoiles
- 39
- Forks
- 16
- Merge moyen
- 2 j 12 h
- PR mergées (30 j)
- 10
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de babelize/babelize-elements
-
bug website
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
babelize/babelize-elements#46 ·
Les mainteneurs répondent en général sous 1 jour
-
bug language-switcher priority: medium
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
babelize/babelize-elements#26 ·
Les mainteneurs répondent en général sous 1 jour
-
component enhancement help wanted
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
babelize/babelize-elements#47 ·
Les mainteneurs répondent en général sous 1 jour
-
Website: revamp and improve the landing pagePeut-être pris @anjalinayak01 l’a pris il y a 6 jours. Ouverteenhancement help wanted priority: medium website
Difficulté 4/5 Plus d'une semaine Accessibilité débutants 30/100
babelize/babelize-elements#37 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Website: GitHub stars / forks / PRs counter in navbarPeut-être pris @TanmayNileshShinde l’a pris il y a 1 jour. Ouverteenhancement good first issue priority: low website
Difficulté 3/5 1-2 jours Accessibilité débutants 62/100
babelize/babelize-elements#36 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de babelize/babelize-elements
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Chocobozzz/PeerTube#7832 ·
Les mainteneurs répondent en général sous 3 jours
-
Pay to use?Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 66/100
darkreader/darkreader#16108 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
Add: Dak Nong TV SDOuvertecheck:passed streams:add
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
bug engine
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
frostney/GocciaScript#1746 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
agilepathway/label-checker#739 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour