import 'package:fluent_ui/fluent_ui.dart'; import 'package:get/get.dart'; import 'package:reboot_launcher/src/ui/controller/build_controller.dart'; import 'package:reboot_launcher/src/model/fortnite_build.dart'; class BuildSelector extends StatefulWidget { const BuildSelector({Key? key}) : super(key: key); @override State createState() => _BuildSelectorState(); } class _BuildSelectorState extends State { final BuildController _buildController = Get.find(); @override Widget build(BuildContext context) { return InfoLabel( label: "Build", child: ComboBox( placeholder: const Text('Select a fortnite build'), isExpanded: true, items: _createItems(), value: _buildController.selectedBuild, onChanged: (value) => value == null ? {} : setState(() => _buildController.selectedBuild = value) ) ); } List> _createItems() { return _buildController.builds! .map((element) => _createItem(element)) .toList(); } ComboBoxItem _createItem(FortniteBuild element) { return ComboBoxItem( value: element, child: Text(element.version.toString()) ); } }