refactor ui
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good

This commit is contained in:
2025-09-05 11:02:06 -05:00
parent 7da1cfdd45
commit 87bf174bb8
5 changed files with 57 additions and 43 deletions

View File

@@ -50,18 +50,10 @@ class _EditMountScreenState extends State<EditMountScreen>
), ),
children: [ children: [
Expanded( Expanded(
child: Padding( child: MountSettingsWidget(
padding: const EdgeInsets.symmetric(horizontal: constants.padding), mount: widget.mount,
child: ClipRRect( settings: jsonDecode(jsonEncode(widget.mount.mountConfig.settings)),
borderRadius: BorderRadius.circular(constants.borderRadius), showAdvanced: _showAdvanced,
child: MountSettingsWidget(
mount: widget.mount,
settings: jsonDecode(
jsonEncode(widget.mount.mountConfig.settings),
),
showAdvanced: _showAdvanced,
),
),
), ),
), ),
const SizedBox(height: constants.padding), const SizedBox(height: constants.padding),

View File

@@ -29,26 +29,20 @@ class _EditSettingsScreenState extends State<EditSettingsScreen>
showBack: true, showBack: true,
children: [ children: [
Expanded( Expanded(
child: Padding( child: FutureBuilder<Map<String, dynamic>>(
padding: const EdgeInsets.symmetric(horizontal: constants.padding), future: _grabSettings(),
child: ClipRRect( initialData: const <String, dynamic>{},
borderRadius: BorderRadius.circular(constants.borderRadius), builder: (context, snapshot) {
child: FutureBuilder<Map<String, dynamic>>( if (!snapshot.hasData) {
future: _grabSettings(), return const Center(child: CircularProgressIndicator());
initialData: const <String, dynamic>{}, }
builder: (context, snapshot) {
if (!snapshot.hasData) {
return const Center(child: CircularProgressIndicator());
}
return UISettingsWidget( return UISettingsWidget(
origSettings: jsonDecode(jsonEncode(snapshot.requireData)), origSettings: jsonDecode(jsonEncode(snapshot.requireData)),
settings: snapshot.requireData, settings: snapshot.requireData,
showAdvanced: false, showAdvanced: false,
); );
}, },
),
),
), ),
), ),
const SizedBox(height: constants.padding), const SizedBox(height: constants.padding),

View File

@@ -65,14 +65,7 @@ class _HomeScreeState extends State<HomeScreen> {
), ),
), ),
), ),
children: [ children: [Expanded(child: const MountListWidget())],
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: constants.padding),
child: const MountListWidget(),
),
),
],
); );
} }
} }

View File

@@ -55,7 +55,9 @@ class AppDropdown<T> extends StatelessWidget {
} }
double? _computedMaxWidth(BuildContext context) { double? _computedMaxWidth(BuildContext context) {
if (!constrainToIntrinsic) return maxWidth; if (!constrainToIntrinsic) {
return maxWidth;
}
final theme = Theme.of(context); final theme = Theme.of(context);
final scheme = theme.colorScheme; final scheme = theme.colorScheme;
@@ -129,11 +131,11 @@ class AppDropdown<T> extends StatelessWidget {
validator: validator, validator: validator,
); );
final maxW = _computedMaxWidth(context); final maxWidth = _computedMaxWidth(context);
final wrapped = maxW == null final wrapped = maxWidth == null
? field ? field
: ConstrainedBox( : ConstrainedBox(
constraints: BoxConstraints(maxWidth: maxW), constraints: BoxConstraints(maxWidth: maxWidth),
child: field, child: field,
); );

View File

@@ -0,0 +1,33 @@
// section_card.dart
import 'package:flutter/material.dart';
import 'package:repertory/constants.dart' as constants;
class SectionCard extends StatelessWidget {
const SectionCard({super.key, required this.title, required this.child});
final String title;
final Widget child;
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
return Card(
elevation: 0,
margin: const EdgeInsets.symmetric(vertical: constants.paddingSmall),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(constants.borderRadiusSmall),
),
child: Padding(
padding: const EdgeInsets.all(constants.padding),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(title, style: theme.textTheme.titleMedium),
const SizedBox(height: constants.paddingSmall),
child,
],
),
),
);
}
}