Extracted AqiHumidityAndTemperature into its own widget and file.

This commit is contained in:
Faris Armoush
2025-05-28 16:37:34 +03:00
parent 79c5fe1651
commit cc5f107ccb
3 changed files with 56 additions and 48 deletions

View File

@ -41,7 +41,7 @@ class AirQualityView extends StatelessWidget {
spacing: 32, spacing: 32,
children: [ children: [
Expanded( Expanded(
flex: 5, flex: 10,
child: Column( child: Column(
spacing: 20, spacing: 20,
children: [ children: [
@ -50,10 +50,7 @@ class AirQualityView extends StatelessWidget {
], ],
), ),
), ),
Expanded( Expanded(flex: 5, child: AirQualityEndSideWidget()),
flex: 3,
child: AirQualityEndSideWidget(),
),
], ],
), ),
), ),

View File

@ -1,8 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:syncrow_web/pages/analytics/modules/air_quality/widgets/aqi_gauge.dart'; import 'package:syncrow_web/pages/analytics/modules/air_quality/widgets/aqi_gauge.dart';
import 'package:syncrow_web/pages/analytics/modules/air_quality/widgets/aqi_humidity_and_temperature.dart';
import 'package:syncrow_web/utils/color_manager.dart'; import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/constants/assets.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart'; import 'package:syncrow_web/utils/extension/build_context_x.dart';
class AirQualityEndSideGaugeAndInfo extends StatelessWidget { class AirQualityEndSideGaugeAndInfo extends StatelessWidget {
@ -19,9 +18,7 @@ class AirQualityEndSideGaugeAndInfo extends StatelessWidget {
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [Expanded(child: AqiGauge(aqi: 200))],
Expanded(flex: 1, child: AqiGauge(aqi: 200)),
],
), ),
), ),
const Spacer(), const Spacer(),
@ -57,44 +54,7 @@ class AirQualityEndSideGaugeAndInfo extends StatelessWidget {
), ),
), ),
const Spacer(), const Spacer(),
FittedBox( const AqiHumidityAndTemperature(),
fit: BoxFit.scaleDown,
alignment: AlignmentDirectional.centerStart,
child: DefaultTextStyle(
style: context.textTheme.bodySmall!.copyWith(
color: ColorsManager.textPrimaryColor,
fontWeight: FontWeight.w400,
fontSize: 12,
),
child: Row(
children: [
SvgPicture.asset(
Assets.temperatureAqiSidebar,
height: 12,
width: 12,
colorFilter: const ColorFilter.mode(
ColorsManager.textPrimaryColor,
BlendMode.srcIn,
),
),
const SizedBox(width: 4),
const Text('30°C'),
const SizedBox(width: 10),
SvgPicture.asset(
Assets.humidityAqiSidebar,
height: 12,
width: 12,
colorFilter: const ColorFilter.mode(
ColorsManager.textPrimaryColor,
BlendMode.srcIn,
),
),
const SizedBox(width: 4),
const Text('30°C'),
],
),
),
),
], ],
), ),
), ),

View File

@ -0,0 +1,51 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/constants/assets.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
class AqiHumidityAndTemperature extends StatelessWidget {
const AqiHumidityAndTemperature({super.key});
static const iconSize = 12.0;
static const colorFilter = ColorFilter.mode(
ColorsManager.textPrimaryColor,
BlendMode.srcIn,
);
@override
Widget build(BuildContext context) {
return FittedBox(
fit: BoxFit.scaleDown,
alignment: AlignmentDirectional.centerStart,
child: DefaultTextStyle(
style: context.textTheme.bodySmall!.copyWith(
color: ColorsManager.textPrimaryColor,
fontWeight: FontWeight.w400,
fontSize: 12,
),
child: Row(
children: [
SvgPicture.asset(
Assets.temperatureAqiSidebar,
height: iconSize,
width: iconSize,
colorFilter: colorFilter,
),
const SizedBox(width: 4),
const Text('30°C'),
const SizedBox(width: 10),
SvgPicture.asset(
Assets.humidityAqiSidebar,
height: iconSize,
width: iconSize,
colorFilter: colorFilter,
),
const SizedBox(width: 4),
const Text('30°C'),
],
),
),
);
}
}