import 'package:flutter/material.dart'; import 'pages/now_playing_page.dart'; import 'pages/library_page.dart'; import 'pages/settings_page.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'SleepySound', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), ), home: const MyHomePage(title: 'Now Playing'), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({super.key, required this.title}); final String title; @override State createState() => _MyHomePageState(); } class _MyHomePageState extends State { int _selectedIndex = 0; void _onItemTapped(int index) { setState(() { _selectedIndex = index; }); } Widget _getSelectedPage() { switch (_selectedIndex) { case 0: return const NowPlayingPage(); case 1: return const LibraryPage(); case 2: return const SettingsPage(); default: return const NowPlayingPage(); } } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Theme.of(context).colorScheme.inversePrimary, title: Text(_getPageTitle()), ), body: _getSelectedPage(), bottomNavigationBar: BottomNavigationBar( items: const [ BottomNavigationBarItem( icon: Icon(Icons.play_circle_filled), label: 'Now Playing', ), BottomNavigationBarItem( icon: Icon(Icons.library_music), label: 'Voting', ), BottomNavigationBarItem( icon: Icon(Icons.group), label: 'Group', ), ], currentIndex: _selectedIndex, selectedItemColor: Colors.deepPurple, onTap: _onItemTapped, ), ); } String _getPageTitle() { switch (_selectedIndex) { case 0: return 'Now Playing'; case 1: return 'Voting'; case 2: return 'Group'; default: return 'Now Playing'; } } }