import 'package:flutter/material.dart'; import 'package:manager_app/constants.dart'; import 'package:manager_api_new/api.dart'; class DropDownConfig extends StatefulWidget { final List configurations; final String selectedConfigurationId; final ValueChanged onChange; const DropDownConfig({ Key? key, required this.configurations, required this.selectedConfigurationId, required this.onChange, }) : super(key: key); @override _DropDownConfigState createState() => _DropDownConfigState(); } class _DropDownConfigState extends State { late ConfigurationDTO configurationDTO; @override void initState() { if (widget.selectedConfigurationId != null) configurationDTO = widget.configurations.firstWhere((config) => config.id == widget.selectedConfigurationId); super.initState(); } @override Widget build(BuildContext context) { /*final appContext = Provider.of(context); Size size = MediaQuery.of(context).size;*/ return DropdownButton( value: configurationDTO, icon: const Icon(Icons.arrow_downward), iconSize: 24, elevation: 16, style: const TextStyle(color: kBlack), underline: Container( height: 2, color: kPrimaryColor, ), onChanged: (ConfigurationDTO? newValue) { if(newValue != null) { setState(() { configurationDTO = newValue; widget.onChange(configurationDTO); }); } }, items: widget.configurations.map>((ConfigurationDTO value) { return DropdownMenuItem( value: value, child: Text(value.label!, style: TextStyle(fontSize: 20, fontWeight: FontWeight.w400)), ); }).toList(), ); } }