mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-27 06:34:12 +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
100 lines
2.7 KiB
TypeScript
100 lines
2.7 KiB
TypeScript
"use client"
|
|
|
|
import { Button } from "@/examples/base/ui-rtl/button"
|
|
import { Field, FieldGroup, FieldLabel } from "@/examples/base/ui-rtl/field"
|
|
import { Input } from "@/examples/base/ui-rtl/input"
|
|
import {
|
|
Sheet,
|
|
SheetClose,
|
|
SheetContent,
|
|
SheetDescription,
|
|
SheetFooter,
|
|
SheetHeader,
|
|
SheetTitle,
|
|
SheetTrigger,
|
|
} from "@/examples/base/ui-rtl/sheet"
|
|
|
|
import {
|
|
useTranslation,
|
|
type Translations,
|
|
} from "@/components/language-selector"
|
|
|
|
const translations: Translations = {
|
|
en: {
|
|
dir: "ltr",
|
|
values: {
|
|
open: "Open",
|
|
editProfile: "Edit profile",
|
|
description:
|
|
"Make changes to your profile here. Click save when you're done.",
|
|
name: "Name",
|
|
username: "Username",
|
|
save: "Save changes",
|
|
close: "Close",
|
|
},
|
|
},
|
|
ar: {
|
|
dir: "rtl",
|
|
values: {
|
|
open: "فتح",
|
|
editProfile: "تعديل الملف الشخصي",
|
|
description:
|
|
"قم بإجراء تغييرات على ملفك الشخصي هنا. انقر حفظ عند الانتهاء.",
|
|
name: "الاسم",
|
|
username: "اسم المستخدم",
|
|
save: "حفظ التغييرات",
|
|
close: "إغلاق",
|
|
},
|
|
},
|
|
he: {
|
|
dir: "rtl",
|
|
values: {
|
|
open: "פתח",
|
|
editProfile: "עריכת פרופיל",
|
|
description: "בצע שינויים בפרופיל שלך כאן. לחץ שמור כשתסיים.",
|
|
name: "שם",
|
|
username: "שם משתמש",
|
|
save: "שמור שינויים",
|
|
close: "סגור",
|
|
},
|
|
},
|
|
}
|
|
|
|
export function SheetRtl() {
|
|
const { dir, t, language } = useTranslation(translations, "ar")
|
|
|
|
return (
|
|
<Sheet>
|
|
<SheetTrigger render={<Button variant="outline" />}>
|
|
{t.open}
|
|
</SheetTrigger>
|
|
<SheetContent
|
|
dir={dir}
|
|
side={dir === "rtl" ? "left" : "right"}
|
|
data-lang={dir === "rtl" ? language : undefined}
|
|
>
|
|
<SheetHeader>
|
|
<SheetTitle>{t.editProfile}</SheetTitle>
|
|
<SheetDescription>{t.description}</SheetDescription>
|
|
</SheetHeader>
|
|
<FieldGroup className="px-4">
|
|
<Field>
|
|
<FieldLabel htmlFor="sheet-rtl-name">{t.name}</FieldLabel>
|
|
<Input id="sheet-rtl-name" defaultValue="Pedro Duarte" />
|
|
</Field>
|
|
<Field>
|
|
<FieldLabel htmlFor="sheet-rtl-username">{t.username}</FieldLabel>
|
|
<Input id="sheet-rtl-username" defaultValue="peduarte" />
|
|
</Field>
|
|
</FieldGroup>
|
|
<SheetFooter>
|
|
<Button type="submit">{t.save}</Button>
|
|
<SheetClose render={<Button variant="outline" />}>
|
|
{t.close}
|
|
</SheetClose>
|
|
</SheetFooter>
|
|
</SheetContent>
|
|
</Sheet>
|
|
)
|
|
}
|