CCExtractor / CCExtractor/taskwarrior-flutter

[Refactor] Complete GetX Migration — Remove All Remaining `setState` and `GetBuilder` Usage

Abierto
#615 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Dart
Estrellas
244
Forks
179
Merge medio
12 h 42 min
PR fusionados (30 d)
2

Descripción

### Summary

Several files in the codebase still use Flutter's native `setState` / `StatefulBuilder` for local UI state, and one instance of `GetBuilder` remains in the app. These are inconsistent with the project's GetX-first architecture already established in `HomeController`, `DetailRouteController`, etc.

### Problem

| File | Issue |
|------|-------|
| `tags_widget.dart` | `TagsRoute` is a `StatefulWidget` with 3 `setState` calls — no corresponding GetX controller exists |
| `date_picker_input.dart` | 3 `setState` calls managing `currentIndex` and `_selectedDates` list |
| `profile_view.dart` | `StatefulBuilder` wrapping dialog content with 2 `setState` calls for `selectedMode` |
| `manage_task_server_page_body.dart` | 1 `setState` inside modal + 1 `GetBuilder` |
| `add_task_bottom_sheet_new.dart` | 4 orphaned `homeController.update()` calls — NOPs since no `GetBuilder` listens |
| `tasks_builder.dart` | Calls private `storageWidget._refreshTasks()` — brittle and bypasses the public API |

### Expected Behavior

All UI state should be managed via `.obs` reactive variables and `Obx` widgets, consistent with the existing GetX architecture. No `setState`, `StatefulBuilder`, or orphaned `update()` calls should remain in the app code.

### Steps to Reproduce

Run `grep -r "setState" lib/app/` — returns active hits in the files above.

### Labels

`refactor` `getx` `state-management` `good first issue`

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con los archivos mencionados en la issue: tags_widget.dart, date_picker_input.dart, profile_view.dart, manage_task_server_page_body.dart, add_task_bottom_sheet_new.dart y tasks_builder.dart. Ejecuta grep -r "setState" lib/app/ e inspecciona los patrones existentes de GetX en HomeController y DetailRouteController. Se considera terminado cuando se hayan eliminado las llamadas nativas de gestión de estado indicadas, las llamadas huérfanas a update() y el uso privado de _refreshTasks(), sin dejar coincidencias activas.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
dart, flutter
Área
mobile
Tipo de issue
Refactorización
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.