import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:queuing_system/core/config/config.dart'; import 'package:queuing_system/core/config/size_config.dart'; import 'package:queuing_system/home/app_provider.dart'; import 'package:queuing_system/utils/utils.dart'; import 'package:queuing_system/widget/data_display/app_texts_widget.dart'; class AppHeader extends StatelessWidget with PreferredSizeWidget { const AppHeader({Key? key}) : super(key: key); Widget getWeatherWidget(AppProvider appProvider) { if (appProvider.currentWeathersWidgetModel.maxTemp == null || appProvider.currentWeathersWidgetModel.minTemp == null || appProvider.currentWeathersWidgetModel.iconPhrase == null) { return const SizedBox.shrink(); } return Row( children: [ SvgPicture.asset( AppGlobal.weatherIcon, height: SizeConfig.getHeightMultiplier() * 2.5, color: Colors.white, ), const SizedBox(width: 10), Padding( padding: const EdgeInsets.only(top: 15), child: AppText( "Max: ${appProvider.currentWeathersWidgetModel.maxTemp}°C , Min: ${appProvider.currentWeathersWidgetModel.minTemp}°C", color: Colors.white, fontSize: SizeConfig.getHeightMultiplier() * 1.3, ), ), ], ); } Widget getPrayerWidget(AppProvider appProvider) { return Row( children: [ Image.asset( AppGlobal.mosqueIcon, height: SizeConfig.getHeightMultiplier() * 2.5, color: Colors.white, ), const SizedBox(width: 10), Padding( padding: const EdgeInsets.only(top: 15), child: AppText( "Next Prayer: Dhuhr (11:49am)", color: Colors.white, fontSize: SizeConfig.getHeightMultiplier() * 1.3, ), ), ], ); } @override Widget build(BuildContext context) { AppProvider appProvider = context.read(); return Container( padding: const EdgeInsets.only( left: 0, right: 5, ), decoration: BoxDecoration(color: AppGlobal.vitalSignColor, border: const Border(bottom: BorderSide(color: Color(0xFFEFEFEF)))), child: Container( height: 100, padding: const EdgeInsets.only( left: 20, right: 20, bottom: 0, ), child: Directionality( textDirection: appProvider.patientCallConfigurations.textDirection, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.center, children: [ InkWell( onTap: () {}, child: AppText( appProvider.patientCallConfigurations.currentServeText, color: Colors.white, ), ), getPrayerWidget(appProvider), getWeatherWidget(appProvider), SvgPicture.asset( "assets/images/hmglogo.svg", height: Utils.getHeight() * 0.5, ), ], ), ), ), ); } @override Size get preferredSize => Size(double.maxFinite, Utils.getHeight()); }