İçeriğe atla
Oxarus
STUDIO · İNTERAKTİF TASARIM

tasarım,
kodda
biter.

Arayüzü baştan çalışan bileşenler olarak kuruyoruz; bekleme, hata ve başarı durumları dahil. Kullanıcı bastığı her şeyin karşılığını görür.

  • Tasarım doğrudan kodda
  • Her bileşenin bütün durumları
  • Ürününüzle büyüyen tasarım sistemi
CheckoutButton.tsxtokens.css

src components CheckoutButton.tsx

  1. 1export function CheckoutButton({ onPay }: Props) {
  2. 2 const t = useTranslations("checkout");
  3. 3 const [status, setStatus] = useState<Status>("idle");
  4. 4
  5. 5 return (
  6. 6 <motion.button
  7. 7 whileTap={{ scale: 0.96 }}
  8. 8 transition={SPRING_PRESS}
  9. 9 className="h-12 gap-2 rounded-2xl px-6"
  10. 10 disabled={status === "processing"}
  11. 11 onClick={() => submitPayment(onPay, setStatus)}
  12. 12 >
  13. 13 {status === "processing" && <Spinner />}
  14. 14 {t(status === "success" ? "paid" : "pay")}
  15. 15 </motion.button>
  16. 16 );
  17. 17}
  18. 18// Spacing tokens: card 24, inset 16, button height 48.
  19. 19const SPRING_PRESS: Transition = {
  20. 20 type: "spring", stiffness: 420, damping: 26,
  21. 21};

TERMINALPROBLEMSOUTPUT

PASSCheckoutButton.test.tsx·6 passedidle, processing, success, keyboard

Önizlemeidleprocessingsuccess

Kablosuz kulaklıkGece mavisi₺4.990
Ara toplam
₺4.990
Kargo
Ücretsiz
Toplam
₺4.990
Ödemeyi tamamla241648

Boşluk ölçüleritokens.css

  • space.card24
  • space.inset16
  • size.control48
feat/checkout-button0 problemsLn 18, 2 lines selectedTypeScript JSXPrettier
Temsili editör ve önizleme.
ÇizimKodHareket
OYUN ALANI

dokunun,
hissedin.

Aşağıdaki altı parça gerçekten çalışıyor: üzerine gelin, basın, sürükleyin. Kullanıcı bir ürünün özenle yapıldığını çoğu zaman bu küçük anlarda fark eder.

01Mıknatıs buton

İmleci yaklaştırın

useSpring(260, 18)

02Anahtar

Tıklayın

Bildirimler açık

role="switch" · spring(600, 32)

03Beğeni

Kalbe basın
128Beğen

keyframes [1, 1.35, 0.9, 1]

04Sürükle, sırala

Satırları taşıyın
  • Tasarım incelemesi1
  • Müşteri görüşmesi2
  • Sürüm notları3
  • Haftalık rapor4

Reorder.Group · ↑ ↓ keys

05Kaydırıcı

Sürükleyin
12kişi

role="slider" · ← → keys

06Kopyala

Tıklayın

Davet kodunuz

navigator.clipboard

HİS

aynı
buton,
iki
his.

İki sahnede de aynı sepete ekle butonu var. Solda hareket hiç ayarlanmamış, sağda ayarlanmış. Butonlara basın, değerleri değiştirin, farkı görün.

AyarsızBir karede beliriyor

transition: none
Kablosuz kulaklıkGece mavisi · ₺4.990
Sepete eklendiKablosuz kulaklık · ₺4.990
// toast.show({ animate: false })// opacity: 0 → 1 in a single frame

Kare karems

Hareket eğrisiduration: 0

Taşma%0
Oturma süresi0 ms

AyarlanmışYaklaşıp yerine oturuyor

transition: spring
Kablosuz kulaklıkGece mavisi · ₺4.990
Sepete eklendiKablosuz kulaklık · ₺4.990

Kare karems

Hareket eğrisispring(320, 18)

Taşma%15
Oturma süresi567 ms
TASARIM SİSTEMİ

bir
kez
karar
verin,
her
yerde
geçerli
olsun.

Renk, köşe ve yoğunluk birer değişken. Birini değiştirdiğinizde bütün ürün aynı anda güncellenir. Soldan seçin, sağda izleyin.

Vurgu rengiMor

Köşeler

Yoğunluk

tokens.css
:root {  --color-accent: #6165ed;  --color-accent-hover: #5559d1;  --color-accent-subtle: #6165ed1f;  --color-on-accent: #ffffff;  --radius-md: 12px;  --space-inset: 16px;  --control-height: 48px;  --row-height: 42px;}

TASARIM

ürününüz
de
böyle
hissettirsin.

Mevcut arayüzünüzü ya da yeni fikrinizi anlatın. Nereden başlayacağımızı birlikte belirleyelim.

info@oxarus.com