|
|
|
@ -30,93 +30,97 @@ class MeetingView extends GetView<MeetingController> { |
|
|
|
child: const FiltrateDrawer(), |
|
|
|
), |
|
|
|
drawerEnableOpenDragGesture: false, |
|
|
|
bottomNavigationBar: Stack( |
|
|
|
alignment: Alignment.center, |
|
|
|
clipBehavior: Clip.none, |
|
|
|
children: [ |
|
|
|
Obx( |
|
|
|
() => BottomNavigationBar( |
|
|
|
items: const [ |
|
|
|
BottomNavigationBarItem( |
|
|
|
icon: Icon(Icons.folder_outlined), |
|
|
|
activeIcon: Icon(Icons.folder), |
|
|
|
label: '文件', |
|
|
|
), |
|
|
|
BottomNavigationBarItem( |
|
|
|
icon: SizedBox(), |
|
|
|
label: '', |
|
|
|
), |
|
|
|
BottomNavigationBarItem( |
|
|
|
icon: Icon(Icons.person_outline), |
|
|
|
activeIcon: Icon(Icons.person), |
|
|
|
label: '我的', |
|
|
|
), |
|
|
|
], |
|
|
|
backgroundColor: |
|
|
|
isDarkMode ? const Color(0xFF1A1A1A) : Colors.white, |
|
|
|
currentIndex: controller.pageIndex.value, |
|
|
|
unselectedItemColor: Colors.grey, |
|
|
|
selectedItemColor: isDarkMode ? Colors.white : Colors.blue, |
|
|
|
unselectedFontSize: 10.sp, |
|
|
|
selectedFontSize: 10.sp, |
|
|
|
onTap: (int index) { |
|
|
|
if (index == 1 || index == controller.pageIndex.value) return; |
|
|
|
if (index == 0) { |
|
|
|
controller.pageIndex.value = 0; |
|
|
|
controller.pageController.jumpToPage(0); |
|
|
|
} else { |
|
|
|
controller.pageIndex.value = 2; |
|
|
|
controller.pageController.jumpToPage(1); |
|
|
|
} |
|
|
|
}, |
|
|
|
), |
|
|
|
), |
|
|
|
Positioned( |
|
|
|
top: -18.w, |
|
|
|
child: GestureDetector( |
|
|
|
onTap: () { |
|
|
|
Get.bottomSheet( |
|
|
|
BackdropFilter( |
|
|
|
filter: ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0), |
|
|
|
child: const NavigationBarBottomSheet(), |
|
|
|
bottomNavigationBar: controller.type == 0 |
|
|
|
? Stack( |
|
|
|
alignment: Alignment.center, |
|
|
|
clipBehavior: Clip.none, |
|
|
|
children: [ |
|
|
|
Obx( |
|
|
|
() => BottomNavigationBar( |
|
|
|
items: const [ |
|
|
|
BottomNavigationBarItem( |
|
|
|
icon: Icon(Icons.folder_outlined), |
|
|
|
activeIcon: Icon(Icons.folder), |
|
|
|
label: '文件', |
|
|
|
), |
|
|
|
BottomNavigationBarItem( |
|
|
|
icon: SizedBox(), |
|
|
|
label: '', |
|
|
|
), |
|
|
|
BottomNavigationBarItem( |
|
|
|
icon: Icon(Icons.person_outline), |
|
|
|
activeIcon: Icon(Icons.person), |
|
|
|
label: '我的', |
|
|
|
), |
|
|
|
], |
|
|
|
backgroundColor: |
|
|
|
isDarkMode ? const Color(0xFF1A1A1A) : Colors.white, |
|
|
|
currentIndex: controller.pageIndex.value, |
|
|
|
unselectedItemColor: Colors.grey, |
|
|
|
selectedItemColor: isDarkMode ? Colors.white : Colors.blue, |
|
|
|
unselectedFontSize: 10.sp, |
|
|
|
selectedFontSize: 10.sp, |
|
|
|
onTap: (int index) { |
|
|
|
if (index == 1 || index == controller.pageIndex.value) |
|
|
|
return; |
|
|
|
if (index == 0) { |
|
|
|
controller.pageIndex.value = 0; |
|
|
|
controller.pageController.jumpToPage(0); |
|
|
|
} else { |
|
|
|
controller.pageIndex.value = 2; |
|
|
|
controller.pageController.jumpToPage(1); |
|
|
|
} |
|
|
|
}, |
|
|
|
), |
|
|
|
isScrollControlled: true, |
|
|
|
); |
|
|
|
}, |
|
|
|
child: Container( |
|
|
|
width: 60.w, |
|
|
|
height: 60.w, |
|
|
|
padding: EdgeInsets.all(5.w), |
|
|
|
alignment: Alignment.center, |
|
|
|
decoration: BoxDecoration( |
|
|
|
color: isDarkMode ? const Color(0xFF1A1A1A) : Colors.white, |
|
|
|
borderRadius: BorderRadius.circular(60.w), |
|
|
|
boxShadow: [ |
|
|
|
BoxShadow( |
|
|
|
color: Colors.black |
|
|
|
.withValues(alpha: isDarkMode ? 0.3 : 0.1), |
|
|
|
blurRadius: 8, |
|
|
|
offset: const Offset(0, 2), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
child: Container( |
|
|
|
alignment: Alignment.center, |
|
|
|
decoration: BoxDecoration( |
|
|
|
color: MeetingUIUtils.getButtonColor(isDarkMode), |
|
|
|
borderRadius: BorderRadius.circular(60.w), |
|
|
|
), |
|
|
|
child: Icon( |
|
|
|
Icons.add, |
|
|
|
color: Colors.white, |
|
|
|
size: 30.w, |
|
|
|
Positioned( |
|
|
|
top: -18.w, |
|
|
|
child: GestureDetector( |
|
|
|
onTap: () { |
|
|
|
Get.bottomSheet( |
|
|
|
BackdropFilter( |
|
|
|
filter: ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0), |
|
|
|
child: const NavigationBarBottomSheet(), |
|
|
|
), |
|
|
|
isScrollControlled: true, |
|
|
|
); |
|
|
|
}, |
|
|
|
child: Container( |
|
|
|
width: 60.w, |
|
|
|
height: 60.w, |
|
|
|
padding: EdgeInsets.all(5.w), |
|
|
|
alignment: Alignment.center, |
|
|
|
decoration: BoxDecoration( |
|
|
|
color: |
|
|
|
isDarkMode ? const Color(0xFF1A1A1A) : Colors.white, |
|
|
|
borderRadius: BorderRadius.circular(60.w), |
|
|
|
boxShadow: [ |
|
|
|
BoxShadow( |
|
|
|
color: Colors.black |
|
|
|
.withValues(alpha: isDarkMode ? 0.3 : 0.1), |
|
|
|
blurRadius: 8, |
|
|
|
offset: const Offset(0, 2), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
child: Container( |
|
|
|
alignment: Alignment.center, |
|
|
|
decoration: BoxDecoration( |
|
|
|
color: MeetingUIUtils.getButtonColor(isDarkMode), |
|
|
|
borderRadius: BorderRadius.circular(60.w), |
|
|
|
), |
|
|
|
child: Icon( |
|
|
|
Icons.add, |
|
|
|
color: Colors.white, |
|
|
|
size: 30.w, |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
], |
|
|
|
) |
|
|
|
: null, |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|