Files
Regroup/lib/Common/CommonBottomNavigationBar.dart
2024-06-05 11:52:59 +05:30

334 lines
11 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Common/controller/MainController.dart';
GlassmorphicContainer bottomnavigationbar(MainController _mainController) {
return GlassmorphicContainer(
width: double.infinity,
height: 83.h,
borderRadius: 2,
blur: 30,
alignment: Alignment.center,
border: 0,
linearGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.white.withOpacity(0.04),
Color(0xFFFFFFFF).withOpacity(0.05),
],
stops: const [
0.1,
1,
]),
borderGradient: const LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.transparent,
Colors.transparent,
],
),
child: BottomNavigationBar(
// backgroundColor: ,
type: BottomNavigationBarType.fixed,
backgroundColor: const Color(0xFFFFFFFF).withOpacity(0),
showUnselectedLabels: true,
selectedItemColor: Colors.white,
unselectedItemColor: const Color(0xFF676767),
unselectedLabelStyle: TextStyle(
fontSize: 10.sp,
color: const Color(0xFF676767),
fontWeight: FontWeight.w400,
fontFamily: 'hiragino'),
selectedLabelStyle: TextStyle(
fontSize: 10.sp,
color: const Color(0xFFFFFFFF),
fontWeight: FontWeight.w400,
fontFamily: 'hiragino'),
currentIndex: _mainController.selectedIndex.value,
onTap: (index) {
_mainController.updateTab(index);
},
items: [
BottomNavigationBarItem(
icon: Image.asset(
'assets/images/png/BottomBar/inactiveHome.png',
height: 26.h,
width: 26.w,
),
// Icon(
// Icons.home,
// color: Color(0xFF676767),
// ),
activeIcon: Stack(
clipBehavior: Clip.none,
children: [
if (_mainController.selectedIndex.value == 0)
Container(
height: 40.h,
width: 40.w,
decoration: BoxDecoration(
shape: BoxShape.circle,
boxShadow: [
BoxShadow(
color: Color(0xFFD90B2E).withOpacity(0.16),
spreadRadius: 15,
blurRadius: 25,
offset: const Offset(0, 10),
),
],
),
),
Positioned(
left: 0,
right: 0,
top: -15,
child: Container(
height: 2.h,
width: 20.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.r),
color: Color(0xFFD90B2E)),
)),
Positioned(
top: 0,
bottom: 0,
right: 0,
left: 0,
child: Center(
child: Image.asset(
'assets/images/png/BottomBar/ActiveHome.png',
height: 30.h,
width: 30.w,
),
),
)
],
),
// activeIcon: SvgPicture.asset('assets/image/svg/active_home.svg'),
label: 'Community',
),
BottomNavigationBarItem(
icon: Image.asset(
'assets/images/png/BottomBar/inactiveGroup.png',
height: 26.h,
width: 26.w,
),
activeIcon: Stack(
clipBehavior: Clip.none,
children: [
if (_mainController.selectedIndex.value == 1)
Container(
height: 40.h,
width: 40.w,
decoration: BoxDecoration(
shape: BoxShape.circle,
boxShadow: [
BoxShadow(
color: Color(0xFFD90B2E).withOpacity(0.16),
spreadRadius: 15,
blurRadius: 25,
offset: const Offset(0, 10),
),
],
),
),
Positioned(
left: 0,
right: 0,
top: -15,
child: Container(
height: 2.h,
width: 20.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.r),
color: Color(0xFFD90B2E)),
)),
Positioned(
left: 0,
right: 0,
top: 0,
bottom: 0,
child: Center(
child: Image.asset(
'assets/images/png/BottomBar/activeGroup.png',
height: 30.h,
width: 30.w,
),
)),
],
),
// SvgPicture.asset('assets/image/svg/active_shortTrade.svg'),
label: 'Group',
),
BottomNavigationBarItem(
icon: Image.asset(
'assets/images/png/BottomBar/inactiveCal.png',
height: 24.h,
width: 24.w,
),
activeIcon: Stack(
clipBehavior: Clip.none,
children: [
if (_mainController.selectedIndex.value == 2)
Container(
height: 40.h,
width: 40.w,
decoration: BoxDecoration(
shape: BoxShape.circle,
boxShadow: [
BoxShadow(
color: Color(0xFFD90B2E).withOpacity(0.16),
spreadRadius: 15,
blurRadius: 25,
offset: const Offset(0, 10),
),
],
),
),
Positioned(
left: 0,
right: 0,
top: -15,
child: Container(
height: 2.h,
width: 20.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.r),
color: Color(0xFFD90B2E)),
)),
Positioned(
left: 0,
right: 0,
top: 0,
bottom: 0,
child: Center(
child: Image.asset(
'assets/images/png/BottomBar/ActiveCal.png',
height: 28.h,
width: 28.w,
),
))
],
),
// SvgPicture.asset('assets/image/svg/active_shortTrade.svg'),
label: 'Calender',
),
BottomNavigationBarItem(
icon: Image.asset(
'assets/images/png/BottomBar/inactiveChat.png',
height: 24.h,
width: 24.w,
),
activeIcon: Stack(
clipBehavior: Clip.none,
children: [
if (_mainController.selectedIndex.value == 3)
Container(
height: 40.h,
width: 40.w,
decoration: BoxDecoration(
shape: BoxShape.circle,
boxShadow: [
BoxShadow(
color: Color(0xFFD90B2E).withOpacity(0.16),
spreadRadius: 15,
blurRadius: 25,
offset: const Offset(0, 10),
),
],
),
),
Positioned(
left: 0,
right: 0,
top: -15,
child: Container(
height: 2.h,
width: 20.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.r),
color: Color(0xFFD90B2E)),
)),
Positioned(
left: 0,
right: 0,
top: 0,
bottom: 0,
child: Center(
child: Image.asset(
'assets/images/png/BottomBar/ActiveChat.png',
height: 28.h,
width: 28.w,
),
))
],
),
// SvgPicture.asset('assets/image/svg/active_shortTrade.svg'),
label: 'Chats',
),
BottomNavigationBarItem(
icon: Image.asset(
'assets/images/png/BottomBar/inactivePeople.png',
height: 26.h,
width: 26.w,
),
activeIcon: Stack(
clipBehavior: Clip.none,
children: [
if (_mainController.selectedIndex.value == 4)
Container(
height: 40.h,
width: 40.w,
decoration: BoxDecoration(
shape: BoxShape.circle,
boxShadow: [
BoxShadow(
color: Color(0xFFD90B2E).withOpacity(0.16),
spreadRadius: 15,
blurRadius: 25,
offset: const Offset(0, 10),
),
],
),
),
Positioned(
left: 0,
right: 0,
top: -15,
child: Container(
height: 2.h,
width: 20.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.r),
color: Color(0xFFD90B2E)),
)),
Positioned(
left: 0,
right: 0,
top: 0,
bottom: 0,
child: Center(
child: Image.asset(
'assets/images/png/BottomBar/inactivePeople.png',
height: 30.h,
width: 30.w,
),
))
],
),
// SvgPicture.asset('assets/image/svg/active_protfolio.svg'),
label: 'Profile',
),
],
),
);
}