forked from eatvio/eatvio_app
30 lines
897 B
Dart
30 lines
897 B
Dart
import 'package:eatvio_app/generated/l10n.dart';
|
||
|
||
/// Вкладки блока «Аналитика».
|
||
enum InsightsPanel {
|
||
weight,
|
||
bmi,
|
||
measures,
|
||
daily,
|
||
intra;
|
||
|
||
/// Вкладки КБЖУ доступны только при включённом флаге.
|
||
bool get isKbju => this == daily || this == intra;
|
||
|
||
/// Кнопка «+» есть только у вкладок с ручным вводом.
|
||
bool get supportsAdd => this == weight || this == measures;
|
||
|
||
/// Подпись вкладки.
|
||
String label(S s) => switch (this) {
|
||
weight => s.insights_tab_weight,
|
||
bmi => s.insights_tab_bmi,
|
||
measures => s.insights_tab_measures,
|
||
daily => s.insights_tab_daily,
|
||
intra => s.insights_tab_intra,
|
||
};
|
||
|
||
static List<InsightsPanel> available({required bool kbjuEnabled}) {
|
||
return values.where((panel) => kbjuEnabled || !panel.isKbju).toList();
|
||
}
|
||
}
|