import 'package:flutter/material.dart'; import 'package:queuing_system/core/base/app_scaffold_widget.dart'; import 'package:queuing_system/core/config/config.dart'; import 'package:queuing_system/core/config/size_config.dart'; import 'package:queuing_system/header/app_header.dart'; import 'package:queuing_system/home/que_item/que_item.dart'; import 'package:queuing_system/home/que_item_list.dart'; import 'package:queuing_system/utils/signalR_utils.dart'; import 'package:queuing_system/utils/utils.dart'; import 'package:queuing_system/widget/data_display/app_texts_widget.dart'; class MyHomePage extends StatefulWidget { String title = "MyHomePage"; bool haveOnePatient = false; bool have3Patient = true; bool haveListOfPatient = false; @override State createState() => _MyHomePageState(); } class _MyHomePageState extends State { int remainingTime = 600; startTimer() { this.remainingTime--; if (remainingTime > 400) { setState(() { widget.haveOnePatient = true; widget.have3Patient = false; widget.haveListOfPatient = false; }); } else if (remainingTime > 200) { setState(() { widget.haveOnePatient = false; widget.have3Patient = true; widget.haveListOfPatient = false; }); } else { setState(() { widget.haveOnePatient = false; widget.have3Patient = true; widget.haveListOfPatient = true; }); } Future.delayed(Duration(seconds: 1), () { if (this.remainingTime > 0) { startTimer(); } else { } }); } @override Widget build(BuildContext context) { SignalRHelper signalRHelper = SignalRHelper(); startTimer(); return AppScaffold( appBar: AppHeader(), body: Column( children: [ SizedBox( height: SizeConfig.getHeightMultiplier() * (widget.haveOnePatient ? 20 : 3)), widget.haveListOfPatient ? Row( children: [ FirstColumn( have3Patient: widget.have3Patient, ), const SizedBox( width: 40, ), if (widget.haveListOfPatient) Container( width: 10, height: SizeConfig.getHeightMultiplier() * 40, color: Colors.grey, ), if (widget.haveListOfPatient) const SizedBox( width: 40, ), if (widget.haveListOfPatient) const QueItemList() ], ) : FirstColumn( have3Patient: widget.have3Patient, ), ], ), bottomSheet: Container( color: Colors.transparent, height: Utils.getHeight(), width: double.infinity, child: Row( children: [ Padding( padding: const EdgeInsets.only(top: 30, left: 30), child: AppText( "Powered By", letterSpacing: -1.1, color: AppGlobal.appTextColor, fontSize: SizeConfig.getWidthMultiplier() * 2.5, fontFamily: 'Poppins-Medium.ttf', ), ), Padding( padding: const EdgeInsets.only(top: 40, left: 18), child: Image.asset( "assets/images/cloud_logo.png", height: SizeConfig.getHeightMultiplier() * 5, ), ), ], ), ), // This trailing comma makes auto-formatting nicer for build methods. ); } } class FirstColumn extends StatelessWidget { final bool have3Patient; const FirstColumn({Key key, this.have3Patient = false}) : super(key: key); @override Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.start, children: [ const QueItem( queNo: "OBG-T45", isFirstLine: true, isNurseVisit: true, haveListOfPatient: true, ), SizedBox( height: SizeConfig.getHeightMultiplier() * 5, ), if (have3Patient) Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: const [ QueItem( queNo: "OBG-T45", isSecondLine: true, isNurseVisit: true, haveListOfPatient: true, ), QueItem( queNo: "OBG-T45", isSecondLine: true, isNurseVisit: false, haveListOfPatient: true, ), ], ), ], ); } }