mirror of
https://github.com/block/buzz.git
synced 2026-10-28 21:11:48 +00:00
## Summary Use rounded, grouped rows consistently across mobile sheets and menus, including Members and list pickers. Keep sheet content above the system gesture area with 4dp of extra bottom padding on Android and iOS. ### Related issue No duplicate found; related member-picker work: #4051. ### Testing - Mobile analysis, formatting, file-size checks, and full mobile test suite pass. - Android build installed and launched on Pixel 10. - Before/after Members previews use sample data (attached below). - Full `just ci` stopped during Rust compilation because local disk space ran out. Signed-off-by: kenny lopez <klopez4212@gmail.com>
39 lines
1.0 KiB
Dart
39 lines
1.0 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import '../theme/theme.dart';
|
|
import 'app_list_card.dart';
|
|
|
|
/// A sheet action group using the same rounded card as settings and lists.
|
|
/// The caller owns the sheet gutter; rows share the card's inset and dividers.
|
|
class SheetActionSection extends StatelessWidget {
|
|
const SheetActionSection({
|
|
super.key,
|
|
required this.children,
|
|
this.horizontalPadding = 0,
|
|
this.label,
|
|
this.dividerIndent,
|
|
});
|
|
|
|
final List<Widget> children;
|
|
|
|
final double horizontalPadding;
|
|
final String? label;
|
|
final double? dividerIndent;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
if (children.isEmpty) return const SizedBox.shrink();
|
|
return ListTileTheme.merge(
|
|
contentPadding: const EdgeInsets.symmetric(horizontal: Grid.xs),
|
|
minLeadingWidth: 22,
|
|
horizontalTitleGap: Grid.xs,
|
|
child: AppListCard(
|
|
horizontalPadding: horizontalPadding,
|
|
label: label,
|
|
dividerIndent: dividerIndent,
|
|
children: children,
|
|
),
|
|
);
|
|
}
|
|
}
|