import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:queuing_system/core/base/app_scaffold_widget.dart'; import 'package:queuing_system/core/config/size_config.dart'; import 'package:queuing_system/header/app_header.dart'; import 'package:queuing_system/home/app_provider.dart'; import 'package:queuing_system/home/priority_calls_components.dart'; import 'package:queuing_system/utils/utils.dart'; import 'package:queuing_system/widget/data_display/app_texts_widget.dart'; class MyHomePage extends StatelessWidget { const MyHomePage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { final appProvider = context.watch(); return AppScaffold( appProvider: appProvider, appBar: AppHeader(), body: dataContent(appProvider: appProvider), bottomNavigationBar: Container( color: Colors.grey.withOpacity(0.1), height: Utils.getHeight(), width: double.infinity, child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: [ const SizedBox(width: 20), Column( mainAxisAlignment: MainAxisAlignment.center, children: [ InkWell( onTap: () async { await context.read().callPatientsAPI(); }, child: AppText( "Powered By", fontSize: SizeConfig.getWidthMultiplier() * 2.6, fontFamily: 'Poppins-Medium.ttf', ), ), Text(appProvider.currentDeviceIp, style: TextStyle(fontWeight: FontWeight.w500, fontSize: SizeConfig.getWidthMultiplier() * 2.2)), ], ), const SizedBox(width: 10), Image.asset( "assets/images/cloud_logo.png", height: SizeConfig.getHeightMultiplier() * 4, ), ], ), ], ), ), ); } Widget dataContent({required AppProvider appProvider}) { // appProvider.voiceCallPatientTicket(appProvider.patientTickets.first); if (appProvider.patientTickets.isEmpty) { // No Patient in Queue return noPatientInQueue(); } else if (appProvider.patientTickets.length > 3) { // Return Content With Side List return priorityTicketsWithSideList(tickets: appProvider.patientTickets, callConfig: appProvider.patientCallConfigurations); } else { // Return Content In Center Aligned return PriorityTickets(tickets: appProvider.patientTickets, callConfig: appProvider.patientCallConfigurations); } } }