Asset-Borrowing-App / lib / Project / NavigationBar.dart
NavigationBar.dart
Raw
// ignore_for_file: file_names

import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter_application_1/Project/ProfilePage/my_profile.dart';
import 'package:flutter_application_1/Project/Search/Search.dart';
import 'package:flutter_application_1/Project/utils/colors.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';

import 'Borrow History/record_project.dart';
import 'HomePage/home_display_screen.dart';

class MyBottomNavigationBar extends StatefulWidget {
  final int getIndex;
  const MyBottomNavigationBar({super.key, required this.getIndex});

  @override
  // ignore: library_private_types_in_public_api
  _MyBottomNavigationBarState createState() => _MyBottomNavigationBarState();
}

class _MyBottomNavigationBarState extends State<MyBottomNavigationBar> {
  late int _currentIndex = 0;
  final user = FirebaseAuth.instance.currentUser!;

  final List<Widget> _pages = <Widget>[
    HomeDisplayScreen(),
    Search(),
    RecordProject(),
    ProfileProject(),
  ];

  @override
  void initState() {
    super.initState();
    _currentIndex = widget.getIndex;
  }

  void onTappedBar(int index) {
    setState(() {
      _currentIndex = index;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: _pages[_currentIndex],
        bottomNavigationBar: Theme(
          data: ThemeData(
            canvasColor: Color.fromARGB(255, 0, 0, 0),
          ),
          child: BottomNavigationBar(
            selectedItemColor: kGreenLightColor,
            unselectedItemColor: kGrayColor,
            selectedLabelStyle: const TextStyle(fontWeight: FontWeight.bold),
            onTap: onTappedBar,
            currentIndex: _currentIndex,
            items: const [
              BottomNavigationBarItem(
                icon: Icon(Icons.home),
                label: 'Home',
              ),
              BottomNavigationBarItem(
                icon: Icon(Icons.search_sharp),
                label: 'Search',
              ),
              BottomNavigationBarItem(
                icon: Icon(Icons.archive_outlined),
                label: 'Borrow',
              ),
              BottomNavigationBarItem(
                icon: Icon(Icons.person),
                label: 'Profile',
              ),
            ],
          ),
        ));
  }
}