diff --git a/optimus_widgetbook/lib/components/list/list_tile.dart b/optimus_widgetbook/lib/components/list/list_tile.dart index 597bef2c..d1b3ca89 100644 --- a/optimus_widgetbook/lib/components/list/list_tile.dart +++ b/optimus_widgetbook/lib/components/list/list_tile.dart @@ -49,9 +49,9 @@ Widget createDefaultStyle(BuildContext context) { : null, info: info.isNotEmpty ? Text(info) : null, fontVariant: fontVariant, - prefix: prefix != null ? Icon(prefix.data) : null, - suffix: suffix != null ? Icon(suffix.data) : null, - infoWidget: infoWidget != null ? Icon(infoWidget.data) : null, + prefix: iconOrNull(prefix), + suffix: iconOrNull(suffix), + infoWidget: iconOrNull(infoWidget), onTap: ignore, prefixSize: prefixSize, prefixVerticalAlignment: prefixAlignment, diff --git a/optimus_widgetbook/lib/utils.dart b/optimus_widgetbook/lib/utils.dart index 723336a8..1741f4f1 100644 --- a/optimus_widgetbook/lib/utils.dart +++ b/optimus_widgetbook/lib/utils.dart @@ -1,3 +1,4 @@ +import 'package:dfunc/dfunc.dart'; import 'package:flutter/widgets.dart'; import 'package:optimus/optimus.dart'; import 'package:widgetbook/widgetbook.dart'; @@ -28,6 +29,9 @@ String enumOrNullLabelBuilder(T? value) => value?.name ?? ''; String enumLabelBuilder(T value) => value.name; +Icon? iconOrNull(IconDetails? details) => + details?.let((details) => Icon(details.data)); + extension KnobsBuilderExt on KnobsBuilder { OptimusWidgetSize get widgetSizeKnob => list( label: 'Size',