Seçili adres ekranda görünür; adres listeleme, ekleme ve düzenleme popup'ta yapılır. Teslimat ve fatura adresi ayrı seçilebilir.
npx virastack add checkout-addressKaydet düğmesi DummyJSON'a gerçek bir istek atar; adres yalnızca bu sayfada kalır, sayfayı yenileyince kaybolur.
Komut yalnızca modülü kurar; sayfa senin kararın. Seçimlerine göre prompt ve sayfa kodu hazırlanır.
Framework
i18n
ViraStack Start projeme checkout-address modülünü ekle.
1. Proje kökünde `npx virastack add checkout-address` komutunu çalıştır. Bu komut yalnızca `src/features/checkout-address` klasörünü ve paketleri kurar, sayfa oluşturmaz. Çakışma hatası alırsan hiçbir dosyayı silme, durumu bana bildir.
2. Projenin Next.js kullandığını `package.json` ve klasör yapısından doğrula. Uyuşmuyorsa dur ve bana sor.
3. `src/app/checkout-address/page.tsx` dosyasını aşağıdaki kodla oluştur. Dosya zaten varsa üzerine yazma, `CheckoutAddress` bileşenini var olan sayfaya ekle.
```tsx
import { CheckoutAddress } from "@/features/checkout-address/components/CheckoutAddress"
export default function Page() {
return (
<main className="mx-auto w-full max-w-4xl flex-1 px-4 py-6 sm:px-6">
<CheckoutAddress />
</main>
)
}
```
4. API adresimi verdiysem adresi Next.js'te `NEXT_PUBLIC_API_URL`, TanStack Start'ta `VITE_API_URL` değişkenine yaz. Yanıt biçimi farklıysa `src/features/checkout-address` içinde gereken yerleri uyarla.
5. Projenin paket yöneticisiyle `typecheck`, `test` ve `lint:ci` script'lerini çalıştır, sonucu bildir.useCheckoutAddress hook'u siparişe hazır veriyi döndürür.Yukarıdaki seçimlerine göre npx virastack add checkout-address şu dosyaları projene ekler.
Sayfa oluşturulmaz; modülü yukarıdaki adımlarla kendi sayfana eklersin.
.env.local dosyasında Next.js'te NEXT_PUBLIC_API_URL, TanStack Start'ta VITE_API_URL değerine, adres yolunu ADDRESSES_PATH değerine yaz. get-addresses.api.ts şimdilik dummy adresleri döndürür, onu isteğe çevir; save-address.api.ts dosyasını kendi API'ne göre değiştir. Sunucu tarafı doğrulama senin sorumluluğunda.npx virastack remove checkout-address ile kaldırırsın.Seçili kart ekranda görünür; kayıtlı kartlar popup'ta listelenir, yeni kart eklenir. Kart numarası ve CVV network'e çıkmaz, ödeme sağlayıcını tek noktadan bağlarsın.