Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
waste_tracking_view.dart
Go to the documentation of this file.
1import 'package:flutter/material.dart';
2import 'package:flutter_screenutil/flutter_screenutil.dart';
3import '../../operational_details_screen/views/operational_hours_view.dart';
4import '../../widgets/step_brogress_bar.dart';
5import '/core/ui/widgets/custom_card.dart';
6import '/core/ui/widgets/custom_text_form_field.dart';
7
8class WasteTrackingView extends StatefulWidget {
9 const WasteTrackingView({super.key});
10
11 @override
12 State<WasteTrackingView> createState() => _WasteTrackingViewState();
13}
14
15class _WasteTrackingViewState extends State<WasteTrackingView> {
16 List<String> options = [
17 'Yes (frequency)',
18 'No',
19 ];
20 List<String> selectedOptions = [];
21 final TextEditingController _frequencyController = TextEditingController();
22
23 void _onSelect(String option) {
24 setState(() {
25 selectedOptions.clear(); // Only one option can be selected
26 selectedOptions.add(option);
27 });
28 }
29
30 @override
31 Widget build(BuildContext context) {
32 return SingleChildScrollView(
33 padding: EdgeInsets.all(15.sp),
34 child: Column(
35 crossAxisAlignment: CrossAxisAlignment.start,
36 children: [
37 Container(
38 width: double.infinity,
39 padding: EdgeInsets.all(15.sp),
40 decoration: BoxDecoration(
41 color: Colors.orange.withOpacity(0.11),
42 borderRadius: BorderRadius.circular(10),
43 ),
44 child: Center(
45 child: Text(
46 'Waste',
47 style: Theme.of(context)
48 .textTheme
49 .bodySmall
50 ?.copyWith(color: Colors.orange),
51 ),
52 ),
53 ),
54 SizedBox(height: 10.sp),
56 padding: EdgeInsets.all(15.sp),
57 child: Column(
58 crossAxisAlignment: CrossAxisAlignment.start,
59 children: [
60 SimpleProgressBar(
61 totalSteps: 9,
62 currentStep: 9,
63 ),
64 SizedBox(height: 10.sp),
65 Text(
66 'Do You Track Your Waste Generation Trends Regularly?',
67 style: Theme.of(context).textTheme.displaySmall?.copyWith(
68 fontSize: 12.sp,
69 ),
70 ),
71 SizedBox(height: 15.sp),
72 ...options.map((option) => Padding(
73 padding: EdgeInsets.only(bottom: 10.sp),
74 child: CustomOptionButton(
75 isSelected: selectedOptions.contains(option),
76 onPressed: () => _onSelect(option),
77 option: option,
78 ),
79 )),
80 if (selectedOptions.contains('Yes (frequency)'))
81 Padding(
82 padding: EdgeInsets.only(top: 10.sp),
83 child: CustomTextFormField(
84 hintText: 'Type...',
85 maxLines: 4,
86 fillColor: Theme.of(context).highlightColor.withOpacity(0.11),
87 controller: _frequencyController,
88 ),
89 ),
90 ],
91 ),
92 ),
93 ],
94 ),
95 );
96 }
97}
override State< WasteTrackingView > createState()
const WasteTrackingView({super.key})
const CustomCard({ super.key, required this.child, this.padding, this.bgColor, })
final Widget child
final EdgeInsets padding
void _onSelect(String option)
final bool isSelected
class EnergySavingsMeasure extends StatefulWidget options
final Color color
Definition failures.dart:1
override Widget build(BuildContext context)
final Set< String > selectedOptions
final TextEditingController _frequencyController