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,
children: [
Expanded(
flex: 5,
flex: 10,
child: Column(
spacing: 20,
children: [
@ -50,10 +50,7 @@ class AirQualityView extends StatelessWidget {
],
),
),
Expanded(
flex: 3,
child: AirQualityEndSideWidget(),
),
Expanded(flex: 5, child: AirQualityEndSideWidget()),
],
),
),

View File

@ -1,8 +1,7 @@
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_humidity_and_temperature.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 AirQualityEndSideGaugeAndInfo extends StatelessWidget {
@ -19,9 +18,7 @@ class AirQualityEndSideGaugeAndInfo extends StatelessWidget {
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Expanded(flex: 1, child: AqiGauge(aqi: 200)),
],
children: [Expanded(child: AqiGauge(aqi: 200))],
),
),
const Spacer(),
@ -57,44 +54,7 @@ class AirQualityEndSideGaugeAndInfo extends StatelessWidget {
),
),
const Spacer(),
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: 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'),
],
),
),
),
const AqiHumidityAndTemperature(),
],
),
),

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'),
],
),
),
);
}
}