This commit is contained in:
2025-10-05 19:27:25 -05:00
parent a969546a05
commit 7dbd367178
3 changed files with 29 additions and 23 deletions

View File

@@ -5,13 +5,13 @@ import 'package:repertory/constants.dart' as constants;
class AppIconButtonFramed extends StatelessWidget {
final IconData icon;
final VoidCallback? onTap;
final VoidCallback? onPressed;
final Color? iconColor;
const AppIconButtonFramed({
super.key,
required this.icon,
this.onTap,
this.onPressed,
this.iconColor,
});
@@ -23,7 +23,7 @@ class AppIconButtonFramed extends StatelessWidget {
return Material(
color: Colors.transparent,
child: InkWell(
onTap: onTap,
onTap: onPressed,
borderRadius: radius,
child: Ink(
width: 46,

View File

@@ -29,7 +29,7 @@ class AppToggleButtonFramed extends StatelessWidget {
return AppIconButtonFramed(
icon: icon,
iconColor: iconColor,
onTap: mounted == null ? null : onPressed,
onPressed: mounted == null ? null : onPressed,
);
}
}

View File

@@ -21,7 +21,6 @@ class MountWidget extends StatefulWidget {
class _MountWidgetState extends State<MountWidget>
with SafeSetState<MountWidget> {
bool _enabled = true;
bool _editEnabled = true;
Timer? _timer;
@override
@@ -68,13 +67,11 @@ class _MountWidgetState extends State<MountWidget>
children: [
AppIconButtonFramed(
icon: Icons.settings,
onTap: () {
Navigator.pushNamed(
context,
'/edit',
arguments: mount,
);
},
onPressed: () => Navigator.pushNamed(
context,
'/edit',
arguments: mount,
),
),
const SizedBox(width: constants.padding),
Expanded(
@@ -89,13 +86,25 @@ class _MountWidgetState extends State<MountWidget>
],
),
),
if (!(mount.mounted ?? false))
if (mount.mounted == null) ...[
AppIconButtonFramed(
icon: Icons.delete,
onTap: () async {
return mount.remove();
},
onPressed: _enabled
? () async {
setState(() {
_enabled = false;
});
await mount.remove();
setState(() {
_enabled = true;
});
}
: null,
),
SizedBox(width: constants.paddingSmall),
],
AppToggleButtonFramed(
mounted: mount.mounted,
onPressed: _createMountHandler(context, mount),
@@ -108,20 +117,17 @@ class _MountWidgetState extends State<MountWidget>
AppOutlinedIconButton(
text: 'Edit path',
icon: Icons.edit,
enabled: mount.mounted == false,
enabled: _enabled && mount.mounted == false,
onPressed: () async {
if (!_editEnabled) {
return;
}
setState(() {
_editEnabled = false;
_enabled = false;
});
final available = await mount.getAvailableLocations();
if (!mounted) {
setState(() {
_editEnabled = true;
_enabled = true;
});
return;
}
@@ -141,7 +147,7 @@ class _MountWidgetState extends State<MountWidget>
if (mounted) {
setState(() {
_editEnabled = true;
_enabled = true;
});
}
},