Add residence picker to contractor create/edit screens

Kotlin/KMM:
- Update Contractor model with optional residenceId and specialties array
- Rename averageRating to rating, update address field names
- Add ContractorMinimal model for task references
- Add residence picker and multi-select specialty chips to AddContractorDialog
- Fix ContractorsScreen and ContractorDetailScreen field references

iOS:
- Rewrite ContractorFormSheet with residence and specialty pickers
- Update ContractorDetailView with FlowLayout for specialties
- Add FlowLayout component for wrapping badge layouts
- Fix ContractorCard and CompleteTaskView field references
- Update ContractorFormState with residence/specialty selection

🤖 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-29 18:42:18 -06:00
parent c748f792d0
commit b0838d85df
22 changed files with 1472 additions and 1200 deletions

View File

@@ -11,12 +11,16 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
shouldUseLaunchSchemeArgsEnv = "YES">
<TestPlans>
<TestPlanReference
reference = "container:CaseraUITests.xctestplan"
default = "YES">
</TestPlanReference>
</TestPlans>
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES">
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1CBF1BEC2ECD9768001BF56C"
@@ -24,6 +28,32 @@
BlueprintName = "CaseraUITests"
ReferencedContainer = "container:iosApp.xcodeproj">
</BuildableReference>
<SkippedTests>
<Test
Identifier = "CaseraUITests">
</Test>
<Test
Identifier = "CaseraUITests/testExample()">
</Test>
<Test
Identifier = "CaseraUITests/testLaunchPerformance()">
</Test>
<Test
Identifier = "CaseraUITestsLaunchTests">
</Test>
<Test
Identifier = "CaseraUITestsLaunchTests/testLaunch()">
</Test>
<Test
Identifier = "SimpleLoginTest">
</Test>
<Test
Identifier = "SimpleLoginTest/testAppLaunchesAndShowsLoginScreen()">
</Test>
<Test
Identifier = "SimpleLoginTest/testCanTypeInLoginFields()">
</Test>
</SkippedTests>
</TestableReference>
</Testables>
</TestAction>
@@ -37,6 +67,16 @@
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D4ADB376A7A4CFB73469E173"
BuildableName = "Casera.app"
BlueprintName = "Casera"
ReferencedContainer = "container:iosApp.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
@@ -44,6 +84,15 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D4ADB376A7A4CFB73469E173"
BuildableName = "Casera.app"
BlueprintName = "Casera"
ReferencedContainer = "container:iosApp.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">