import 'package:flutter/material.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: 'Fire Wallet', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, ), home: const MyHomePage(), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({super.key}); @override State createState() => _MyHomePageState(); } class _MyHomePageState extends State { int currentPageIndex = 0; @override Widget build(BuildContext context) { final ThemeData theme = Theme.of(context); return Scaffold( bottomNavigationBar: NavigationBar( onDestinationSelected: (int index) { setState(() { currentPageIndex = index; }); }, selectedIndex: currentPageIndex, destinations: const [ NavigationDestination( selectedIcon: Icon(Icons.home), icon: Icon(Icons.home_outlined), label: 'Home', ), NavigationDestination( icon: Icon(Icons.text_format_rounded), label: 'Domains', ), NavigationDestination( icon: Icon(Icons.receipt), label: 'Transactions', ), ], ), body: [ /// Home page Card( shadowColor: Colors.transparent, margin: const EdgeInsets.all(8.0), child: SizedBox.expand( child: Center( child: Text( 'Home page', style: theme.textTheme.titleLarge, ), ), ), ), /// Notifications page const Padding( padding: EdgeInsets.all(8.0), child: Column( children: [ Card( child: ListTile( leading: Icon(Icons.notifications_sharp), title: Text('Notification 1'), subtitle: Text('This is a notification'), ), ), Card( child: ListTile( leading: Icon(Icons.notifications_sharp), title: Text('Notification 2'), subtitle: Text('This is a notification'), ), ), ], ), ), /// Messages page ListView.builder( reverse: true, itemCount: 2, itemBuilder: (BuildContext context, int index) { if (index == 0) { return Align( alignment: Alignment.centerRight, child: Container( margin: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0), decoration: BoxDecoration( color: theme.colorScheme.primary, borderRadius: BorderRadius.circular(8.0), ), child: Text( 'Hello', style: theme.textTheme.bodyLarge! .copyWith(color: theme.colorScheme.onPrimary), ), ), ); } return Align( alignment: Alignment.centerLeft, child: Container( margin: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0), decoration: BoxDecoration( color: theme.colorScheme.primary, borderRadius: BorderRadius.circular(8.0), ), child: Text( 'Hi!', style: theme.textTheme.bodyLarge! .copyWith(color: theme.colorScheme.onPrimary), ), ), ); }, ), ][currentPageIndex], ); } }