|
| 1 | +// import 'package:flutter/material.dart'; |
| 2 | +// import 'package:get/get.dart'; |
| 3 | +// import 'language-switcher.controller.dart'; |
| 4 | +// |
| 5 | +// class LanguageSwitcher extends GetView<LocaleController> { |
| 6 | +// const LanguageSwitcher({super.key}); |
| 7 | +// |
| 8 | +// @override |
| 9 | +// Widget build(BuildContext context) => Obx(() => DropdownButton<Locale>( |
| 10 | +// value: controller.locales.firstWhere( |
| 11 | +// (Locale locale) => |
| 12 | +// locale.languageCode == |
| 13 | +// controller.currentLocale.value.languageCode, |
| 14 | +// orElse: () => controller.locales.first, |
| 15 | +// ), |
| 16 | +// onChanged: (Locale? locale) { |
| 17 | +// if (locale != null) { |
| 18 | +// controller.updateLocale(locale); |
| 19 | +// } |
| 20 | +// }, |
| 21 | +// items: controller.locales |
| 22 | +// .map<DropdownMenuItem<Locale>>( |
| 23 | +// (Locale locale) => DropdownMenuItem<Locale>( |
| 24 | +// value: locale, |
| 25 | +// child: Text(controller.localeNames[locale.languageCode] ?? |
| 26 | +// locale.languageCode), |
| 27 | +// )) |
| 28 | +// .toList(), |
| 29 | +// )); |
| 30 | +// } |
| 31 | +import 'package:flutter/material.dart'; |
| 32 | +import 'package:get/get.dart'; |
| 33 | +import 'language-switcher.controller.dart'; |
| 34 | +import 'language-switcher.enum.dart'; |
| 35 | + |
| 36 | +class LanguageSwitcher extends GetView<LocaleController> { |
| 37 | + const LanguageSwitcher({super.key}); |
| 38 | + |
| 39 | + @override |
| 40 | + Widget build(BuildContext context) => Obx(() => DropdownButton<Language>( |
| 41 | + value: controller.currentLanguage.value, |
| 42 | + onChanged: (Language? language) { |
| 43 | + if (language != null) { |
| 44 | + controller.updateLocale(language); |
| 45 | + } |
| 46 | + }, |
| 47 | + items: controller.languages |
| 48 | + .map<DropdownMenuItem<Language>>( |
| 49 | + (Language language) => DropdownMenuItem<Language>( |
| 50 | + value: language, |
| 51 | + child: Text(language.title), |
| 52 | + )) |
| 53 | + .toList(), |
| 54 | + )); |
| 55 | +} |
0 commit comments