Files
record-tool/lib/shared/widgets/app_card.dart
2026-06-04 14:34:46 +08:00

41 lines
982 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:recording_tool/app/theme/app_theme.dart';
class AppCard extends StatelessWidget {
const AppCard({
super.key,
required this.child,
this.padding,
this.margin,
this.onTap,
});
final Widget child;
final EdgeInsetsGeometry? padding;
final EdgeInsetsGeometry? margin;
final VoidCallback? onTap;
@override
Widget build(BuildContext context) {
final card = Container(
margin: margin,
padding: padding ?? EdgeInsets.all(AppSpacing.lg),
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.surface,
borderRadius: BorderRadius.circular(8.r),
border: Border.all(color: AppTheme.border),
),
child: child,
);
if (onTap == null) return card;
return InkWell(
onTap: onTap,
borderRadius: BorderRadius.circular(8.r),
child: card,
);
}
}