add detail page
This commit is contained in:
56
lib/controllers/details_controller.dart
Normal file
56
lib/controllers/details_controller.dart
Normal 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() {}
|
||||
}
|
||||
@@ -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) {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user