Görünüm
Bir yapay zeka ürününün ayarlarındaki Görünüm bölümü: tema, vurgu rengi, arka plan tonu, yoğunluk, sohbet yazı tipi, metin boyutları ve erişilebilirlik seçenekleri; kullanıcılar kaydedene kadar hepsi taslak olarak tutulur.
Appearance, uygulamanın görünümüyle ilgili her şeyi tek bir bölümde toplar. Tema kartları her temada, seçtiğiniz vurgu renginde çizilmiş küçük bir pencere gösterir; böylece seçim kaydetmeden önce nettir.
System cihazı izler ve şu anda hangisinin olduğunu söyler. High contrast kenarları ve metni güçlendirir, arka planları nötr tutar; bu yüzden seçiliyken ton kaydırıcısı devre dışı kalır.
Vurgu tonu, altında sekiz hızlı seçimi olan gerçek bir renk çubuğudur ve gösterge rengi Blue 250° gibi adlandırır. Background tint, vurguyu yüzeylere karıştırır. Yoğunluk ve sohbet yazı tipi kartları her seçeneğin bir örneğini gösterir; iki metin boyutu ise sınırları olan artırıp azaltma alanlarıdır.
Reduce motion ve Reduce transparency, cihaz zaten birini istiyorsa bunu belirtir.
Kaydedilene kadar her şey taslaktır. Settings'teki kaydetme çubuğu bir şey farklılaşır farklılaşmaz yükselir, Discard kaydedilmiş görünümü geri getirir ve Reset her seçeneği hâlâ vazgeçebileceğiniz bir taslak olarak varsayılana döndürür.
Pro registry'yi components.json dosyasına ekleyin
components.json Token'ınızı ekleyin
Hesap sayfanızda bir token oluşturun ve
.env.localdosyasınaHEXTAUI_PRO_TOKENolarak ekleyin.Bloğu ekleyin
pnpm dlx shadcn@latest add @hextaui-pro/appearance
API'nize kaydedin
Kaydedilen değerleri ve asenkron bir onSave iletin. Biri çubukta Save'e basana kadar hiçbir şey gönderilmez. Mesajınızı çubukta göstermek ve seçimleri korumak için hata fırlatın.
Kaydedilen görünümü uygula
Kaydedildikten sonra değerleri uygulamanıza, kendi temalandırma yönteminizle uygulayın. normalizeAppearance eski bir sürümün sakladığı her şeyi onarır; böylece hatalı bir değer sayfayı asla bozmaz.
Yapı
Dıştan içe doğru birleştirdiğiniz parçalar.
| Parça | Açıklama |
|---|---|
AppearanceSettings | Bölümün içeriği: seçenek grupları, kabuğun kaydetme çubuğuna bağlı. |
normalizeAppearance | Saklanmış ya da kısmi değerleri geçerli olanlara çevirir: boyutları sınırlar, tonu sarar ve bilinmeyen adlar için varsayılana döner. |
appearanceDefaults | Kendi değerlerinizi iletmediğinizde Reset'in döndüğü değerler. |
AppearanceSettings
SettingsSection içinde kullanın. Ayrıca her div prop'unu kabul eder.
| Prop | Tür | Varsayılan |
|---|---|---|
valuesŞu an kayıtlı olanlar: { theme, hue, intensity, density, chatFont, interfaceSize, codeSize, reduceMotion, reduceTransparency }. Geçersiz değerler onarılır ve onarım kaydedilmemiş bir değişiklik sayılmaz. | AppearanceValues | – |
onSaveTaslağı kaydeder. Mesajı kaydetme çubuğunda göstermek ve taslağı korumak için hata fırlatın. | (values) => void | errors | Promise<void | errors> | – |
defaultsReset'in geri koyduğu değerler. | AppearanceValues | appearanceDefaults |
| Prop | Tür | Varsayılan |
|---|---|---|
themeSystem, prefers-color-scheme değerini izler. | "system" | "light" | "dark" | "contrast" | "system" |
hueVurgunun OKLCH tonu, 0 ile 359 arası. | number | 250 |
intensityVurgu renginin arka planlara ne kadar ton verdiği, 0 ile 100 arası. | number | 30 |
densityMesajlar arasındaki ve içindeki boşluk. | "compact" | "comfortable" | "comfortable" |
chatFontMesajlar için yazı tipi. | "sans" | "serif" | "mono" | "sans" |
interfaceSizePiksel cinsinden metin boyutu, 12 ile 18 arası. | number | 14 |
codeSizePiksel cinsinden kod boyutu, 11 ile 20 arası. | number | 13 |
reduceMotionSpinner'ları ve kayan panelleri durdurur. | boolean | false |
reduceTransparencyBulanık yerine düz arka planlar. | boolean | false |
| Tuş | Action |
|---|---|
| ←→ | Tema, yoğunluk ya da yazı tipi kartlarında önceki veya sonraki kartı seçer. Ton çubuğunda bir derece hareket eder. |
| Shift→ | Ton çubuğunda 15 derece hareket eder. Page Up ve Page Down aynısını yapar. |
| HomeEnd | Ton çubuğunda iki uca da atlar. |
| ↑↓ | Bir metin boyutu alanında boyutu bir piksel değiştirir. |
| ⌘S | Kaydedilmemiş bir şey varken kaydeder. Windows ve Linux'ta Ctrl+S. |
- Her kart grubu, satırının adını taşıyan bir radio group'tur ve her kart kendi etiketiyle adlandırılır; böylece ekran okuyucular "Dark, radio, 3 of 4" duyar.
- Ton çubuğu rengini "Blue, 250 degrees" gibi adıyla okur ve hızlı seçimler renge göre adlandırılmış toggle düğmeleridir.
- Reset çalıştıktan sonra odağı korur ve varsayılanların geri geldiğini ve kaydedilmesi gerektiğini duyurur.
Şunlarla geliştirildi
Appearance bloğunun yapıldığı ücretsiz HextaUI bileşenleri. Her biri tek başına yüklenir.
Kod
2 dosya, components/blocks/appearance konumuna eklendi.