filament_verwaltung/lib/controllers/details_controller.dart
2026-01-15 13:44:48 +01:00

47 lines
1.2 KiB
Dart

import 'package:get/get.dart';
import '../model/filament_model.dart';
import '../helpers/filament_repository.dart';
import '../pages/edit_view.dart';
class DetailsController extends GetxController {
Rx<FilamentModel?> filament = Rx<FilamentModel?>(null);
@override
void onInit() {
if (Get.arguments != null && Get.arguments['filament'] != null) {
filament.value = Get.arguments['filament'];
}
super.onInit();
}
void onEditPressed() {
// Implement edit functionality here
Get.toNamed(EditPage.namedRoute, arguments: {'filament': filament.value});
}
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() {}
}