Add custom interval days support for task frequency
- Add customIntervalDays field to Kotlin models (TaskResponse, TaskCreateRequest, TaskUpdateRequest) - Update Android AddTaskDialog to show interval field only for "Custom" frequency - Update Android EditTaskScreen for custom frequency support - Update iOS TaskFormView for custom frequency support - Fix preview data in TaskCard and TasksSection to include new field - Add customIntervalDays to OnboardingFirstTaskView 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -351,6 +351,30 @@ object DataManager {
|
||||
persistToDisk()
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter cached allTasks by residence ID to avoid separate API call.
|
||||
* Returns null if allTasks not cached.
|
||||
* This enables client-side filtering when we already have all tasks loaded.
|
||||
*/
|
||||
fun getTasksForResidence(residenceId: Int): TaskColumnsResponse? {
|
||||
val allTasksData = _allTasks.value ?: return null
|
||||
|
||||
// Filter each column's tasks by residence ID
|
||||
val filteredColumns = allTasksData.columns.map { column ->
|
||||
column.copy(
|
||||
tasks = column.tasks.filter { it.residenceId == residenceId },
|
||||
count = column.tasks.count { it.residenceId == residenceId }
|
||||
)
|
||||
}
|
||||
|
||||
return TaskColumnsResponse(
|
||||
columns = filteredColumns,
|
||||
daysThreshold = allTasksData.daysThreshold,
|
||||
residenceId = residenceId.toString(),
|
||||
summary = null // Summary is global; residence-specific not available client-side
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a single task - moves it to the correct kanban column based on kanban_column field.
|
||||
* This is called after task completion, status change, etc.
|
||||
|
||||
Reference in New Issue
Block a user