mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 15:17:31 +00:00
Extracted AqiHumidityAndTemperature
into its own widget and file.
This commit is contained in:
@ -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(),
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -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'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -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'),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user