flutter-terminal/lib/page/home/view.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'),
),
),
],
),
),
],
)
),
);
}
}