import 'package:flutter/material.dart'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; class AccountPage extends StatelessWidget { const AccountPage({super.key}); @override Widget build(BuildContext context) { final user = FirebaseAuth.instance.currentUser; return Scaffold( appBar: AppBar( title: const Text("Akun"), backgroundColor: const Color(0xff4E7C34), ), backgroundColor: const Color(0xfff3f4f6), body: FutureBuilder( future: FirebaseFirestore.instance .collection("users") .doc(user!.uid) .get(), builder: (context, snapshot) { String name = "User"; String email = user.email ?? "-"; if (snapshot.hasData && snapshot.data!.data() != null) { final data = snapshot.data!.data() as Map; name = data['name'] ?? "User"; } return Padding( padding: const EdgeInsets.all(16), child: Column( children: [ // 🔥 HEADER PROFILE Container( width: double.infinity, padding: const EdgeInsets.all(20), decoration: BoxDecoration( color: const Color(0xff4E7C34), borderRadius: BorderRadius.circular(20), ), child: Column( children: [ const CircleAvatar( radius: 40, backgroundColor: Colors.white, child: Icon( Icons.person, size: 40, color: Color(0xff4E7C34), ), ), const SizedBox(height: 12), Text( name, style: const TextStyle( color: Colors.white, fontSize: 18, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 4), Text( email, style: const TextStyle(color: Colors.white70), ), ], ), ), const SizedBox(height: 20), // 🔥 DETAIL INFO _buildItem("User ID", user.uid), _buildItem("Email", email), _buildItem("Status", "Aktif"), const SizedBox(height: 20), // 🔥 LOGOUT ElevatedButton.icon( style: ElevatedButton.styleFrom( backgroundColor: Colors.red, minimumSize: const Size.fromHeight(55), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16), ), ), icon: const Icon(Icons.logout, color: Colors.white), label: const Text( "Logout", style: TextStyle(color: Colors.white), ), onPressed: () async { await FirebaseAuth.instance.signOut(); }, ), ], ), ); }, ), ); } // 🔥 WIDGET ITEM INFO Widget _buildItem(String title, String value) { return Container( margin: const EdgeInsets.only(bottom: 12), padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14), decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(16), ), child: Row( children: [ Expanded( child: Text(title, style: const TextStyle(color: Colors.black54)), ), Text(value, style: const TextStyle(fontWeight: FontWeight.bold)), ], ), ); } }