mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-02-02 03:06:29 +00:00
animated desktop menu fix
This commit is contained in:
parent
c9a91e10ac
commit
1aca715397
2 changed files with 7 additions and 23 deletions
|
@ -157,8 +157,6 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> {
|
|||
),
|
||||
label: "My Stack",
|
||||
value: DesktopMenuItemId.myStack,
|
||||
group:
|
||||
ref.watch(currentDesktopMenuItemProvider.state).state,
|
||||
onChanged: updateSelectedMenuItem,
|
||||
controller: controllers[0],
|
||||
),
|
||||
|
@ -185,8 +183,6 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> {
|
|||
),
|
||||
label: "Exchange",
|
||||
value: DesktopMenuItemId.exchange,
|
||||
group:
|
||||
ref.watch(currentDesktopMenuItemProvider.state).state,
|
||||
onChanged: updateSelectedMenuItem,
|
||||
controller: controllers[1],
|
||||
),
|
||||
|
@ -220,8 +216,6 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> {
|
|||
),
|
||||
label: "Notifications",
|
||||
value: DesktopMenuItemId.notifications,
|
||||
group:
|
||||
ref.watch(currentDesktopMenuItemProvider.state).state,
|
||||
onChanged: updateSelectedMenuItem,
|
||||
controller: controllers[2],
|
||||
),
|
||||
|
@ -248,8 +242,6 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> {
|
|||
),
|
||||
label: "Address Book",
|
||||
value: DesktopMenuItemId.addressBook,
|
||||
group:
|
||||
ref.watch(currentDesktopMenuItemProvider.state).state,
|
||||
onChanged: updateSelectedMenuItem,
|
||||
controller: controllers[3],
|
||||
),
|
||||
|
@ -276,8 +268,6 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> {
|
|||
),
|
||||
label: "Settings",
|
||||
value: DesktopMenuItemId.settings,
|
||||
group:
|
||||
ref.watch(currentDesktopMenuItemProvider.state).state,
|
||||
onChanged: updateSelectedMenuItem,
|
||||
controller: controllers[4],
|
||||
),
|
||||
|
@ -304,8 +294,6 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> {
|
|||
),
|
||||
label: "Support",
|
||||
value: DesktopMenuItemId.support,
|
||||
group:
|
||||
ref.watch(currentDesktopMenuItemProvider.state).state,
|
||||
onChanged: updateSelectedMenuItem,
|
||||
controller: controllers[5],
|
||||
),
|
||||
|
@ -332,8 +320,6 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> {
|
|||
),
|
||||
label: "About",
|
||||
value: DesktopMenuItemId.about,
|
||||
group:
|
||||
ref.watch(currentDesktopMenuItemProvider.state).state,
|
||||
onChanged: updateSelectedMenuItem,
|
||||
controller: controllers[6],
|
||||
),
|
||||
|
@ -352,8 +338,6 @@ class _DesktopMenuState extends ConsumerState<DesktopMenu> {
|
|||
),
|
||||
label: "Exit",
|
||||
value: 7,
|
||||
group:
|
||||
ref.watch(currentDesktopMenuItemProvider.state).state,
|
||||
onChanged: (_) {
|
||||
// todo: save stuff/ notify before exit?
|
||||
exit(0);
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:stackwallet/providers/desktop/current_desktop_menu_item.dart';
|
||||
import 'package:stackwallet/utilities/text_styles.dart';
|
||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||
|
||||
|
@ -9,13 +11,12 @@ class DMIController {
|
|||
}
|
||||
}
|
||||
|
||||
class DesktopMenuItem<T> extends StatefulWidget {
|
||||
class DesktopMenuItem<T> extends ConsumerStatefulWidget {
|
||||
const DesktopMenuItem({
|
||||
Key? key,
|
||||
required this.icon,
|
||||
required this.label,
|
||||
required this.value,
|
||||
required this.group,
|
||||
required this.onChanged,
|
||||
required this.duration,
|
||||
this.labelLength = 125,
|
||||
|
@ -25,22 +26,20 @@ class DesktopMenuItem<T> extends StatefulWidget {
|
|||
final Widget icon;
|
||||
final String label;
|
||||
final T value;
|
||||
final T group;
|
||||
final void Function(T) onChanged;
|
||||
final Duration duration;
|
||||
final double labelLength;
|
||||
final DMIController? controller;
|
||||
|
||||
@override
|
||||
State<DesktopMenuItem<T>> createState() => _DesktopMenuItemState<T>();
|
||||
ConsumerState<DesktopMenuItem<T>> createState() => _DesktopMenuItemState<T>();
|
||||
}
|
||||
|
||||
class _DesktopMenuItemState<T> extends State<DesktopMenuItem<T>>
|
||||
class _DesktopMenuItemState<T> extends ConsumerState<DesktopMenuItem<T>>
|
||||
with SingleTickerProviderStateMixin {
|
||||
late final Widget icon;
|
||||
late final String label;
|
||||
late final T value;
|
||||
late final T group;
|
||||
late final void Function(T) onChanged;
|
||||
late final Duration duration;
|
||||
late final double labelLength;
|
||||
|
@ -67,7 +66,6 @@ class _DesktopMenuItemState<T> extends State<DesktopMenuItem<T>>
|
|||
icon = widget.icon;
|
||||
label = widget.label;
|
||||
value = widget.value;
|
||||
group = widget.group;
|
||||
onChanged = widget.onChanged;
|
||||
duration = widget.duration;
|
||||
labelLength = widget.labelLength;
|
||||
|
@ -91,6 +89,8 @@ class _DesktopMenuItemState<T> extends State<DesktopMenuItem<T>>
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final group = ref.watch(currentDesktopMenuItemProvider.state).state;
|
||||
debugPrint("============ value:$value ============ group:$group");
|
||||
return TextButton(
|
||||
style: value == group
|
||||
? Theme.of(context)
|
||||
|
|
Loading…
Reference in a new issue