Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
track_consumtion_trend.dart
Go to the documentation of this file.
1import 'package:flutter/material.dart';
2import 'package:flutter_screenutil/flutter_screenutil.dart';
3import 'package:connect/core/ui/widgets/custom_card.dart';
4import 'package:connect/features/co2_emmissions/screens/widgets/step_brogress_bar.dart';
5
6import '../../operational_details_screen/views/operational_hours_view.dart';
7
8class TrackConsumptionTrend extends StatefulWidget {
9 const TrackConsumptionTrend({super.key});
10
11 @override
12 State<TrackConsumptionTrend> createState() => _TrackConsumptionTrendState();
13}
14
15class _TrackConsumptionTrendState extends State<TrackConsumptionTrend> {
16 List<String> options = [
17 'Yes',
18 'No',
19 ];
20
21 List<String> selectedOption = [];
22
23 void onSelect(String option) {
24 if (selectedOption.contains(option)) {
25 selectedOption.remove(option);
26 } else {
27 selectedOption.add(option);
28 }
29 setState(() {});
30 }
31
32 bool isSelected(String option) {
33 return selectedOption.contains(option);
34 }
35
36 @override
37 Widget build(BuildContext context) {
38 return SingleChildScrollView(
39 padding: EdgeInsets.all(15.sp),
40 child: Column(
41 crossAxisAlignment: CrossAxisAlignment.start,
42 children: [
43 Container(
44 width: double.infinity,
45 padding: EdgeInsets.all(15.sp),
46 decoration: BoxDecoration(
47 color: Colors.red.withOpacity(0.11),
48 borderRadius: BorderRadius.circular(10)),
49 child: Center(
50 child: Text(
51 'Energy',
52 style: Theme.of(context)
53 .textTheme
54 .bodySmall
55 ?.copyWith(color: Colors.red),
56 ),
57 ),
58 ),
59 SizedBox(height: 10.sp),
61 padding: EdgeInsets.all(15.sp),
62 child: Column(
63 crossAxisAlignment: CrossAxisAlignment.start,
64 children: [
65 SimpleProgressBar(
66 totalSteps: 6,
67 currentStep: 5,
68 ),
69 SizedBox(height: 10.sp),
70 Text(
71 'Do you actively track energy consumption trends (e.g., peak usage times)?',
72 style: Theme.of(context).textTheme.displaySmall?.copyWith(
73 fontSize: 12.sp,
74 ),
75 ),
76 SizedBox(height: 10.sp),
77 ListView.separated(
78 physics: NeverScrollableScrollPhysics(),
79 shrinkWrap: true,
80 itemCount: options.length,
81 separatorBuilder: (context, index) => SizedBox(height: 10.sp),
82 itemBuilder: (BuildContext context, int index) {
83 return CustomOptionButton(
84 option: options[index],
85 onPressed: () {
86 onSelect(options[index]);
87 },
89 );
90 },
91 ),
92 ],
93 ),
94 ),
95 ],
96 ),
97 );
98 }
99}
const TrackConsumptionTrend({super.key})
override State< TrackConsumptionTrend > createState()
const CustomCard({ super.key, required this.child, this.padding, this.bgColor, })
final Widget child
final EdgeInsets padding
final bool isSelected
class EnergySavingsMeasure extends StatefulWidget options
List< String > selectedOption
void onSelect(String option)
final Color color
Definition failures.dart:1
override Widget build(BuildContext context)