feat(flutter/widgets): HorizontalScrollRow skips header when title empty

Lets multiple stacked HorizontalScrollRow instances render under a
single visible heading by passing title: "" to the second-row-onward
instances. Combined with the existing shared-controller support, this
gives us multi-row scrollers without a new widget.

Used in the next commit's home rewrite for Recently added (2 rows)
and Most played (3 rows).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-09 11:38:57 -04:00
parent a7fcafadda
commit 8fb82d473d
@@ -23,17 +23,18 @@ class HorizontalScrollRow extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
final fs = Theme.of(context).extension<FabledSwordTheme>()!; final fs = Theme.of(context).extension<FabledSwordTheme>()!;
return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
Padding( if (title.isNotEmpty)
padding: const EdgeInsets.fromLTRB(16, 8, 16, 8), Padding(
child: Text( padding: const EdgeInsets.fromLTRB(16, 8, 16, 8),
title, child: Text(
style: TextStyle( title,
fontFamily: fs.display.fontFamily, style: TextStyle(
fontSize: 18, fontFamily: fs.display.fontFamily,
color: fs.parchment, fontSize: 18,
color: fs.parchment,
),
), ),
), ),
),
SizedBox( SizedBox(
height: height, height: height,
child: ListView( child: ListView(