import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/material.dart'; import 'package:rokethizmet/ekhizmetler/pages.dart'; import 'package:rokethizmet/ekhizmetler/statiksinif.dart'; import 'package:rokethizmet/pages/anasayfa/portfoy/portfoyara_page.dart';
import 'bildirim/mesajpage.dart'; import 'ilanlar/ilanlar_page.dart'; import 'profil/profil_page.dart'; import 'teklif/teklif_page.dart';
class AnaSayfaPage extends StatefulWidget { AnaSayfaPage();
static MyStatefulWidgetState myStatefulWidgetState = new MyStatefulWidgetState();
@override State<AnaSayfaPage> createState() { myStatefulWidgetState = new MyStatefulWidgetState(); return myStatefulWidgetState; } }
class MyStatefulWidgetState extends State<AnaSayfaPage> {
void _onItemTapped(int index) { setState(() { currentTabIndex = index; currentPage = pages[index]; }); }
late Widget currentPage; late List<Widget> pages; int currentTabIndex = 0; late TekliflerPage tekliflerPage; late MesajPage mesajPage; late ProfilPage profilPage; late IlanlarPage ilanlarPage; late PortFoyAraPage portFoyAraPage;
@override void initState() { super.initState();
ilanlarPage = IlanlarPage(); tekliflerPage = const TekliflerPage(); mesajPage = MesajPage(); profilPage = const ProfilPage(); portFoyAraPage = const PortFoyAraPage(); pages = [ ilanlarPage, tekliflerPage, mesajPage, portFoyAraPage, profilPage, ]; currentPage = ilanlarPage; }
Color getTextColorAyni(int index){ return currentTabIndex == index ? StatikSinif.getTextAmber() : StatikSinif.getTextColorGrey(); }
@override Widget build(BuildContext context) { final Size size = MediaQuery.of(context).size; return Scaffold( backgroundColor: Colors.red, extendBody: true, resizeToAvoidBottomInset: false, body: Stack( children: [ currentPage, Positioned( bottom: 0, left: 0, child: Container( width: size.width, height: 80, child: Stack(
children: [ Container( child: CustomPaint( size: Size(size.width, 80), painter: BNBCustomPainter(), ), ), Center( heightFactor:0.7, child: FloatingActionButton( backgroundColor: StatikSinif.getAppBar(), child: Icon( Icons.add, size: 30, color: StatikSinif.getTextColorWhite(), ), elevation: 0.1, onPressed: () { Navigator.of(context).pushNamed(Pages.ilanOlustur); }), ), Container( width: size.width, height: 80,
child: Container(
child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Container( child: Column( children: [ IconButton( icon: Icon( Icons.home, color: getTextColorAyni(0), ), onPressed: () { _onItemTapped(0); }, splashColor: Colors.white, ), Text( "İlanlar", style: TextStyle( fontSize: 15, color:getTextColorAyni(0),), ), ], ), ), Column( children: [ IconButton( icon: Icon( Icons.account_tree_outlined, color: getTextColorAyni(1) ), onPressed: () {
_onItemTapped(1); }, splashColor: Colors.white, ), Text( "Teklif", style: TextStyle( fontSize: 15, color:getTextColorAyni(1),), ), ], ), Container( width: size.width * 0.30, ), Column( children: [ IconButton( icon: Icon( Icons.message, color: getTextColorAyni(2) ), onPressed: () { _onItemTapped(2); }, splashColor: Colors.white, ), Text( "Mesaj", style: TextStyle( fontSize: 15, color: getTextColorAyni(2),), ), ], ), Column( children: [ IconButton( icon: Icon( Icons.person_search, color: getTextColorAyni(3) ), onPressed: () {
_onItemTapped(3); }, splashColor: Colors.white, ), Text( "Portföy", style: TextStyle( fontSize: 15, color: getTextColorAyni(3),), ), ], ), Column( children: [ IconButton( icon: Icon( Icons.person, color: getTextColorAyni(4) ), onPressed: () { _onItemTapped(4); }, splashColor: Colors.white, ), Text( "Profilim", style: TextStyle( fontSize: 15, color: getTextColorAyni(4),), ), ], ), ], ), ), ) ], ), ), ) ], ), ); }
}
class BNBCustomPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { Paint paint = new Paint() ..color = StatikSinif.getBackColor() ..style = PaintingStyle.fill;
Path path = Path(); path.moveTo(0, 20); // Start path.quadraticBezierTo(size.width * 0.20, 0, size.width * 0.35, 0); path.quadraticBezierTo(size.width * 0.40, 0, size.width * 0.40, 20); path.arcToPoint(Offset(size.width * 0.60, 20), radius: Radius.circular(20.0), clockwise: false); path.quadraticBezierTo(size.width * 0.60, 0, size.width * 0.65, 0); path.quadraticBezierTo(size.width * 0.80, 0, size.width, 20); path.lineTo(size.width, size.height); path.lineTo(0, size.height); path.lineTo(0, 20); canvas.drawShadow(path, Colors.black, 5, true); canvas.drawPath(path, paint); }
@override bool shouldRepaint(CustomPainter oldDelegate) { return false; } }
|