Select Git revision
activity_page.dart
activity_page.dart 1.38 KiB
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:midisynth/common/ui/pages/editor.dart';
import 'package:midisynth/common/ui/pages/home.dart';
import 'package:midisynth/common/ui/pages/player.dart';
class ActivityPageItem {
final String code;
final Icon icon;
final Widget page;
const ActivityPageItem({
required this.code,
required this.icon,
required this.page,
});
}
class ActivityPage {
static const bool displayBottomNavBar = true;
static const indexHome = 0;
static const pageHome = ActivityPageItem(
code: 'page_home',
icon: Icon(UniconsLine.home),
page: PageHome(),
);
static const indexEditor = 1;
static const pageEditor = ActivityPageItem(
code: 'page_editor',
icon: Icon(UniconsLine.edit),
page: PageEditor(),
);
static const indexPlayer = 2;
static const pagePlayer = ActivityPageItem(
code: 'page_player',
icon: Icon(UniconsLine.play),
page: PagePlayer(),
);
static const Map<int, ActivityPageItem> items = {
indexHome: pageHome,
indexEditor: pageEditor,
indexPlayer: pagePlayer,
};
static int defaultPageIndex = indexHome;
static bool isIndexAllowed(int pageIndex) {
return items.keys.contains(pageIndex);
}
static Widget getWidget(int pageIndex) {
return items[pageIndex]?.page ?? pageHome.page;
}
}