import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:mobile_nebula/services/utils.dart'; import 'ConfigHeader.dart'; class ConfigSection extends StatelessWidget { const ConfigSection({Key key, this.label, this.children, this.borderColor, this.labelColor}) : super(key: key); final List children; final String label; final Color borderColor; final Color labelColor; @override Widget build(BuildContext context) { final border = BorderSide(color: borderColor ?? Utils.configSectionBorder(context)); List _children = []; final len = children.length; for (var i = 0; i < len; i++) { _children.add(children[i]); if (i < len - 1) { double pad = 15; if (children[i + 1].runtimeType.toString() == 'ConfigButtonItem') { pad = 0; } _children.add(Padding( child: Divider(height: 1, color: Utils.configSectionBorder(context)), padding: EdgeInsets.only(left: pad))); } } return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ label != null ? ConfigHeader(label: label, color: labelColor) : Container(height: 20), Container( decoration: BoxDecoration(border: Border(top: border, bottom: border), color: Utils.configItemBackground(context)), child: Column( children: _children, )) ]); } }