git / moonbite-network / mobile/lib/screens/home_screen.dart · raw
import 'package:flutter/material.dart';import 'package:provider/provider.dart';import '../wallet/wallet_controller.dart';import 'blockchain_screen.dart';import 'send_screen.dart';import 'wallet_screen.dart';/// Main shell once a wallet exists. Three tabs: receive (Wallet), Send, and/// chain status (Chain). Mining was removed — a phone can't meaningfully do/// scrypt PoW, and the wallet is non-custodial.class HomeScreen extends StatefulWidget { const HomeScreen({super.key}); @override State<HomeScreen> createState() => _HomeScreenState();}class _HomeScreenState extends State<HomeScreen> { int _index = 0; static const _tabs = [WalletScreen(), SendScreen(), BlockchainScreen()]; @override void initState() { super.initState(); // Kick off an initial balance/status load. WidgetsBinding.instance.addPostFrameCallback( (_) => context.read<WalletController>().refresh(), ); } @override Widget build(BuildContext context) { return Scaffold( body: IndexedStack(index: _index, children: _tabs), bottomNavigationBar: BottomNavigationBar( currentIndex: _index, onTap: (i) => setState(() => _index = i), items: const [ BottomNavigationBarItem( icon: Icon(Icons.account_balance_wallet), label: 'Wallet', ), BottomNavigationBarItem(icon: Icon(Icons.send), label: 'Send'), BottomNavigationBarItem(icon: Icon(Icons.link), label: 'Chain'), ], ), ); }}