add detail page

This commit is contained in:
atseirjo
2026-01-15 11:40:09 +01:00
parent bbd6d7c49c
commit b9f379ad53
43 changed files with 942 additions and 128 deletions

View File

@@ -0,0 +1,56 @@
import 'package:get/get.dart';
import '../model/filament_model.dart';
import '../helpers/filament_repository.dart';
class DetailsController extends GetxController {
Rx<FilamentModel?> filament = Rx<FilamentModel?>(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() {}
}

View File

@@ -1,6 +1,7 @@
import 'package:get/get.dart';
import '../../model/filament_model.dart';
import '../../helpers/filament_repository.dart';
import '../pages/details_view.dart';
class ListController extends GetxController {
final filamentList = <FilamentModel>[].obs;
@@ -30,7 +31,9 @@ class ListController extends GetxController {
void addNewFilament() {}
void viewFilamentDetails(FilamentModel filament) {}
void viewFilamentDetails(FilamentModel filament) {
Get.toNamed(DetailsPage.namedRoute, arguments: {'filament': filament});
}
void editFilament(FilamentModel filament) {}