mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-07-07 14:08:47 +00:00
* feat: rtl * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add sidebar * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * chore: changeset * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix
103 lines
2.9 KiB
TypeScript
103 lines
2.9 KiB
TypeScript
"use client"
|
|
|
|
import { Button } from "@/examples/base/ui-rtl/button"
|
|
import {
|
|
Dialog,
|
|
DialogClose,
|
|
DialogContent,
|
|
DialogDescription,
|
|
DialogFooter,
|
|
DialogHeader,
|
|
DialogTitle,
|
|
DialogTrigger,
|
|
} from "@/examples/base/ui-rtl/dialog"
|
|
import { Field, FieldGroup } from "@/examples/base/ui-rtl/field"
|
|
import { Input } from "@/examples/base/ui-rtl/input"
|
|
import { Label } from "@/examples/base/ui-rtl/label"
|
|
|
|
import {
|
|
useTranslation,
|
|
type Translations,
|
|
} from "@/components/language-selector"
|
|
|
|
const translations: Translations = {
|
|
en: {
|
|
dir: "ltr",
|
|
values: {
|
|
openDialog: "Open Dialog",
|
|
editProfile: "Edit profile",
|
|
description:
|
|
"Make changes to your profile here. Click save when you're done.",
|
|
name: "Name",
|
|
username: "Username",
|
|
cancel: "Cancel",
|
|
saveChanges: "Save changes",
|
|
},
|
|
},
|
|
ar: {
|
|
dir: "rtl",
|
|
values: {
|
|
openDialog: "فتح الحوار",
|
|
editProfile: "تعديل الملف الشخصي",
|
|
description:
|
|
"قم بإجراء تغييرات على ملفك الشخصي هنا. انقر فوق حفظ عند الانتهاء.",
|
|
name: "الاسم",
|
|
username: "اسم المستخدم",
|
|
cancel: "إلغاء",
|
|
saveChanges: "حفظ التغييرات",
|
|
},
|
|
},
|
|
he: {
|
|
dir: "rtl",
|
|
values: {
|
|
openDialog: "פתח דיאלוג",
|
|
editProfile: "ערוך פרופיל",
|
|
description: "בצע שינויים בפרופיל שלך כאן. לחץ על שמור כשתסיים.",
|
|
name: "שם",
|
|
username: "שם משתמש",
|
|
cancel: "בטל",
|
|
saveChanges: "שמור שינויים",
|
|
},
|
|
},
|
|
}
|
|
|
|
export function DialogRtl() {
|
|
const { dir, t, language } = useTranslation(translations, "ar")
|
|
|
|
return (
|
|
<Dialog>
|
|
<form>
|
|
<DialogTrigger render={<Button variant="outline" />}>
|
|
{t.openDialog}
|
|
</DialogTrigger>
|
|
<DialogContent
|
|
className="sm:max-w-sm"
|
|
dir={dir}
|
|
data-lang={dir === "rtl" ? language : undefined}
|
|
>
|
|
<DialogHeader>
|
|
<DialogTitle>{t.editProfile}</DialogTitle>
|
|
<DialogDescription>{t.description}</DialogDescription>
|
|
</DialogHeader>
|
|
<FieldGroup>
|
|
<Field>
|
|
<Label htmlFor="name-1">{t.name}</Label>
|
|
<Input id="name-1" name="name" defaultValue="Pedro Duarte" />
|
|
</Field>
|
|
<Field>
|
|
<Label htmlFor="username-1">{t.username}</Label>
|
|
<Input id="username-1" name="username" defaultValue="@peduarte" />
|
|
</Field>
|
|
</FieldGroup>
|
|
<DialogFooter>
|
|
<DialogClose render={<Button variant="outline" />}>
|
|
{t.cancel}
|
|
</DialogClose>
|
|
<Button type="submit">{t.saveChanges}</Button>
|
|
</DialogFooter>
|
|
</DialogContent>
|
|
</form>
|
|
</Dialog>
|
|
)
|
|
}
|