From fdfdecf6da439074bc3b8f002859392c62e0b9fd Mon Sep 17 00:00:00 2001 From: gitadmin Date: Tue, 11 Nov 2025 15:18:39 +0530 Subject: [PATCH] source and service location changes --- lib/profile/availability.dart | 2 +- lib/profile/employees.dart | 43 +- lib/profile/fleet.dart | 18 +- lib/profile/service_location.dart | 624 ++++++++++++++------------- lib/profile/source_location.dart | 1 + lib/resources/resources_drivers.dart | 3 + lib/resources/resources_fleet.dart | 2 + lib/resources/resources_sources.dart | 1 + 8 files changed, 386 insertions(+), 308 deletions(-) diff --git a/lib/profile/availability.dart b/lib/profile/availability.dart index dadc633..e286712 100644 --- a/lib/profile/availability.dart +++ b/lib/profile/availability.dart @@ -25,7 +25,7 @@ class _AvailabilityScreenState extends State { TimeOfDay? _weekdayEndTime; TimeOfDay? _weekendStartTime; TimeOfDay? _weekendEndTime; - int currentStep = 3; + int currentStep = 4; final List _days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; diff --git a/lib/profile/employees.dart b/lib/profile/employees.dart index 1fa0bb4..d5f464b 100644 --- a/lib/profile/employees.dart +++ b/lib/profile/employees.dart @@ -385,18 +385,32 @@ class _FleetEmployeesState extends State { ), ), _LabeledField( - label: "License Number *", + label: "Driver License Number *", child: DropdownButtonFormField( value: selectedLicense, + dropdownColor: Colors.white, items: licenseNumbers .map((t) => DropdownMenuItem(value: t, child: Text(t))) .toList(), onChanged: (v) => setState(() => selectedLicense = v), - validator: (v) => v == null ? "Select License" : null, + validator: (v) => v == null || v.isEmpty + ? "Driver License required" + : null, + isExpanded: true, + alignment: Alignment.centerLeft, + hint: Text( + "Select License Number", + style: fontTextStyle( + 14, const Color(0xFF939495), FontWeight.w400), + ), + icon: Image.asset('images/downarrow.png', + width: 16, height: 16), decoration: const InputDecoration( border: OutlineInputBorder(), - isDense: true, + isDense: false, + contentPadding: EdgeInsets.symmetric( + horizontal: 12, vertical: 14), ), ), ), @@ -404,16 +418,30 @@ class _FleetEmployeesState extends State { label: "Years of Experience *", child: DropdownButtonFormField( value: selectedExperience, + dropdownColor: Colors.white, items: yearOptions .map((t) => DropdownMenuItem(value: t, child: Text(t))) .toList(), - onChanged: (v) => setState(() => selectedExperience = v), - validator: (v) => - v == null ? "Select Experience" : null, + onChanged: (v) => + setState(() => selectedExperience = v), + validator: (v) => v == null || v.isEmpty + ? "Experience is required" + : null, + isExpanded: true, + alignment: Alignment.centerLeft, + hint: Text( + "Years", + style: fontTextStyle( + 14, const Color(0xFF939495), FontWeight.w400), + ), + icon: Image.asset('images/downarrow.png', + width: 16, height: 16), decoration: const InputDecoration( border: OutlineInputBorder(), - isDense: true, + isDense: false, + contentPadding: EdgeInsets.symmetric( + horizontal: 12, vertical: 14), ), ), ), @@ -475,6 +503,7 @@ class _FleetEmployeesState extends State { label: "Status *", child: DropdownButtonFormField( value: _status, + dropdownColor: Colors.white, items: _statusOptions .map((s) => DropdownMenuItem(value: s, child: Text(s))) .toList(), diff --git a/lib/profile/fleet.dart b/lib/profile/fleet.dart index 27cea15..1731c94 100644 --- a/lib/profile/fleet.dart +++ b/lib/profile/fleet.dart @@ -393,11 +393,19 @@ class _AddTankerFormState extends State { label: "Tanker Type *", child: DropdownButtonFormField( value: selectedType, + dropdownColor: Colors.white, // 👈 sets popup background color + menuMaxHeight: 250, // 👈 optional: limits dropdown height items: tankerTypes - .map((t) => DropdownMenuItem(value: t, child: Text(t))) + .map((t) => DropdownMenuItem( + value: t, + child: Text( + t, style: fontTextStyle(14, Color(0xFF2D2E30), FontWeight.w500), + ), + )) .toList(), onChanged: (v) => setState(() => selectedType = v), - validator: (v) => v == null || v.isEmpty ? "Tanker Type is required" : null, + validator: (v) => + v == null || v.isEmpty ? "Tanker Type is required" : null, isExpanded: true, alignment: Alignment.centerLeft, hint: Text( @@ -409,14 +417,18 @@ class _AddTankerFormState extends State { border: OutlineInputBorder(), isDense: false, contentPadding: EdgeInsets.symmetric(horizontal: 12, vertical: 14), + filled: true, // 👈 fills the field background + fillColor: Colors.white, // 👈 ensures the closed dropdown is also white ), - ), + ) ), _LabeledField( label: "Type of water *", child: DropdownButtonFormField( value: selectedTypeOfWater, + dropdownColor: Colors.white, // 👈 sets popup background color + menuMaxHeight: 250, items: typeOfWater .map((t) => DropdownMenuItem(value: t, child: Text(t))) .toList(), diff --git a/lib/profile/service_location.dart b/lib/profile/service_location.dart index 5dd2703..a07801b 100644 --- a/lib/profile/service_location.dart +++ b/lib/profile/service_location.dart @@ -4,6 +4,7 @@ import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:supplier_new/common/settings.dart'; import 'package:supplier_new/profile/service_locations_radius.dart'; import '../resources/source_loctaions_model.dart'; +import 'availability.dart'; void main() => runApp(const MaterialApp(home: ServiceLocation())); @@ -17,7 +18,8 @@ class ServiceLocation extends StatefulWidget { class _ServiceLocationState extends State { final _formKey = GlobalKey(); String _deliveryFrom = 'business'; - final TextEditingController _radiusController = TextEditingController(text: "10"); + final TextEditingController _radiusController = + TextEditingController(text: "10"); bool _customizeEachSource = false; bool isLoading = false; int currentStep = 3; @@ -95,331 +97,358 @@ class _ServiceLocationState extends State { child: isLoading ? const Center(child: CircularProgressIndicator()) : Form( - key: _formKey, - child: ListView( - padding: const EdgeInsets.fromLTRB(20, 10, 20, 24), - children: [ - Text("Step $currentStep/5", - style: fontTextStyle( - 16, const Color(0xFFC3C4C4), FontWeight.w500)), - const SizedBox(height: 16), - Row( - children: List.generate(5, (index) { - final isFilled = index < currentStep; - return Expanded( - child: Container( - margin: const EdgeInsets.symmetric(horizontal: 2), - height: 5, - decoration: BoxDecoration( - color: isFilled - ? const Color(0xFF0D3771) - : const Color(0xFFE6E6E6), - borderRadius: BorderRadius.circular(2), - ), + key: _formKey, + child: ListView( + padding: const EdgeInsets.fromLTRB(20, 10, 20, 24), + children: [ + Text("Step $currentStep/5", + style: fontTextStyle( + 16, const Color(0xFFC3C4C4), FontWeight.w500)), + const SizedBox(height: 16), + Row( + children: List.generate(5, (index) { + final isFilled = index < currentStep; + return Expanded( + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 2), + height: 5, + decoration: BoxDecoration( + color: isFilled + ? const Color(0xFF0D3771) + : const Color(0xFFE6E6E6), + borderRadius: BorderRadius.circular(2), + ), + ), + ); + }), ), - ); - }), - ), - const SizedBox(height: 16), - - Text("SERVICE LOCATIONS", - style: fontTextStyle( - 20, const Color(0xFF515253), FontWeight.w600)), - const SizedBox(height: 16), - Align( - alignment: Alignment.centerLeft, - child: Image.asset('images/marker-pin.png', - width: 24, height: 24), - ), - const SizedBox(height: 16), - Text( - "Define where you want to provide delivery services", - style: fontTextStyle( - 14, const Color(0xFF939495), FontWeight.w500), - ), - const SizedBox(height: 16), - - RadioListTile( - value: 'business', - groupValue: _deliveryFrom, - onChanged: (value) => - setState(() => _deliveryFrom = value ?? 'business'), - title: Text("From Business Location", - style: fontTextStyle( - 12, const Color(0xFF2D2E30), FontWeight.w400)), - dense: true, - contentPadding: EdgeInsets.zero, - visualDensity: - const VisualDensity(horizontal: 0, vertical: -3), - ), - RadioListTile( - value: 'source', - groupValue: _deliveryFrom, - onChanged: (value) => - setState(() => _deliveryFrom = value ?? 'source'), - title: Text("From Source Locations", - style: fontTextStyle( - 12, const Color(0xFF2D2E30), FontWeight.w400)), - dense: true, - contentPadding: EdgeInsets.zero, - visualDensity: - const VisualDensity(horizontal: 0, vertical: -3), - ), - - const SizedBox(height: 16), + const SizedBox(height: 16), - // 🔹 BUSINESS LOCATION SECTION - Visibility( - visible: _deliveryFrom == 'business', - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text("Delivery Radius (in Kms) *", + Text("SERVICE LOCATIONS", style: fontTextStyle( - 12, const Color(0xFF2F3036), FontWeight.w600)), + 20, const Color(0xFF515253), FontWeight.w600)), const SizedBox(height: 16), - TextFormField( - controller: _radiusController, - keyboardType: TextInputType.number, - decoration: InputDecoration( - hintText: "Enter radius in kms", - hintStyle: fontTextStyle( - 14, const Color(0xFF939495), FontWeight.w400), - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(8), - ), - contentPadding: const EdgeInsets.symmetric( - horizontal: 12, vertical: 12), - ), + Align( + alignment: Alignment.centerLeft, + child: Image.asset('images/marker-pin.png', + width: 24, height: 24), ), const SizedBox(height: 16), - Container( - width: double.infinity, - height: 220, // 👈 small map fits neatly - decoration: BoxDecoration( - border: Border.all(color: const Color(0xFFE6E6E6)), - borderRadius: BorderRadius.circular(8), - ), - child: ClipRRect( - borderRadius: BorderRadius.circular(8), - child: ServiceLocationsRadiusScreen( - initialPosition: const LatLng(17.381597, 78.481791), - radiusKmListenable: _radiusKmNotifier, - ), - ), + Text( + "Define where you want to provide delivery services", + style: fontTextStyle( + 14, const Color(0xFF939495), FontWeight.w500), ), - ], - ), - ), - - // 🔹 SOURCE LOCATIONS SECTION - Visibility( - visible: _deliveryFrom == 'source', - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text("Delivery Radius (in Kms) *", - style: fontTextStyle( - 12, const Color(0xFF2F3036), FontWeight.w600)), const SizedBox(height: 16), - TextFormField( - controller: _radiusController, - keyboardType: TextInputType.number, - decoration: InputDecoration( - hintText: "Enter radius in kms", - hintStyle: fontTextStyle( - 14, const Color(0xFF939495), FontWeight.w400), - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(8), - ), - contentPadding: const EdgeInsets.symmetric( - horizontal: 12, vertical: 12), - ), + + RadioListTile( + value: 'business', + groupValue: _deliveryFrom, + onChanged: (value) => + setState(() => _deliveryFrom = value ?? 'business'), + title: Text("From Business Location", + style: fontTextStyle( + 12, const Color(0xFF2D2E30), FontWeight.w400)), + dense: true, + contentPadding: EdgeInsets.zero, + visualDensity: + const VisualDensity(horizontal: 0, vertical: -3), + ), + RadioListTile( + value: 'source', + groupValue: _deliveryFrom, + onChanged: (value) => + setState(() => _deliveryFrom = value ?? 'source'), + title: Text("From Source Locations", + style: fontTextStyle( + 12, const Color(0xFF2D2E30), FontWeight.w400)), + dense: true, + contentPadding: EdgeInsets.zero, + visualDensity: + const VisualDensity(horizontal: 0, vertical: -3), ), + const SizedBox(height: 16), - Row( - children: [ - Checkbox( - value: _customizeEachSource, - onChanged: (val) => setState( - () => _customizeEachSource = val ?? false), - materialTapTargetSize: - MaterialTapTargetSize.shrinkWrap, - visualDensity: const VisualDensity( - horizontal: -4, vertical: -4), - ), - const SizedBox(width: 6), - Expanded( - child: Text( - "Customize for each source location", - style: fontTextStyle( - 12, const Color(0xFF2D2E30), - FontWeight.w400), + + // 🔹 BUSINESS LOCATION SECTION + Visibility( + visible: _deliveryFrom == 'business', + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text("Delivery Radius (in Kms) *", + style: fontTextStyle(12, const Color(0xFF2F3036), + FontWeight.w600)), + const SizedBox(height: 16), + TextFormField( + controller: _radiusController, + keyboardType: TextInputType.number, + decoration: InputDecoration( + hintText: "Enter radius in kms", + hintStyle: fontTextStyle( + 14, const Color(0xFF939495), FontWeight.w400), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + ), + contentPadding: const EdgeInsets.symmetric( + horizontal: 12, vertical: 12), + ), ), - ), - ], + const SizedBox(height: 16), + Container( + width: double.infinity, + height: 220, // 👈 small map fits neatly + decoration: BoxDecoration( + border: + Border.all(color: const Color(0xFFE6E6E6)), + borderRadius: BorderRadius.circular(8), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: ServiceLocationsRadiusScreen( + initialPosition: + const LatLng(17.381597, 78.481791), + radiusKmListenable: _radiusKmNotifier, + ), + ), + ), + ], + ), ), - const SizedBox(height: 12), - // 🔹 Show source list if enabled - if (_customizeEachSource) - Column( + // 🔹 SOURCE LOCATIONS SECTION + Visibility( + visible: _deliveryFrom == 'source', + child: Column( crossAxisAlignment: CrossAxisAlignment.start, - children: sourceLocationsList.isEmpty - ? [ - const Text( - "No source locations available"), - ] - : List.generate(sourceLocationsList.length, - (index) { - final d = sourceLocationsList[index]; - final isExpanded = - _expandedMap[index] ?? false; - - return Container( - margin: - const EdgeInsets.only(bottom: 8), - decoration: BoxDecoration( - color: const Color(0xFFF7F7F7), - border: Border.all( - color: - const Color(0xFFE5E5E5)), - borderRadius: - BorderRadius.circular(12), + children: [ + Text("Delivery Radius (in Kms) *", + style: fontTextStyle(12, const Color(0xFF2F3036), FontWeight.w600)), + const SizedBox(height: 16), + TextFormField( + controller: _radiusController, + keyboardType: TextInputType.number, + decoration: InputDecoration( + hintText: "Enter radius in kms", + hintStyle: fontTextStyle(14, const Color(0xFF939495), FontWeight.w400), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + ), + contentPadding: + const EdgeInsets.symmetric(horizontal: 12, vertical: 12), + ), + ), + const SizedBox(height: 16), + Row( + children: [ + Checkbox( + value: _customizeEachSource, + onChanged: (val) => setState(() { + _customizeEachSource = val ?? false; + }), + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + visualDensity: + const VisualDensity(horizontal: -4, vertical: -4), + ), + const SizedBox(width: 6), + Expanded( + child: Text( + "Customize for each source location", + style: fontTextStyle( + 12, const Color(0xFF2D2E30), FontWeight.w400), ), - child: Column( - children: [ - ListTile( - dense: true, - contentPadding: - EdgeInsets.zero, - minVerticalPadding: 0, - visualDensity: - const VisualDensity( - vertical: -4, - horizontal: 0), - title: Text( - d.source_name ?? - 'Unnamed location', - style: fontTextStyle( - 14, - const Color(0xFF2D2E30), - FontWeight.w600), - ), - trailing: IconButton( - icon: Image.asset( - isExpanded - ? 'images/arrow-up.png' - : 'images/downarrow.png', - width: 18, - height: 18, - ), - onPressed: () { - setState(() { - _expandedMap[index] = - !isExpanded; - }); - }, - ), - ), - if (isExpanded) - Container( - margin: - const EdgeInsets.only( - left: 10, - right: 10, - bottom: 6), - padding: - const EdgeInsets.all(10), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: - BorderRadius.circular( - 8), - border: Border.all( - color: - const Color( - 0xFFE5E5E5)), - ), - child: Text( - "Address: ${d.address ?? 'N/A'}", + ), + ], + ), + const SizedBox(height: 12), + + // 🔹 Show source list if enabled + if (_customizeEachSource) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: sourceLocationsList.isEmpty + ? [ + const Text("No source locations available"), + ] + : List.generate(sourceLocationsList.length, (index) { + final d = sourceLocationsList[index]; + final isExpanded = _expandedMap[index] ?? false; + + return Container( + margin: const EdgeInsets.only(bottom: 8), + padding: + const EdgeInsets.symmetric(horizontal: 12, vertical: 0), + decoration: BoxDecoration( + color: const Color(0xFFF1F1F1), + border: Border.all(color: const Color(0xFFE5E5E5)), + borderRadius: BorderRadius.circular(29), + ), + child: Column( + children: [ + ListTile( + dense: true, + contentPadding: EdgeInsets.zero, + minVerticalPadding: 0, + visualDensity: + const VisualDensity(vertical: -4, horizontal: 0), + title: Text( + d.source_name ?? 'Unnamed location', style: fontTextStyle( - 12, - const Color( - 0xFF646566), - FontWeight.w400), + 14, const Color(0xFF2D2E30), FontWeight.w600), + ), + trailing: IconButton( + icon: Image.asset( + isExpanded + ? 'images/arrow-up.png' + : 'images/downarrow.png', + width: 18, + height: 18, + ), + onPressed: () { + setState(() { + _expandedMap[index] = !isExpanded; + }); + }, ), ), - ], + if (isExpanded) + Column( + children: [ + Container( + margin: const EdgeInsets.only( + left: 10, right: 10, bottom: 6), + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: const Color(0xFFE5E5E5)), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text("Delivery Radius (in Kms) *", + style: fontTextStyle( + 12, + const Color(0xFF2F3036), + FontWeight.w600)), + const SizedBox(height: 16), + TextFormField( + controller: _radiusController, + keyboardType: TextInputType.number, + decoration: InputDecoration( + hintText: "Enter radius in kms", + hintStyle: fontTextStyle( + 14, + const Color(0xFF939495), + FontWeight.w400), + border: OutlineInputBorder( + borderRadius: + BorderRadius.circular(8), + ), + contentPadding: + const EdgeInsets.symmetric( + horizontal: 12, vertical: 12), + ), + ), + const SizedBox(height: 16), + Container( + width: double.infinity, + height: 180, + decoration: BoxDecoration( + borderRadius: + BorderRadius.circular(8), + border: Border.all( + color: const Color(0xFFE6E6E6)), + ), + child: ClipRRect( + borderRadius: + BorderRadius.circular(8), + child: ServiceLocationsRadiusScreen( + initialPosition: LatLng( + d.latitude ?? 17.3850, + d.longitude ?? 78.4867, + ), + radiusKmListenable: + _radiusKmNotifier, + ), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ); + }), + ), + + // 🔹 Hide main map when customizeEachSource = true + if (!_customizeEachSource) ...[ + const SizedBox(height: 16), + Container( + width: double.infinity, + height: 250, + decoration: BoxDecoration( + border: Border.all(color: const Color(0xFFE6E6E6)), + borderRadius: BorderRadius.circular(8), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: ServiceLocationsRadiusScreen( + initialPosition: const LatLng(20.5937, 78.9629), + radiusKmListenable: _radiusKmNotifier, ), - ); - }), + ), + ), + ], + ], ), + ), + + + const SizedBox(height: 24), + Text("Types of Services", + style: fontTextStyle( + 16, const Color(0xFF2D2E30), FontWeight.w600)), + const SizedBox(height: 12), + Text( + "Define what type of services you would wish to provide", + style: fontTextStyle( + 14, const Color(0xFF939495), FontWeight.w500)), const SizedBox(height: 16), - Container( + ..._services + .map((service) => _serviceItem(service)) + .toList(), + const SizedBox(height: 24), + SizedBox( width: double.infinity, - height: 250, - decoration: BoxDecoration( - border: - Border.all(color: const Color(0xFFE6E6E6)), - borderRadius: BorderRadius.circular(8), - ), - child: ClipRRect( - borderRadius: BorderRadius.circular(8), - child: ServiceLocationsRadiusScreen( - initialPosition: - const LatLng(20.5937, 78.9629), - radiusKmListenable: _radiusKmNotifier, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + backgroundColor: const Color(0xFF8270DB), + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 14), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(24)), ), + onPressed: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (_) => const AvailabilityScreen())); + }, + child: Text("Save & Continue", + style: fontTextStyle( + 14, Colors.white, FontWeight.w400)), ), ), ], ), ), - - const SizedBox(height: 24), - Text("Types of Services", - style: fontTextStyle( - 16, const Color(0xFF2D2E30), FontWeight.w600)), - const SizedBox(height: 12), - Text("Define what type of services you would wish to provide", - style: fontTextStyle( - 14, const Color(0xFF939495), FontWeight.w500)), - - const SizedBox(height: 16), - ..._services.map((service) => _serviceItem(service)).toList(), - const SizedBox(height: 24), - SizedBox( - width: double.infinity, - child: ElevatedButton( - style: ElevatedButton.styleFrom( - backgroundColor: const Color(0xFF8270DB), - foregroundColor: Colors.white, - padding: const EdgeInsets.symmetric(vertical: 14), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(24)), - ), - onPressed: () { - final selected = _selectedServices.isEmpty - ? "No services selected" - : _selectedServices.join(", "); - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text( - "Saved successfully for ${_deliveryFrom == 'business' ? 'Business Location' : 'Source Locations'}\nSelected: $selected"), - ), - ); - }, - child: Text("Save & Continue", - style: fontTextStyle( - 14, Colors.white, FontWeight.w400)), - ), - ), - ], - ), - ), ), ); } @@ -443,7 +472,8 @@ class _ServiceLocationState extends State { children: [ Icon( selected ? Icons.check_box : Icons.check_box_outline_blank, - color: selected ? const Color(0xFF8270DB) : const Color(0xFF939495), + color: + selected ? const Color(0xFF8270DB) : const Color(0xFF939495), size: 20, ), const SizedBox(width: 8), diff --git a/lib/profile/source_location.dart b/lib/profile/source_location.dart index b0aef3e..b5d88f5 100644 --- a/lib/profile/source_location.dart +++ b/lib/profile/source_location.dart @@ -313,6 +313,7 @@ class _SourceLocationState extends State { label: "Water Type *", child: DropdownButtonFormField( value: selectedWaterType, + dropdownColor: Colors.white, items: waterTypes .map((w) => DropdownMenuItem(value: w, child: Text(w))) .toList(), diff --git a/lib/resources/resources_drivers.dart b/lib/resources/resources_drivers.dart index 8b517d3..24d942f 100644 --- a/lib/resources/resources_drivers.dart +++ b/lib/resources/resources_drivers.dart @@ -248,6 +248,7 @@ class _ResourcesDriverScreenState extends State { label: "Driver License Number *", child: DropdownButtonFormField( value: selectedLicense, + dropdownColor: Colors.white, items: licenseNumbers .map((t) => DropdownMenuItem(value: t, child: Text(t))) @@ -278,6 +279,7 @@ class _ResourcesDriverScreenState extends State { label: "Years of Experience *", child: DropdownButtonFormField( value: selectedExperience, + dropdownColor: Colors.white, items: yearOptions .map((t) => DropdownMenuItem(value: t, child: Text(t))) @@ -377,6 +379,7 @@ class _ResourcesDriverScreenState extends State { label: "Status *", child: DropdownButtonFormField( value: _status, + dropdownColor: Colors.white, items: _statusOptions .map((s) => DropdownMenuItem(value: s, child: Text(s))) diff --git a/lib/resources/resources_fleet.dart b/lib/resources/resources_fleet.dart index 62fe7f4..4cafc6a 100644 --- a/lib/resources/resources_fleet.dart +++ b/lib/resources/resources_fleet.dart @@ -275,6 +275,7 @@ class _ResourcesFleetScreenState extends State { label: "Tanker Type *", child: DropdownButtonFormField( value: selectedType, + dropdownColor: Colors.white, items: tankerTypes .map((t) => DropdownMenuItem(value: t, child: Text(t))) .toList(), @@ -299,6 +300,7 @@ class _ResourcesFleetScreenState extends State { label: "Type of water *", child: DropdownButtonFormField( value: selectedTypeOfWater, + dropdownColor: Colors.white, items: typeOfWater .map((t) => DropdownMenuItem(value: t, child: Text(t))) .toList(), diff --git a/lib/resources/resources_sources.dart b/lib/resources/resources_sources.dart index 31e1441..6709001 100644 --- a/lib/resources/resources_sources.dart +++ b/lib/resources/resources_sources.dart @@ -393,6 +393,7 @@ class _ResourcesSourceScreenState extends State { label: "Water Type *", child: DropdownButtonFormField( value: selectedWaterType, + dropdownColor: Colors.white, items: waterTypes .map((w) => DropdownMenuItem(value: w, child: Text(w))) .toList(),