design: Adjust design to new material 3 capabilities of Flutter 3.7
							parent
							
								
									d226bf6020
								
							
						
					
					
						commit
						b176811f7c
					
				@ -1,51 +0,0 @@
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
 | 
			
		||||
import 'package:fluffychat/config/app_config.dart';
 | 
			
		||||
 | 
			
		||||
class M2PopupMenuButton<T> extends StatelessWidget {
 | 
			
		||||
  final List<PopupMenuEntry<T>> Function(BuildContext) itemBuilder;
 | 
			
		||||
  final T? initialValue;
 | 
			
		||||
  final void Function(T)? onSelected;
 | 
			
		||||
  final void Function()? onCanceled;
 | 
			
		||||
  final Widget? icon;
 | 
			
		||||
  final Color? color;
 | 
			
		||||
  final Widget? child;
 | 
			
		||||
 | 
			
		||||
  const M2PopupMenuButton({
 | 
			
		||||
    Key? key,
 | 
			
		||||
    required this.itemBuilder,
 | 
			
		||||
    this.initialValue,
 | 
			
		||||
    this.onSelected,
 | 
			
		||||
    this.onCanceled,
 | 
			
		||||
    this.icon,
 | 
			
		||||
    this.color,
 | 
			
		||||
    this.child,
 | 
			
		||||
  }) : super(key: key);
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
    final theme = Theme.of(context);
 | 
			
		||||
    return Theme(
 | 
			
		||||
      data: theme.copyWith(
 | 
			
		||||
        useMaterial3: false,
 | 
			
		||||
        popupMenuTheme: PopupMenuThemeData(
 | 
			
		||||
          color: theme.colorScheme.surface,
 | 
			
		||||
          shape: RoundedRectangleBorder(
 | 
			
		||||
            borderRadius: BorderRadius.circular(AppConfig.borderRadius),
 | 
			
		||||
          ),
 | 
			
		||||
          elevation: theme.appBarTheme.scrolledUnderElevation,
 | 
			
		||||
          textStyle: theme.textTheme.bodyLarge,
 | 
			
		||||
        ),
 | 
			
		||||
      ),
 | 
			
		||||
      child: PopupMenuButton<T>(
 | 
			
		||||
        itemBuilder: itemBuilder,
 | 
			
		||||
        initialValue: initialValue,
 | 
			
		||||
        onSelected: onSelected,
 | 
			
		||||
        onCanceled: onCanceled,
 | 
			
		||||
        icon: icon,
 | 
			
		||||
        color: color,
 | 
			
		||||
        child: child,
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue