stack_wallet/lib/pages_desktop_specific/home/desktop_home_view.dart

88 lines
3.2 KiB
Dart
Raw Normal View History

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
2022-11-09 23:23:53 +00:00
import 'package:stackwallet/pages_desktop_specific/home/address_book_view/desktop_address_book.dart';
import 'package:stackwallet/pages_desktop_specific/home/desktop_menu.dart';
2022-10-17 16:50:37 +00:00
import 'package:stackwallet/pages_desktop_specific/home/desktop_settings_view.dart';
import 'package:stackwallet/pages_desktop_specific/home/my_stack_view/my_stack_view.dart';
import 'package:stackwallet/pages_desktop_specific/home/notifications/desktop_notifications_view.dart';
2022-11-07 17:42:55 +00:00
import 'package:stackwallet/pages_desktop_specific/home/support_and_about_view/desktop_about_view.dart';
2022-11-07 15:15:44 +00:00
import 'package:stackwallet/pages_desktop_specific/home/support_and_about_view/desktop_support_view.dart';
import 'package:stackwallet/route_generator.dart';
import 'package:stackwallet/utilities/theme/stack_colors.dart';
class DesktopHomeView extends ConsumerStatefulWidget {
const DesktopHomeView({Key? key}) : super(key: key);
static const String routeName = "/desktopHome";
@override
ConsumerState<DesktopHomeView> createState() => _DesktopHomeViewState();
}
class _DesktopHomeViewState extends ConsumerState<DesktopHomeView> {
DesktopMenuItemId currentViewKey = DesktopMenuItemId.myStack;
final Map<DesktopMenuItemId, Widget> contentViews = {
DesktopMenuItemId.myStack: const Navigator(
2022-10-13 17:55:04 +00:00
key: Key("desktopStackHomeKey"),
onGenerateRoute: RouteGenerator.generateRoute,
initialRoute: MyStackView.routeName,
),
// Container(
// // todo: exchange
// color: Colors.green,
// ),
DesktopMenuItemId.notifications: const Navigator(
key: Key("desktopNotificationsHomeKey"),
onGenerateRoute: RouteGenerator.generateRoute,
initialRoute: DesktopNotificationsView.routeName,
2022-09-16 17:26:12 +00:00
),
DesktopMenuItemId.addressBook: const Navigator(
2022-11-09 15:57:41 +00:00
key: Key("desktopAddressBookHomeKey"),
onGenerateRoute: RouteGenerator.generateRoute,
initialRoute: DesktopAddressBook.routeName,
2022-09-16 17:26:12 +00:00
),
DesktopMenuItemId.settings: const Navigator(
2022-10-13 17:55:04 +00:00
key: Key("desktopSettingHomeKey"),
2022-10-05 17:41:41 +00:00
onGenerateRoute: RouteGenerator.generateRoute,
2022-10-17 16:50:37 +00:00
initialRoute: DesktopSettingsView.routeName,
2022-09-16 17:26:12 +00:00
),
DesktopMenuItemId.support: const Navigator(
2022-11-07 15:15:44 +00:00
key: Key("desktopSupportHomeKey"),
onGenerateRoute: RouteGenerator.generateRoute,
initialRoute: DesktopSupportView.routeName,
2022-09-16 17:26:12 +00:00
),
DesktopMenuItemId.about: const Navigator(
2022-11-07 17:42:55 +00:00
key: Key("desktopAboutHomeKey"),
onGenerateRoute: RouteGenerator.generateRoute,
initialRoute: DesktopAboutView.routeName,
2022-09-16 17:26:12 +00:00
),
};
2022-09-16 17:26:12 +00:00
void onMenuSelectionChanged(DesktopMenuItemId newKey) {
2022-09-16 17:26:12 +00:00
setState(() {
currentViewKey = newKey;
2022-09-16 17:26:12 +00:00
});
}
@override
Widget build(BuildContext context) {
return Material(
color: Theme.of(context).extension<StackColors>()!.background,
child: Row(
children: [
2022-09-16 17:26:12 +00:00
DesktopMenu(
onSelectionChanged: onMenuSelectionChanged,
),
2022-10-13 19:10:24 +00:00
Container(
width: 1,
color: Theme.of(context).extension<StackColors>()!.background,
),
2022-09-16 23:54:46 +00:00
Expanded(
child: contentViews[currentViewKey]!,
2022-09-16 23:54:46 +00:00
),
],
),
);
}
}