wrapGlanceRootContent function

String wrapGlanceRootContent(
  1. String code, {
  2. required String modifier,
  3. String contentAlignment = 'Alignment.Center',
})

Wraps the widget tree in a full-size Box with contentAlignment.

Used for the Android widget root so content is centered in the cell,

Implementation

String wrapGlanceRootContent(
  String code, {
  required String modifier,
  String contentAlignment = 'Alignment.Center',
}) {
  final indentMatch = RegExp(r'^(\s*)').firstMatch(code);
  final indent = indentMatch?.group(1) ?? '';
  final lines = code.split('\n');
  final indentedLines =
      lines.map((l) => l.trimRight().isEmpty ? '' : '    $l').join('\n');
  return '${indent}Box(modifier = GlanceModifier.$modifier, contentAlignment = $contentAlignment) {\n$indentedLines\n$indent}';
}