import 'package:flutter/material.dart'; import 'package:pweb/pages/settings/profile/actions/constants.dart'; class ProfileActionButtonsLayout extends StatelessWidget { const ProfileActionButtonsLayout({super.key, required this.children}); final List children; @override Widget build(BuildContext context) { return LayoutBuilder( builder: (context, constraints) { final isCompact = constraints.maxWidth < ProfileActionsLayoutConstants.compactBreakpoint; if (isCompact) { return Center( child: ConstrainedBox( constraints: const BoxConstraints( maxWidth: ProfileActionsLayoutConstants.buttonWidth, ), child: Column( mainAxisSize: MainAxisSize.min, children: _buildChildren(isCompact: true), ), ), ); } return Row( mainAxisSize: MainAxisSize.min, children: _buildChildren(isCompact: false), ); }, ); } List _buildChildren({required bool isCompact}) { return [ for (var index = 0; index < children.length; index++) ...[ SizedBox( width: isCompact ? double.infinity : ProfileActionsLayoutConstants.buttonWidth, child: children[index], ), if (index != children.length - 1) SizedBox( width: isCompact ? 0 : ProfileActionsLayoutConstants.buttonGap, height: isCompact ? ProfileActionsLayoutConstants.buttonGap : 0, ), ], ]; } }