Fixed i18n wont update to AverageSelector
This commit is contained in:
parent
cc40fb9c0f
commit
d39cdaef10
@ -9,27 +9,31 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
|||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
final Map<int, String> avgDropItems = {
|
final Map<int, String> avgDropItems = {
|
||||||
0: "annual_average".i18n,
|
0: "annual_average",
|
||||||
90: "3_months_average".i18n,
|
90: "3_months_average",
|
||||||
30: "30_days_average".i18n,
|
30: "30_days_average",
|
||||||
14: "14_days_average".i18n,
|
14: "14_days_average",
|
||||||
7: "7_days_average".i18n,
|
7: "7_days_average",
|
||||||
};
|
};
|
||||||
|
|
||||||
class PremiumAverageSelector extends StatelessWidget {
|
class PremiumAverageSelector extends StatefulWidget {
|
||||||
const PremiumAverageSelector({Key? key, this.onChanged, required this.value}) : super(key: key);
|
const PremiumAverageSelector({Key? key, this.onChanged, required this.value}) : super(key: key);
|
||||||
|
|
||||||
final Function(int?)? onChanged;
|
final Function(int?)? onChanged;
|
||||||
final int value;
|
final int value;
|
||||||
|
|
||||||
|
@override
|
||||||
|
_PremiumAverageSelectorState createState() => _PremiumAverageSelectorState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _PremiumAverageSelectorState extends State<PremiumAverageSelector> {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return DropdownButton2<int>(
|
List<DropdownMenuItem<int>> dropdownItems = avgDropItems.keys.map((item) {
|
||||||
items: avgDropItems.keys
|
return DropdownMenuItem<int>(
|
||||||
.map((item) => DropdownMenuItem<int>(
|
|
||||||
value: item,
|
value: item,
|
||||||
child: Text(
|
child: Text(
|
||||||
avgDropItems[item] ?? "",
|
avgDropItems[item]!.i18n,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
@ -37,16 +41,23 @@ class PremiumAverageSelector extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
))
|
);
|
||||||
.toList(),
|
}).toList();
|
||||||
|
|
||||||
|
return DropdownButton2<int>(
|
||||||
|
items: dropdownItems,
|
||||||
onChanged: (int? value) {
|
onChanged: (int? value) {
|
||||||
if (Provider.of<PremiumProvider>(context, listen: false).hasScope(PremiumScopes.gradeStats)) {
|
if (Provider.of<PremiumProvider>(context, listen: false).hasScope(PremiumScopes.gradeStats)) {
|
||||||
if (onChanged != null) onChanged!(value);
|
if (widget.onChanged != null) {
|
||||||
|
setState(() {
|
||||||
|
widget.onChanged!(value);
|
||||||
|
});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
PremiumLockedFeatureUpsell.show(context: context, feature: PremiumFeature.gradestats);
|
PremiumLockedFeatureUpsell.show(context: context, feature: PremiumFeature.gradestats);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
value: value,
|
value: widget.value,
|
||||||
iconSize: 14,
|
iconSize: 14,
|
||||||
iconEnabledColor: AppColors.of(context).text,
|
iconEnabledColor: AppColors.of(context).text,
|
||||||
iconDisabledColor: AppColors.of(context).text,
|
iconDisabledColor: AppColors.of(context).text,
|
||||||
@ -71,11 +82,13 @@ class PremiumAverageSelector extends StatelessWidget {
|
|||||||
height: 30,
|
height: 30,
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Text(avgDropItems[value] ?? "",
|
Text(
|
||||||
|
avgDropItems[widget.value]!.i18n,
|
||||||
style: Theme.of(context)
|
style: Theme.of(context)
|
||||||
.textTheme
|
.textTheme
|
||||||
.titleSmall!
|
.titleSmall!
|
||||||
.copyWith(fontWeight: FontWeight.w600, color: AppColors.of(context).text.withOpacity(0.65))),
|
.copyWith(fontWeight: FontWeight.w600, color: AppColors.of(context).text.withOpacity(0.65)),
|
||||||
|
),
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
width: 4,
|
width: 4,
|
||||||
),
|
),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user