Implement custom 5-color design system across entire iOS app

Apply consistent branding colors (BlueGreen, Cerulean, BrightAmber, PrimaryScarlet,
cream backgrounds) to all screens, components, buttons, icons, and text throughout
the app. Update all Form/List views with proper list row backgrounds to ensure
visual consistency with card-based layouts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-11-21 07:58:01 -06:00
parent a4ba6794d5
commit a2b81a244b
70 changed files with 920 additions and 417 deletions

View File

@@ -52,6 +52,7 @@ struct CompleteTaskView: View {
} header: {
Text("Task Details")
}
.listRowBackground(Color.appBackgroundSecondary)
// Contractor Selection Section
Section {
@@ -89,6 +90,7 @@ struct CompleteTaskView: View {
} footer: {
Text("Select a contractor if they completed this work, or leave blank for manual entry.")
}
.listRowBackground(Color.appBackgroundSecondary)
// Completion Details Section
Section {
@@ -117,6 +119,7 @@ struct CompleteTaskView: View {
} footer: {
Text("Add any additional details about completing this task.")
}
.listRowBackground(Color.appBackgroundSecondary)
// Notes Section
Section {
@@ -132,6 +135,7 @@ struct CompleteTaskView: View {
} footer: {
Text("Optional notes about the work completed.")
}
.listRowBackground(Color.appBackgroundSecondary)
// Rating Section
Section {
@@ -165,6 +169,7 @@ struct CompleteTaskView: View {
} footer: {
Text("Rate the quality of work from 1 to 5 stars.")
}
.listRowBackground(Color.appBackgroundSecondary)
// Images Section
Section {
@@ -175,7 +180,7 @@ struct CompleteTaskView: View {
}) {
Label("Take Photo", systemImage: "camera")
.frame(maxWidth: .infinity)
.foregroundStyle(.blue)
.foregroundStyle(Color.appPrimary)
}
.buttonStyle(.bordered)
@@ -187,7 +192,7 @@ struct CompleteTaskView: View {
) {
Label("Library", systemImage: "photo.on.rectangle.angled")
.frame(maxWidth: .infinity)
.foregroundStyle(.blue)
.foregroundStyle(Color.appPrimary)
}
.buttonStyle(.bordered)
}
@@ -228,6 +233,7 @@ struct CompleteTaskView: View {
} footer: {
Text("Add up to 5 photos documenting the completed work.")
}
.listRowBackground(Color.appBackgroundSecondary)
// Complete Button Section
Section {
@@ -243,11 +249,14 @@ struct CompleteTaskView: View {
.frame(maxWidth: .infinity)
.fontWeight(.semibold)
}
.listRowBackground(isSubmitting ? Color.gray : Color.green)
.foregroundStyle(.white)
.listRowBackground(isSubmitting ? Color.gray : Color.appPrimary)
.foregroundStyle(Color.appTextOnPrimary)
.disabled(isSubmitting)
}
}
.listStyle(.plain)
.scrollContentBackground(.hidden)
.background(Color.appBackgroundPrimary)
.navigationTitle("Complete Task")
.navigationBarTitleDisplayMode(.inline)
.toolbar {
@@ -397,7 +406,7 @@ struct ContractorPickerView: View {
Spacer()
if selectedContractor == nil {
Image(systemName: "checkmark")
.foregroundStyle(.blue)
.foregroundStyle(Color.appPrimary)
}
}
}
@@ -411,7 +420,7 @@ struct ContractorPickerView: View {
}
} else if let errorMessage = contractorViewModel.errorMessage {
Text(errorMessage)
.foregroundStyle(.red)
.foregroundStyle(Color.appError)
.font(.caption)
} else {
ForEach(contractorViewModel.contractors, id: \.id) { contractor in
@@ -445,7 +454,7 @@ struct ContractorPickerView: View {
if selectedContractor?.id == contractor.id {
Image(systemName: "checkmark")
.foregroundStyle(.blue)
.foregroundStyle(Color.appPrimary)
}
}
}