import 'package:get/get.dart'; import '../model/filament_model.dart'; import '../helpers/filament_repository.dart'; class DetailsController extends GetxController { Rx filament = Rx(null); final isEditing = false.obs; @override void onInit() { if (Get.arguments != null && Get.arguments['filament'] != null) { filament.value = Get.arguments['filament']; } super.onInit(); } void toggleEdit() { isEditing.value = !isEditing.value; } void updateFilament(FilamentModel updatedFilament) { FilamentRepository.to.updateFilament(updatedFilament); filament.value = updatedFilament; isEditing.value = false; Get.snackbar( 'Erfolg', 'Filament wurde aktualisiert', snackPosition: SnackPosition.BOTTOM, ); } void deleteFilament() { if (filament.value != null) { FilamentRepository.to.deleteFilament(filament.value!.id); Get.back(); Get.snackbar( 'Gelöscht', 'Filament wurde entfernt', snackPosition: SnackPosition.BOTTOM, ); } } double get remainingWeight { if (filament.value == null) return 0; return filament.value!.weight - filament.value!.weightUsed; } double get usagePercentage { if (filament.value == null || filament.value!.weight == 0) return 0; return (filament.value!.weightUsed / filament.value!.weight) * 100; } @override void onClose() {} }