Cara Keren Connect Wallet di Next.js Pakai Sui dan Suiet Wallet Kit [PART 2] π
π οΈ Konfigurasi _app.js & Build Homepage di Next.js π
Oke, sekarang kita masuk ke tahap selanjutnya! Udah setup project dan install dependensinya? Keren! Sekarang kita bakal konfigurasi file _app.js biar aplikasi kita siap buat Wallet Connect, terus langsung bikin homepage-nya. π¨
3οΈβ£ Konfigurasi _app.js π
File _app.js ini fungsinya buat bungkus semua komponen di app kamu dengan global provider. Di sini, kita tambahin WalletProvider dari @suiet/wallet-kit. Ikuti langkah berikut:
- Buka file:
src/pages/_app.js. - Ganti isinya dengan kode ini:
import { WalletProvider } from "@suiet/wallet-kit";
import "@suiet/wallet-kit/style.css";
import "@/styles/globals.css";
export default function App({ Component, pageProps }) {
return (
<WalletProvider>
<Component {...pageProps} />
</WalletProvider>
);
}π‘οΈ Penjelasan singkat:
WalletProvider: Bikin semua komponen bisa akses state wallet.- Style import: Jangan lupa load style bawaan dari
@suiet/wallet-kit.
4οΈβ£ Build Homepage π
Waktunya bikin tampilan homepage! Di sini, kita tambahin tombol Connect Wallet dan tampilin data wallet user kalau mereka udah connect. π
- Buka file:
src/pages/index.js. - Ganti isinya dengan kode ini:
import { addressEllipsis, ConnectButton, useWallet } from "@suiet/wallet-kit";
import Head from "next/head";
export default function Home() {
const wallet = useWallet();
return (
<>
<div className="flex justify-center items-center w-full min-h-screen">
{wallet.connected ? (
<div className="text-center">
<div className="text-2xl">{addressEllipsis(wallet.address)}</div>
<div>
Status: <span className="text-green-500">{wallet.status}</span>
</div>
<button
className="mt-5 bg-red-600 text-white px-4 py-2 rounded-lg text-base"
onClick={() => wallet.disconnect()}
>
Disconnect
</button>
</div>
) : (
<ConnectButton />
)}
</div>
<Head>
<title>Next.js - Sui Wallet Connect</title>
</Head>
</>
);
}π Penjelasan Kodenya
useWalletHook: Akses state wallet kayakconnected,address, samastatus.ConnectButton: Komponen bawaan buat tombol connect wallet.- Conditional Rendering: Kalau wallet-nya connect, tampilkan:
- Alamat wallet (dengan format pendek).
- Status koneksi.
- Tombol Disconnect.
Kalau belum connect? Tampil tombol Connect Wallet aja.
5οΈβ£ Test Aplikasi β‘
Sekarang, jalanin server development:
npm run devTerus buka http://localhost:3000 di browser.
π» Hasil Akhir
- Sebelum Connect
Muncul tombol βConnect Walletβ. - Setelah Connect
- Tampil alamat wallet (dengan ellipsis biar pendek).
- Status: Connected atau sesuai state wallet kamu.
- Tombol βDisconnectβ buat putusin koneksi.
π Woohoo, Udah Jadi!
Congrats, kamu berhasil bikin fitur Wallet Connect di Next.js pakai Sui dan Suiet Wallet Kit. Tinggal eksplorasi lebih jauh buat tambahin fitur lain kayak kirim token, cek saldo, atau transaksi. Semangat coding πβ¨
