This commit is contained in:
@@ -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),
|
||||||
|
@@ -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),
|
||||||
|
@@ -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(),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
33
web/repertory/lib/widgets/section_card.dart
Normal file
33
web/repertory/lib/widgets/section_card.dart
Normal 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,
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user