import 'package:faucethub/Backend/DebugHelper.dart'; import 'package:faucethub/Backend/brains.dart'; import 'package:faucethub/Backend/hoarder.dart'; import 'package:faucethub/Backend/login_mgr.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @override State createState() => _HomePageState(); } int selectedBotNavIndex = 0; class _HomePageState extends State { static List bodyOptions = [ HomeWidget(), GamesWidget(), Text("Money!") ]; static Widget HomeWidget() { final ScrollController _firstController = ScrollController(); return SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ Container( padding: EdgeInsets.all(10), child: Text("Welcome ${Brain.UserJson['name']},", style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold)), ), SizedBox( height: 20, ), HomeCard(child: Container(padding:EdgeInsets.symmetric(vertical: 50),child: Text("\$6.90", style: TextStyle(fontSize: 50),),), title: "Earnings"), HomeCard(title:"Featured Games",child: SizedBox( height: 110, child: Scrollbar( thumbVisibility: true, controller: _firstController, child: ListView.builder( scrollDirection: Axis.horizontal, controller: _firstController, itemCount: Hoarder.FeaturedGames.length, itemBuilder: (BuildContext context, int index) { Debug.Log(Hoarder.FeaturedGames[index]); return InkWell( onTap: (){}, child: Card( child: ClipRRect( borderRadius: BorderRadius.circular(12), child: Image.network(Hoarder.FeaturedGames[index]['icon'], width: 100, height: 100), ), ), ); }), ), ), ), HomeCard(child: SizedBox(height: 250,), title: "Top Players"), ], ), ); } static Widget GamesWidget(){ final ScrollController scrollController = ScrollController(); return Container( child: SingleChildScrollView( physics: ScrollPhysics(), child: Column( children: [ Text("Linked", style: TextStyle(fontSize: 20,fontWeight: FontWeight.bold),), ListView.builder( physics: NeverScrollableScrollPhysics(), shrinkWrap: true, controller: scrollController, itemCount: Hoarder.GamesJson.length, itemBuilder: (BuildContext context, int index) { Debug.Log(Hoarder.GamesJson[index]); return InkWell( onTap: (){}, child: ListTile( leading: Image.network(Hoarder.GamesJson[index]['icon'], width: 25, height: 25), title: Text(Hoarder.GamesJson[index]['name']), ), ); }) ], ), ), ); } @override Widget build(BuildContext context) { return SafeArea( child: Scaffold( // appBar: AppBar(title: Text('Faucet Hub'),), body: bodyOptions.elementAt(selectedBotNavIndex), bottomNavigationBar: BottomNavigationBar( items: const [ BottomNavigationBarItem(icon: Icon(Icons.home), label: "Home"), BottomNavigationBarItem( icon: Icon(Icons.videogame_asset), label: "Games"), BottomNavigationBarItem( icon: Icon(Icons.account_balance_wallet), label: "Wallet"), ], currentIndex: selectedBotNavIndex, onTap: onBotNavTapped, )), ); } static Widget HomeCard({required Widget child, required String title}) { return Padding( padding: const EdgeInsets.all(8.0), child: Card( child: Container( padding: EdgeInsets.symmetric(horizontal: 5, vertical: 10), child: Column(children: [ Padding( padding: const EdgeInsets.fromLTRB(8, 0, 8, 8), child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( title, style: TextStyle(fontSize: 17,fontWeight: FontWeight.bold), ), InkWell(child: Icon(Icons.arrow_right_alt), onTap: (){ },) ], ), ), child ])))); } void onBotNavTapped(int value) { selectedBotNavIndex = value; setState(() {}); } }