Polish UI consistency across all CRUD forms and fix data display issues

- Rewrite ResidenceFormView to use standard Form/Section pattern matching TaskFormView
- Remove unused organic form components (OrganicFormSection, OrganicFormTextField, etc.)
- Fix DocumentFormView: NavigationView→NavigationStack, WarmGradientBackground→appBackgroundPrimary, listRowBackground→sectionBackground
- Add Required footer to residence name field and task title/property fields
- Remove redundant Required footers from pickers that always have values
- Fix grey priority dots on kanban cards by guarding PriorityBadge in DynamicTaskCard and TaskCard
- Fix empty frequency labels showing on task cards
- Fix contractor Maps URL building to filter empty strings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-03-05 16:00:40 -06:00
parent 48081c0cc8
commit 61ab95d108
7 changed files with 195 additions and 521 deletions

View File

@@ -209,10 +209,6 @@ struct TaskFormView: View {
}
} header: {
Text(L10n.Tasks.category)
} footer: {
Text(L10n.Tasks.required)
.font(.caption)
.foregroundColor(Color.appError)
}
.sectionBackground()
@@ -246,10 +242,6 @@ struct TaskFormView: View {
Text("Enter the number of days between each occurrence")
.font(.caption)
.foregroundColor(Color.appTextSecondary)
} else {
Text(L10n.Tasks.required)
.font(.caption)
.foregroundColor(Color.appError)
}
}
.sectionBackground()
@@ -265,10 +257,6 @@ struct TaskFormView: View {
Toggle(L10n.Tasks.inProgressLabel, isOn: $inProgress)
} header: {
Text(L10n.Tasks.priorityAndStatus)
} footer: {
Text(L10n.Tasks.required)
.font(.caption)
.foregroundColor(Color.appError)
}
.sectionBackground()