You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
Dart
46 lines
1.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
|
|
|
enum VocabProficiencyEnum { low, medium, high, unk }
|
|
|
|
extension Copy on VocabProficiencyEnum {
|
|
String toolTipString(BuildContext context) {
|
|
switch (this) {
|
|
case VocabProficiencyEnum.low:
|
|
return L10n.of(context)!.low;
|
|
case VocabProficiencyEnum.medium:
|
|
return L10n.of(context)!.medium;
|
|
case VocabProficiencyEnum.high:
|
|
return L10n.of(context)!.high;
|
|
case VocabProficiencyEnum.unk:
|
|
return L10n.of(context)!.unknownProficiency;
|
|
}
|
|
}
|
|
|
|
IconData get iconData {
|
|
switch (this) {
|
|
case VocabProficiencyEnum.low:
|
|
return Icons.sentiment_dissatisfied_outlined;
|
|
case VocabProficiencyEnum.medium:
|
|
return Icons.sentiment_neutral_outlined;
|
|
case VocabProficiencyEnum.high:
|
|
return Icons.sentiment_satisfied_outlined;
|
|
case VocabProficiencyEnum.unk:
|
|
return Icons.question_mark_outlined;
|
|
}
|
|
}
|
|
}
|
|
|
|
class VocabProficiencyUtil {
|
|
static VocabProficiencyEnum proficiency(num numeric) {
|
|
if (numeric > 1) {
|
|
return VocabProficiencyEnum.high;
|
|
}
|
|
if (numeric < -1) {
|
|
return VocabProficiencyEnum.low;
|
|
}
|
|
return VocabProficiencyEnum.medium;
|
|
}
|
|
}
|