107 lines
2.6 KiB
Dart
107 lines
2.6 KiB
Dart
import 'package:easy_sidemenu/easy_sidemenu.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:menu_bar/menu_bar.dart';
|
|
|
|
import 'logic.dart';
|
|
|
|
class HomePage extends StatelessWidget {
|
|
HomePage({Key? key}) : super(key: key);
|
|
|
|
final logic = Get.find<HomeLogic>();
|
|
final state = Get.find<HomeLogic>().state;
|
|
|
|
|
|
SideMenuController _controller = new SideMenuController();
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
|
|
|
|
List<SideMenuItem> items = [
|
|
SideMenuItem(
|
|
// Priority of item to show on SideMenu, lower value is displayed at the top
|
|
priority: 0,
|
|
title: 'Dashboard',
|
|
onTap: (index, _) {
|
|
_controller.changePage(index);
|
|
},
|
|
icon: Icon(Icons.home),
|
|
badgeContent: Text(
|
|
'3',
|
|
style: TextStyle(color: Colors.white),
|
|
),
|
|
),
|
|
SideMenuItem(
|
|
priority: 1,
|
|
title: 'Settings',
|
|
onTap: (index, _) {
|
|
_controller.changePage(index);
|
|
},
|
|
icon: Icon(Icons.settings),
|
|
),
|
|
SideMenuItem(
|
|
priority: 2,
|
|
title: 'Exit',
|
|
onTap: (index, _) {
|
|
_controller.changePage(index);
|
|
},
|
|
icon: Icon(Icons.exit_to_app),
|
|
),
|
|
];
|
|
|
|
return MenuBarWidget(barButtons: [
|
|
BarButton(text: const Text('File', style: TextStyle(color: Colors.black)),
|
|
submenu: SubMenu(
|
|
menuItems: [
|
|
MenuButton(
|
|
text: const Text('Save'),
|
|
onTap: () {},
|
|
icon: const Icon(Icons.save),
|
|
shortcutText: 'Ctrl+S',
|
|
),
|
|
const MenuDivider(),
|
|
MenuButton(
|
|
text: const Text('Exit'),
|
|
onTap: () {},
|
|
icon: const Icon(Icons.home_max),
|
|
shortcutText: 'Ctrl+Q',
|
|
),
|
|
],
|
|
),)
|
|
],
|
|
child: Scaffold(
|
|
body: Row(
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
children: [
|
|
SideMenu(
|
|
onDisplayModeChanged: (mode) {
|
|
print(mode);
|
|
},
|
|
// List of SideMenuItem to show them on SideMenu
|
|
items: items, controller: _controller,
|
|
),
|
|
Expanded(
|
|
child: PageView(
|
|
|
|
children: [
|
|
Container(
|
|
child: Center(
|
|
child: Text('Dashboard'),
|
|
),
|
|
),
|
|
Container(
|
|
child: Center(
|
|
child: Text('Settings'),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
)
|
|
),
|
|
);
|
|
}
|
|
}
|