diff --git a/lib/features/email_recovery/presentation/controller/input_field_focus_manager.dart b/lib/features/email_recovery/presentation/controller/input_field_focus_manager.dart new file mode 100644 index 000000000..70cb056bb --- /dev/null +++ b/lib/features/email_recovery/presentation/controller/input_field_focus_manager.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; + +class InputFieldFocusManager { + late FocusNode deletionDateFieldFocusNode; + late FocusNode receptionDateFieldFocusNode; + late FocusNode subjectFieldFocusNode; + late FocusNode recipientsFieldFocusNode; + late FocusNode senderFieldFocusNode; + late FocusNode attachmentCheckboxFocusNode; + late FocusNode createButtonFocusNode; + + InputFieldFocusManager() { + deletionDateFieldFocusNode = FocusNode(); + receptionDateFieldFocusNode = FocusNode(); + subjectFieldFocusNode = FocusNode(); + recipientsFieldFocusNode = FocusNode(); + senderFieldFocusNode = FocusNode(); + attachmentCheckboxFocusNode = FocusNode(skipTraversal: true); + createButtonFocusNode = FocusNode(); + } + + factory InputFieldFocusManager.initial() { + return InputFieldFocusManager(); + } + + void dispose() { + deletionDateFieldFocusNode.dispose(); + receptionDateFieldFocusNode.dispose(); + subjectFieldFocusNode.dispose(); + recipientsFieldFocusNode.dispose(); + senderFieldFocusNode.dispose(); + attachmentCheckboxFocusNode.dispose(); + createButtonFocusNode.dispose(); + } +} \ No newline at end of file