fluffychat/lib/widgets/layouts/max_width_body.dart

41 lines
1002 B
Dart
Raw Normal View History

2021-04-09 18:26:44 +02:00
import 'dart:math';
import 'package:flutter/material.dart';
class MaxWidthBody extends StatelessWidget {
2021-11-19 20:28:17 +01:00
final Widget? child;
2021-04-09 18:26:44 +02:00
final double maxWidth;
final bool withScrolling;
const MaxWidthBody({
this.child,
this.maxWidth = 600,
this.withScrolling = false,
2021-11-19 20:28:17 +01:00
Key? key,
2021-04-09 18:26:44 +02:00
}) : super(key: key);
@override
Widget build(BuildContext context) {
return SafeArea(
child: LayoutBuilder(
builder: (context, constraints) {
final padding = EdgeInsets.symmetric(
horizontal: max(0, (constraints.maxWidth - maxWidth) / 2),
);
return withScrolling
? SingleChildScrollView(
physics: const ScrollPhysics(),
child: Padding(
padding: padding,
child: child,
),
)
: Padding(
2021-04-09 18:26:44 +02:00
padding: padding,
child: child,
);
},
),
2021-04-09 18:26:44 +02:00
);
}
}