build method

  1. @override
Widget build(
  1. BuildContext context,
  2. Controller model
)
override

Builds the UI according to the state in model.

Implementation

@override
Widget build(BuildContext context, Controller model) => Theme(
  data: Theme.of(context).copyWith(
    listTileTheme: ListTileTheme.of(context).copyWith(
      minVerticalPadding: 4,
      minTileHeight: 24,
    ),
  ),
  child: ExpansionTile(
    expandedCrossAxisAlignment: CrossAxisAlignment.start,
    expandedAlignment: Alignment.centerLeft,
    childrenPadding: const EdgeInsets.symmetric(
      horizontal: 16,
    ),
    title: Text(
      model.controls.mode.name,
      style: context.textTheme.titleLarge?.copyWith(
        fontSize: 20,
      ),
      textAlign: TextAlign.start,
    ),
    children: [
      for (final entry in model.controls.buttonMapping.entries) ...[
        Text(entry.key, style: context.textTheme.labelLarge),
        Text(
          "  ${entry.value}",
          style: context.textTheme.bodyMedium,
        ),
      ],
    ],
  ),
);