refactor
This commit is contained in:
@@ -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,
|
||||
|
@@ -29,7 +29,7 @@ class AppToggleButtonFramed extends StatelessWidget {
|
||||
return AppIconButtonFramed(
|
||||
icon: icon,
|
||||
iconColor: iconColor,
|
||||
onTap: mounted == null ? null : onPressed,
|
||||
onPressed: mounted == null ? null : onPressed,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
});
|
||||
}
|
||||
},
|
||||
|
Reference in New Issue
Block a user