SectionHeader — заголовок блока с короткой акцентной полоской вместо разделителя. TileCarousel — горизонтальная прокрутка StatTile вместо Wrap, не требует общей высоты у детей. Оба без экрана-потребителя пока не влияют на вид приложения.
28 lines
796 B
Dart
28 lines
796 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
/// A horizontally scrolling row of tiles — the Grimmory-style carousel, used on the
|
|
/// dashboard in place of a [Wrap] of [StatTile]s so a long row of metrics scrolls
|
|
/// instead of wrapping onto a second, uneven line.
|
|
class TileCarousel extends StatelessWidget {
|
|
const TileCarousel({required this.children, super.key});
|
|
|
|
final List<Widget> children;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return SingleChildScrollView(
|
|
scrollDirection: Axis.horizontal,
|
|
child: IntrinsicHeight(
|
|
child: Row(
|
|
children: [
|
|
for (var i = 0; i < children.length; i++) ...[
|
|
if (i > 0) const SizedBox(width: 12),
|
|
children[i],
|
|
],
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|