import 'package:flutter/material.dart'; import 'package:syncrow_web/pages/analytics/modules/occupancy/helpers/fetch_occupancy_data_helper.dart'; import 'package:syncrow_web/pages/analytics/modules/occupancy/widgets/occupancy_chart_box.dart'; import 'package:syncrow_web/pages/analytics/modules/occupancy/widgets/occupancy_end_side_bar.dart'; class AnalyticsOccupancyView extends StatefulWidget { const AnalyticsOccupancyView({super.key}); static const _padding = EdgeInsetsDirectional.all(32); @override State createState() => _AnalyticsOccupancyViewState(); } class _AnalyticsOccupancyViewState extends State { @override void initState() { FetchOccupancyDataHelper.loadOccupancyData(context); super.initState(); } @override Widget build(BuildContext context) { final height = MediaQuery.sizeOf(context).height; return LayoutBuilder( builder: (context, constraints) { final isMediumOrLess = constraints.maxWidth <= 900; if (isMediumOrLess) { return SingleChildScrollView( padding: AnalyticsOccupancyView._padding, child: Column( spacing: 32, children: [ SizedBox(height: height * 1.2, child: const OccupancyEndSideBar()), SizedBox(height: height * 0.5, child: const OccupancyChartBox()), SizedBox(height: height * 0.5, child: const Placeholder()), ], ), ); } return SingleChildScrollView( child: Container( padding: AnalyticsOccupancyView._padding, height: height * 1, child: const Row( spacing: 32, children: [ Expanded( flex: 2, child: Column( spacing: 20, children: [ Expanded(child: OccupancyChartBox()), Expanded(child: Placeholder()), ], ), ), Expanded(child: OccupancyEndSideBar()), ], ), ), ); }, ); } }