// * Widget for selecting camera trap status // * Features: // * - Radio button selection between active and inactive // * - Localized status labels // * - Default selection support import 'package:flutter/material.dart'; import 'package:fforte/l10n/app_localizations.dart'; /// Widget for selecting the operational status of a camera trap /// Allows toggling between active and inactive states class Status extends StatefulWidget { /// Callback function when status selection changes final Function(String) onStatusChanged; /// Initial status selection ('Aktiv' by default) final String initialStatus; const Status( {super.key, required this.onStatusChanged, this.initialStatus = 'Aktiv'}); @override State createState() => _StatusState(); } /// State class for the status selection widget class _StatusState extends State { /// Currently selected status String? _selectedStatus; @override void initState() { super.initState(); _selectedStatus = widget.initialStatus; } @override Widget build(BuildContext context) { return Column( children: [ // Active status option ListTile( visualDensity: const VisualDensity(vertical: -4), title: Text(AppLocalizations.of(context)!.aktiv), leading: Radio( value: 'aktiv', groupValue: _selectedStatus, onChanged: (value) { setState(() { _selectedStatus = value; widget.onStatusChanged(value!); }); }, ), ), // Inactive status option ListTile( visualDensity: const VisualDensity(vertical: -4), title: Text(AppLocalizations.of(context)!.inaktiv), leading: Radio( value: 'inaktiv', groupValue: _selectedStatus, onChanged: (value) { setState(() { _selectedStatus = value; widget.onStatusChanged(value!); }); }, ), ), ], ); } }