quid_faciam_hodie/lib/widgets/modal_sheet.dart
2022-08-22 20:03:31 +02:00

53 lines
1.5 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_platform_widgets/flutter_platform_widgets.dart';
import 'package:quid_faciam_hodie/constants/spacing.dart';
import 'package:quid_faciam_hodie/utils/theme.dart';
class ModalSheet extends StatelessWidget {
final Widget child;
const ModalSheet({
Key? key,
required this.child,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Align(
alignment: Alignment.bottomCenter,
child: PlatformWidget(
material: (_, __) => Container(
decoration: BoxDecoration(
borderRadius: const BorderRadius.only(
topLeft: Radius.circular(LARGE_SPACE),
topRight: Radius.circular(LARGE_SPACE),
),
color: getSheetColor(context),
),
child: SingleChildScrollView(
padding: const EdgeInsets.symmetric(
vertical: LARGE_SPACE,
horizontal: MEDIUM_SPACE,
),
child: child,
),
),
cupertino: (_, __) => CupertinoPopupSurface(
isSurfacePainted: false,
child: Container(
color: Colors.white,
child: SingleChildScrollView(
padding: const EdgeInsets.symmetric(
vertical: LARGE_SPACE,
horizontal: MEDIUM_SPACE,
),
child: child,
),
),
),
),
);
}
}