added new excursion widget files

This commit is contained in:
Nico
2024-12-23 18:19:56 +01:00
parent a556f8de43
commit e7e3f15eb0
3 changed files with 214 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
// Bundeswehr
// Gastreitkraefte
// NNE Bund
// Geschaeftsliegenschaft/AGV
// kein
class BimaNutzer extends StatefulWidget {
final Function(String) onBimaNutzerChanged;
final String initialStatus;
const BimaNutzer(
{super.key, required this.onBimaNutzerChanged, this.initialStatus = 'Bundeswehr'});
@override
State<BimaNutzer> createState() => _StatusState();
}
class _StatusState extends State<BimaNutzer> {
String? _selectedStatus;
@override
void initState() {
super.initState();
_selectedStatus = widget.initialStatus;
}
@override
Widget build(BuildContext context) {
return Column(
children: [
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.bundeswehr),
leading: Radio<String>(
value: 'Bundeswehr',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onBimaNutzerChanged(value!);
});
},
),
),
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.gaststreitkraefte),
leading: Radio<String>(
value: 'Gaststreitkraefte',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onBimaNutzerChanged(value!);
});
},
),
),
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.nneBund),
leading: Radio<String>(
value: 'NNE-Bund',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onBimaNutzerChanged(value!);
});
},
),
),
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.geschaeftsliegenschaftAGV),
leading: Radio<String>(
value: 'Geschaeftsliegenschaft/AGV',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onBimaNutzerChanged(value!);
});
},
),
),
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.kein),
leading: Radio<String>(
value: 'kein',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onBimaNutzerChanged(value!);
});
},
),
),
],
);
}
}

View File

@@ -0,0 +1,107 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
// Bundeswehr
// Gastreitkraefte
// NNE Bund
// Geschaeftsliegenschaft/AGV
// kein
class Status extends StatefulWidget {
final Function(String) onStatusChanged;
final String initialStatus;
const Status(
{super.key, required this.onStatusChanged, this.initialStatus = 'Aktiv'});
@override
State<Status> createState() => _StatusState();
}
class _StatusState extends State<Status> {
String? _selectedStatus;
@override
void initState() {
super.initState();
_selectedStatus = widget.initialStatus;
}
@override
Widget build(BuildContext context) {
return Column(
children: [
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.),
leading: Radio<String>(
value: 'Bundeswehr',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onStatusChanged(value!);
});
},
),
),
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.gesamtstreitkraefte),
leading: Radio<String>(
value: 'Gaststreitkraefte',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onStatusChanged(value!);
});
},
),
),
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.),
leading: Radio<String>(
value: 'NNE-Bund',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onStatusChanged(value!);
});
},
),
),
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.),
leading: Radio<String>(
value: 'Geschaeftsliegenschaft/AGV',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onStatusChanged(value!);
});
},
),
),
ListTile(
visualDensity: const VisualDensity(vertical: -4),
title: Text(AppLocalizations.of(context)!.),
leading: Radio<String>(
value: 'kein',
groupValue: _selectedStatus,
onChanged: (value) {
setState(() {
_selectedStatus = value;
widget.onStatusChanged(value!);
});
},
),
),
],
);
}
}