canSelfOverride static method
Whether a self-override from current to target is allowed.
Users can skip forward at most 2 levels, and never directly to 'mastery'.
Implementation
static bool canSelfOverride(String current, String target) {
final currentIdx = levels.indexOf(current);
final targetIdx = levels.indexOf(target);
if (currentIdx < 0 || targetIdx < 0) return false;
if (targetIdx <= currentIdx) return false;
if (target == 'mastery') return false;
return (targetIdx - currentIdx) <= 2;
}