Feature_Report_Action #48
@ -46,45 +46,53 @@ class _LayoutState extends State<Layout> {
|
|||||||
endDrawer: UserProfileBar(),
|
endDrawer: UserProfileBar(),
|
||||||
floatingActionButton: widget.floatingActionButton,
|
floatingActionButton: widget.floatingActionButton,
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: Stack(
|
child: GestureDetector(
|
||||||
children: [
|
behavior: HitTestBehavior.translucent,
|
||||||
Column(
|
onTap: () {
|
||||||
children: [
|
if (projectController.isProjectSelectionExpanded.value) {
|
||||||
_buildHeader(context, isMobile),
|
projectController.isProjectSelectionExpanded.value = false;
|
||||||
Expanded(
|
}
|
||||||
child: SingleChildScrollView(
|
},
|
||||||
key: controller.scrollKey,
|
child: Stack(
|
||||||
padding: EdgeInsets.symmetric(
|
children: [
|
||||||
horizontal: 0, vertical: isMobile ? 16 : 32),
|
Column(
|
||||||
child: widget.child,
|
children: [
|
||||||
),
|
_buildHeader(context, isMobile),
|
||||||
),
|
Expanded(
|
||||||
],
|
child: SingleChildScrollView(
|
||||||
),
|
key: controller.scrollKey,
|
||||||
// Overlay project list below header
|
padding: EdgeInsets.symmetric(
|
||||||
Obx(() {
|
horizontal: 0, vertical: isMobile ? 16 : 32),
|
||||||
if (!projectController.isProjectSelectionExpanded.value) {
|
child: widget.child,
|
||||||
return const SizedBox.shrink();
|
|
||||||
}
|
|
||||||
return Positioned(
|
|
||||||
top: 95, // Adjust based on header card height
|
|
||||||
left: 16,
|
|
||||||
right: 16,
|
|
||||||
child: Material(
|
|
||||||
elevation: 4,
|
|
||||||
borderRadius: BorderRadius.circular(12),
|
|
||||||
child: Container(
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.white,
|
|
||||||
borderRadius: BorderRadius.circular(12),
|
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.all(10),
|
|
||||||
child: _buildProjectList(context, isMobile),
|
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
);
|
),
|
||||||
}),
|
// Project dropdown overlay
|
||||||
],
|
Obx(() {
|
||||||
|
if (!projectController.isProjectSelectionExpanded.value) {
|
||||||
|
return const SizedBox.shrink();
|
||||||
|
}
|
||||||
|
return Positioned(
|
||||||
|
top: 95,
|
||||||
|
left: 16,
|
||||||
|
right: 16,
|
||||||
|
child: Material(
|
||||||
|
elevation: 4,
|
||||||
|
borderRadius: BorderRadius.circular(12),
|
||||||
|
child: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
borderRadius: BorderRadius.circular(12),
|
||||||
|
),
|
||||||
|
padding: const EdgeInsets.all(10),
|
||||||
|
child: _buildProjectList(context, isMobile),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user