nexus/lib/widgets/renderers/generic_event.dart

34 lines
880 B
Dart

import "package:material_ui/material_ui.dart";
class const GenericEventRenderer(
final IconData icon,
final List<InlineSpan> children, {
final int? maxLines,
super.key,
}) extends StatelessWidget {
@override
Widget build(BuildContext context) => Padding(
padding: .symmetric(vertical: 4),
child: Row(
spacing: 8,
mainAxisSize: .min,
children: [
Padding(padding: .symmetric(horizontal: 4), child: Icon(icon)),
Flexible(
child: Text.rich(
TextSpan(
children: [
for (final (index, child) in children.indexed) ...[
if (index > 0) TextSpan(text: " "),
child,
],
],
),
maxLines: maxLines ?? 9007199254740991,
overflow: .ellipsis,
),
),
],
),
);
}