Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
external_services_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 ExternalServicesView extends StatefulWidget {
9 const ExternalServicesView({super.key});
10
11 @override
12 State<ExternalServicesView> createState() => _ExternalServicesViewState();
13}
14
15class _ExternalServicesViewState extends State<ExternalServicesView> {
16 List<String> options = [
17 'Yes (specify the service provider)',
18 'No',
19 ];
20 List<String> selectedOptions = [];
21 final TextEditingController _specifyController = 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: 7,
63 ),
64 SizedBox(height: 10.sp),
65 Text(
66 'Do You Collaborate With External Services For Waste Management?',
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 (specify the service provider)'))
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: _specifyController,
88 ),
89 ),
90 ],
91 ),
92 ),
93 ],
94 ),
95 );
96 }
97}
override State< ExternalServicesView > createState()
const ExternalServicesView({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 TextEditingController _specifyController
final Color color
Definition failures.dart:1
override Widget build(BuildContext context)
final Set< String > selectedOptions