From 26c938408f43d7fff6dda07ca06edf360e1ae134 Mon Sep 17 00:00:00 2001 From: Vitalij Vascenko Date: Mon, 3 Feb 2025 12:02:55 +0100 Subject: [PATCH] add util method --- optimus_widgetbook/lib/components/list/list_tile.dart | 6 +++--- optimus_widgetbook/lib/utils.dart | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) 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',