Ön uç bileşenlerinin kullanılabileceği yerler
Ön uç bileşenler, Twenty içinde iki konumda işlenebilir:- Yan panel — Headless olmayan ön uç bileşenler, sağ taraftaki yan panelde açılır. Bir ön uç bileşeni komut menüsünden tetiklendiğinde varsayılan davranış budur.
- Widget’lar (panolar ve kayıt sayfaları) — Ön uç bileşenler, sayfa düzenlerine widget olarak gömülebilir. Bir pano veya kayıt sayfası düzeni yapılandırılırken kullanıcılar bir ön uç bileşen widget’ı ekleyebilir.
Basit örnek
Bir ön uç bileşenini çalışırken görmenin en hızlı yolu, onu bir komut olarak kaydetmektir.isPinned: true ile bir command alanı eklemek, sayfanın sağ üst köşesinde hızlı işlem düğmesi olarak görünmesini sağlar — herhangi bir sayfa düzenine gerek yoktur:
src/front-components/hello-world.tsx
yarn twenty dev ile senkronize ettikten sonra (veya tek seferlik bir yarn twenty dev --once çalıştırdıktan sonra), hızlı işlem sayfanın sağ üst köşesinde görünür:

Yapılandırma alanları
Bir ön uç bileşenini bir sayfaya yerleştirme
Komutların ötesinde, bir ön uç bileşenini bir sayfa düzeninde widget olarak ekleyerek doğrudan bir kayıt sayfasına gömebilirsiniz. Ayrıntılar için definePageLayout bölümüne bakın.Headless ve headless olmayan
Ön uç bileşenler,isHeadless seçeneğiyle kontrol edilen iki işleme kipiyle gelir:
Headless olmayan (varsayılan) — Bileşen görünür bir kullanıcı arayüzü (UI) oluşturur. Komut menüsünden tetiklendiğinde yan panelde açılır. isHeadless false olduğunda veya belirtilmediğinde bu varsayılan davranıştır.
Headless (isHeadless: true) — Bileşen arka planda görünmez şekilde bağlanır. Yan paneli açmaz. Headless bileşenler, mantığı çalıştırıp ardından kendilerini kaldıran eylemler için tasarlanmıştır — örneğin, bir async görevi çalıştırma, bir sayfaya gitme veya bir onay modalı gösterme. Aşağıda açıklanan SDK Command bileşenleriyle doğal olarak eşleşirler.
src/front-components/sync-tracker.tsx
null döndürdüğü için, Twenty bunun için bir kapsayıcı oluşturmayı atlar — düzende boş alan görünmez. Bileşen yine de tüm hook’lara ve host iletişim API’sine erişime sahiptir.
SDK Command bileşenleri
twenty-sdk paketi, headless ön bileşenler için tasarlanmış dört Command yardımcı bileşeni sağlar. Her bileşen bağlandığında bir eylem yürütür, hataları bir snackbar bildirimi göstererek ele alır ve tamamlandığında ön bileşeni otomatik olarak kaldırır.
Bunları twenty-sdk/command içinden içe aktarın:
Command—executeprop’u aracılığıyla async bir geri çağrıyı çalıştırır.CommandLink— Bir uygulama yoluna gider. Props:to,params,queryParams,options.CommandModal— Bir onay modalı açar. Kullanıcı onaylarsaexecutegeri çağrısını yürütür. Props:title,subtitle,execute,confirmButtonText,confirmButtonAccent.CommandOpenSidePanelPage— Belirli bir yan panel sayfasını açar. Props:page,pageTitle,pageIcon.
Command kullanarak komut menüsünden bir eylem çalıştıran headless bir ön bileşenin tam örneği:
src/front-components/run-action.tsx
CommandModal kullanan bir örnek:
src/front-components/delete-draft.tsx
Çalışma zamanı bağlamına erişme
Bileşeninizin içinde, geçerli kullanıcıya, kayda ve bileşen örneğine erişmek için SDK hook’larını kullanın:src/front-components/record-info.tsx
Host iletişim API’si
Ön uç bileşenleri,twenty-sdk’deki işlevleri kullanarak gezinmeyi, modalları ve bildirimleri tetikleyebilir:
Bir eylem tamamlandıktan sonra bir snackbar göstermek ve yan paneli kapatmak için host API’sini kullanan bir örnek:
src/front-components/archive-record.tsx
Komut seçenekleri
defineFrontComponent içine bir command alanı eklemek, bileşeni komut menüsüne (Cmd+K) kaydeder. isPinned true ise, sayfanın sağ üst köşesinde bir hızlı işlem düğmesi olarak da görünür.
Koşullu kullanılabilirlik ifadeleri
conditionalAvailabilityExpression alanı, geçerli sayfa bağlamına göre bir komutun ne zaman görünür olacağını kontrol etmenizi sağlar. İfadeler oluşturmak için twenty-sdk’den türlendirilmiş değişkenleri ve operatörleri içe aktarın:
Operatörler — değişkenleri boolean ifadelere dönüştürmek için birleştirin:
Genel varlıklar
Ön uç bileşenleri,getPublicAssetUrl kullanarak uygulamanın public/ dizinindeki dosyalara erişebilir:
Stil
Ön uç bileşenleri birden fazla biçimlendirme yaklaşımını destekler. Şunları kullanabilirsiniz:- Satır içi stiller —
style={{ color: 'red' }} - Twenty UI bileşenleri —
twenty-sdk/uiiçinden içe aktarın (Button, Tag, Status, Chip, Avatar ve daha fazlası) - Emotion —
@emotion/reactile CSS-in-JS - Styled-components —
styled.divkalıpları - Tailwind CSS — yardımcı sınıflar
- React ile uyumlu herhangi bir CSS-in-JS kitaplığı