LOGIN PAGE
π₯️Ngoding LoginPage Kekinian di ZappRunπ
Halo gengs! Kali ini gue mau sharing gimana cara bikin login page kece di Flutter lewat ZappRun.
Buat lo yang suka coding tapi pengen hasil cepet tanpa ribet, ZappRun tuh kayak sahabat sejati — tinggal tulis kode, klik run, dan langsung keliatan hasilnya. π₯
Contoh nya:
π§© Struktur Kodenya
Jadi di project ini kita bikin Login & Register Page dalam satu tampilan. Caranya pake TabBar & TabBarView biar gampang switch antara tab Login ↔ Register.
Kode utama ada di class AuthPage dengan beberapa widget pendukung.
⚡ Penjelasan Function & Bagian Penting
1. main() & MyLoginApp
void main() {
runApp(const MyLoginApp());
}
π Ini basically pintu masuk aplikasi. MyLoginApp adalah widget utama yang manggil AuthPage.
Ibaratnya kayak opening gate sebelum masuk ke dunia coding lo. πͺ
2. AuthPage + TabController
late TabController _tabController;
π Fungsi ini biar kita bisa pindah tab antara Login dan Register.
Bayangin aja kayak lagi geser story Instagram π², cuma bedanya ini geser form.
3. TextField Input
TextField(
decoration: InputDecoration(
prefixIcon: Icon(Icons.email_outlined),
labelText: "Email Address",
),
)
π Ini bagian tempat user ngetik email atau password.
prefixIcon itu biar ada icon kece di sebelah kiri input — bikin vibes UI lebih modern ✨.
4. Password dengan Visibility Toggle
obscureText: obscurePassword,
suffixIcon: IconButton(
icon: Icon(
obscurePassword ? Icons.visibility_off : Icons.visibility,
),
onPressed: () {
setState(() {
obscurePassword = !obscurePassword;
});
},
),
π Fitur ini bikin password bisa disembunyiin atau diliatin.
Kalo lagi di tempat rame, tinggal klik icon “mata” biar password lo ga diintip bocil sebelah π.
5. Remember Me & Forgot Password
Row(
children: [
Checkbox(
value: rememberMe,
onChanged: (value) {
setState(() {
rememberMe = value ?? false;
});
},
),
Text("Remember me"),
],
),
TextButton(
onPressed: _showForgotPasswordDialog,
child: Text("Forgot Password?"),
),
π “Remember me” itu biar akun lo ke-save otomatis.
π Sedangkan tombol Forgot Password? bakal munculin popup buat reset password.
Jadi kalo lo tipe orang yang suka lupa password (kayak gue π
), fitur ini bakal nyelametin lo.
6. Forgot Password Dialog Function
void _showForgotPasswordDialog() {
showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: Text("Forgot Password"),
content: TextField(...),
actions: [
TextButton(onPressed: () {}, child: Text("Cancel")),
ElevatedButton(onPressed: () {}, child: Text("Send Reset Link")),
],
);
},
);
}
π Ini fitur keren: pas lo klik Forgot Password, bakal muncul popup dialog buat masukin email.
Tinggal isi email, klik Send Reset Link, dan boom! ✉️ reset link dikirim (sementara dummy function, bisa dihubungin ke Firebase biar beneran works).
7. Login & Register Button
ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: Colors.teal.shade300,
),
onPressed: () {},
child: Text("Login"),
),
π Ini tombol utama buat action login atau register.
Bisa di-custom ke backend lo (API / Firebase). Untuk sekarang, tombolnya baru buat UI aja.
8. Login with Google & Facebook
ElevatedButton.icon(
onPressed: () {},
icon: Icon(Icons.g_mobiledata),
label: Text("Google"),
),
π Fitur tambahan biar user bisa login via Google / Facebook.
Aesthetic + lebih gampang, ga perlu ribet isi form lagi. ✨
π§© Struktur di Login Page (yang kita buat sebelumnya)
-
Text π
-
Ada banget, contohnya buat judul “Login” dan tulisan kecil kayak “Belum punya akun?”.
-
Dipake dengan widget
Text().
-
-
Input (TextField) ⌨️
-
Ada 2: satu buat Email, satu buat Password.
-
Pakai
TextFielddengandecorationbiar ada placeholder/ikon.
-
-
Button π±️
-
Ada Login Button (pakai
ElevatedButton). -
Ada juga tombol kecil Forgot Password? (pakai
TextButton). -
Di halaman register kemarin juga ada tombol Register.
-
-
Submit ✅
-
Tidak ada widget bernama “submit”, tapi Login Button itu udah berfungsi sebagai tombol submit.
-
Jadi pas dipencet → jalankan function login.
-
-
Card π³
-
Kalau di desain yang kita buat, form login + input dibungkus dalam Card biar keliatan rapi.
-
Jadi iya, di dalamnya ada
Card().
-
-
List π
-
Nggak ada ListView di login page (karena ini form, bukan daftar item).
-
Tapi kalau mau bikin daftar error/daftar akun, bisa pake
ListView.
-
-
Insert ➕
-
Di login page belum ada insert data ke database.
-
Insert biasanya ada di Register Page (ketika user nambah akun baru).
π― Kesimpulan
Dengan ZappRun + Flutter, lo bisa bikin login page kece, modern, dan full fitur cuma dengan beberapa baris kode.
-
Bisa login/register dalam satu halaman ✅
-
Password ada toggle mata biar aman ✅
-
Ada “Remember me” ✅
-
Forgot password dengan popup dialog ✅
-
Login via Google & Facebook ✅
Coding sekarang tuh ga harus ribet, tinggal mix n match widget + kreativitas lo.
Asik kan? π―

Komentar
Posting Komentar