import 'package:flutter/material.dart'; import '../widgets/color.dart'; import '../screen/home/beranda.dart'; import '../screen/klasifikasi/klasifikasi.dart'; import '../screen/tentang/tentang.dart'; class MainNavigation extends StatefulWidget { const MainNavigation({super.key}); @override State createState() => _MainNavigationState(); } class _MainNavigationState extends State { int _currentIndex = 0; @override Widget build(BuildContext context) { final List _pages = [ BerandaScreen(onCobaSekarang: () => setState(() => _currentIndex = 1)), const KlasifikasiScreen(), const TentangScreen(), ]; return Scaffold( extendBody: true, body: _pages[_currentIndex], // FAB Tengah (Klasifikasi) floatingActionButton: SizedBox( height: 65, width: 65, child: FloatingActionButton( // Menghilangkan bayangan saat tidak dipilih agar terlihat lebih bersih (opsional) elevation: _currentIndex == 1 ? 4 : 2, // LOGIKA: Cokelat jika dipilih, Putih polos jika tidak backgroundColor: _currentIndex == 1 ? AppColors.brownGold : AppColors.cardWhite, shape: CircleBorder( side: BorderSide( // LOGIKA: Garis muncul hanya jika _currentIndex == 1 // Jika tidak dipilih, gunakan Colors.transparent atau samakan dengan background color: _currentIndex == 1 ? AppColors.brownGold : Colors.transparent, width: 1.5, ), ), onPressed: () => setState(() => _currentIndex = 1), child: Icon( _currentIndex == 1 ? Icons .center_focus_strong_rounded // Icon penuh (Bold) : Icons.center_focus_strong_outlined, // Icon garis (Outlined) // LOGIKA: Putih jika dipilih, Cokelat jika tidak color: _currentIndex == 1 ? Colors.white : AppColors.brownGold, size: 30, ), ), ), floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, bottomNavigationBar: BottomAppBar( color: AppColors.cardWhite, shape: const CircularNotchedRectangle(), notchMargin: 8.0, elevation: 10, child: SizedBox( height: 60, child: Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ // Tombol Beranda IconButton( onPressed: () => setState(() => _currentIndex = 0), icon: Icon( _currentIndex == 0 ? Icons.home_rounded : Icons.home_outlined, size: 32, color: AppColors.brownGold, ), ), const SizedBox(width: 40), // Tombol Tentang IconButton( onPressed: () => setState(() => _currentIndex = 2), icon: Icon( _currentIndex == 2 ? Icons.info_rounded : Icons.info_outline_rounded, size: 32, color: AppColors.brownGold, ), ), ], ), ), ), ); } }