student-legacy/refilc_mobile_ui/lib/common/material_action_button.dart
2025-01-31 10:24:37 +01:00

39 lines
1.1 KiB
Dart

import 'package:refilc/theme/colors/colors.dart';
import 'package:refilc/utils/color.dart';
import 'package:flutter/material.dart';
class MaterialActionButton extends StatelessWidget {
const MaterialActionButton({
super.key,
required this.child,
this.onPressed,
this.backgroundColor,
});
final Widget child;
final Function()? onPressed;
final Color? backgroundColor;
@override
Widget build(BuildContext context) {
return RawMaterialButton(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
shape: const StadiumBorder(),
fillColor:
backgroundColor ?? AppColors.of(context).text.withValues(alpha: .15),
elevation: 0,
highlightElevation: 0,
onPressed: onPressed,
child: DefaultTextStyle(
style: Theme.of(context).textTheme.bodyMedium!.copyWith(
fontWeight: FontWeight.w600,
color: backgroundColor != null
? ColorUtils.foregroundColor(backgroundColor!)
: null,
),
child: child,
),
);
}
}