renderBlock method

List<Widget> renderBlock(
  1. BuildContext context
)

Implementation

List<Widget> renderBlock(BuildContext context) {
  var json = jsonDecode(widget.block);
  List<Widget> widgets = [];

  for (var block in json["blocks"]) {
    var blockType = block["type"];
    Widget? widget;
    switch (blockType) {
      case "section":
        widget = renderSectionBlock(context, block);
        break;

      case "actions":
        widget = renderActionsBlock(context, block);
        break;

      case "divider":
        widget = renderDividerBlock(context, block);
        break;

      case "image":
        widget = renderImageBlock(context, block);
        break;

      case "context":
        widget = renderContextBlock(context, block);
        break;

      case "header":
        widget = renderHeaderBlock(context, block);
        break;

      case "file":
        widget = renderFileBlock(context, block);
        break;

      case "input":
        widget = renderInputBlock(context, block);
        break;
    }

    if (widget != null) {
      widgets.add(widget);
    }
  }

  return widgets;
}