flutter_elinux/lib/common/widgets/floating_menu_button.dart
2024-03-09 14:29:48 +01:00

53 lines
1.5 KiB
Dart

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
class FloatingMenuButton extends StatelessWidget {
const FloatingMenuButton({this.popupMenuButton, super.key});
final PopupMenuButton? popupMenuButton;
@override
Widget build(BuildContext context) {
return PositionedDirectional(
start: 16,
top: 16,
child: SafeArea(
child: Container(
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.background,
borderRadius: BorderRadius.circular(999),
boxShadow: [
BoxShadow(
// check if dark mode
color: (Theme.of(context).brightness == Brightness.light)
? Colors.grey.withOpacity(0.5)
: Colors.black.withOpacity(0.5),
spreadRadius: 1,
blurRadius: 7,
offset: const Offset(0, 3),
),
],
),
padding: const EdgeInsets.all(8),
child: Row(
children: [
IconButton(
onPressed: () => context.pop(),
icon: const Icon(Icons.arrow_back),
),
if (popupMenuButton != null)
Row(
children: [
const SizedBox(width: 8),
popupMenuButton!,
const SizedBox(width: 8),
],
)
],
),
),
),
);
}
}