add some new features

This commit is contained in:
2026-10-29 15:03:48 +01:00
parent c876405a8f
commit 20012db615
39 changed files with 2908 additions and 97 deletions
+13 -6
View File
@@ -6,6 +6,7 @@ import '../helper/input_validators.dart';
import '../theme/app_theme.dart';
import 'bauteil_filament_auswahl.dart';
import 'bauteil_photo_picker.dart';
import 'bauteil_preis_uebersicht.dart';
import 'entry_panel.dart';
class BauteilForm extends StatelessWidget {
@@ -65,14 +66,18 @@ class BauteilForm extends StatelessWidget {
validator: InputValidators.nonNegative,
),
EntryNumberField(
controller: controller.gesamtpreisController,
label: 'Gesamtpreis (optional)',
unit: '€',
validator: (value) =>
InputValidators.nonNegative(value, optional: true),
controller: controller.aufschlagController,
label: 'Aufschlag',
unit: '%',
validator: InputValidators.nonNegative,
),
],
),
const SizedBox(height: 12),
const Text(
'Abfall wird automatisch in die Abfallverwaltung übernommen. Seine Kosten ergeben sich aus Einkaufspreis und Startgewicht der verwendeten Rollen. Bei mehreren Filamenten wird der Abfall nach ihrem Verbrauch aufgeteilt.',
style: TextStyle(color: AppTheme.muted, height: 1.5),
),
const SizedBox(height: 24),
BauteilPhotoPicker(controller: controller),
const SizedBox(height: 24),
@@ -87,7 +92,9 @@ class BauteilForm extends StatelessWidget {
),
const SizedBox(height: 12),
BauteilFilamentAuswahl(controller: controller),
const SizedBox(height: 12),
const SizedBox(height: 16),
BauteilPreisUebersicht(controller: controller),
const SizedBox(height: 16),
Obx(
() => FilledButton.icon(
onPressed: