Files
honeyDueKMP/composeApp/src/commonMain/kotlin/com/example/mycrib/models/Lookups.kt
Trey t f1f71224aa Add Android theme system and fix package naming issues
This commit adds a comprehensive theming system to Android matching iOS, and fixes package declarations throughout the codebase to match directory structure.

Theme System Additions:
- Added 11 themes matching iOS: Default, Teal, Ocean, Forest, Sunset, Monochrome, Lavender, Crimson, Midnight, Desert, Mint
- Created ThemeColors.kt with exact iOS color values for light/dark modes
- Added ThemeManager.kt for dynamic theme switching
- Created Spacing.kt with standardized spacing constants (xs/sm/md/lg/xl)
- Added ThemePickerDialog.kt for theme selection UI
- Integrated theme switching in ProfileScreen.kt
- Updated App.kt to observe ThemeManager for reactive theming

Component Library:
- Added StandardCard.kt and CompactCard.kt for consistent card styling
- Added FormTextField.kt with error/helper text support
- Added FormSection.kt for grouping related form fields
- Added StandardEmptyState.kt for empty state UI

Package Migration:
- Fixed all package declarations to match directory structure (com.example.mycrib.*)
- Updated package declarations in commonMain, androidMain, and iosMain
- Fixed all import statements across entire codebase
- Ensures compilation on both Android and iOS platforms

iOS Theme Rename:
- Renamed "Default" theme to "Teal" in iOS
- Renamed "Bright" theme to "Default" in iOS to make vibrant colors the default

Build Status:
-  Android builds successfully
-  iOS builds successfully

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 10:44:54 -06:00

100 lines
2.2 KiB
Kotlin

package com.example.mycrib.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class ResidenceTypeResponse(
val count: Int,
val results: List<ResidenceType>
)
@Serializable
data class ResidenceType(
val id: Int,
val name: String,
val description: String? = null
)
@Serializable
data class TaskFrequencyResponse(
val count: Int,
val results: List<TaskFrequency>
)
@Serializable
data class TaskFrequency(
val id: Int,
val name: String,
@SerialName("lookup_name") val lookupName: String,
@SerialName("display_name") val displayName: String,
@SerialName("day_span") val daySpan: Int? = null,
@SerialName("notify_days") val notifyDays: Int? = null
)
@Serializable
data class TaskPriorityResponse(
val count: Int,
val results: List<TaskPriority>
)
@Serializable
data class TaskPriority(
val id: Int,
val name: String,
@SerialName("display_name") val displayName: String,
@SerialName("order_id") val orderId: Int = 0,
val description: String? = null
)
@Serializable
data class TaskStatusResponse(
val count: Int,
val results: List<TaskStatus>
)
@Serializable
data class TaskStatus(
val id: Int,
val name: String,
@SerialName("display_name") val displayName: String,
@SerialName("order_id") val orderId: Int = 0,
val description: String? = null
)
@Serializable
data class TaskCategoryResponse(
val count: Int,
val results: List<TaskCategory>
)
@Serializable
data class TaskCategory(
val id: Int,
val name: String,
@SerialName("order_id") val orderId: Int = 0,
val description: String? = null
)
@Serializable
data class ContractorSpecialtyResponse(
val count: Int,
val results: List<ContractorSpecialty>
)
@Serializable
data class ContractorSpecialty(
val id: Int,
val name: String
)
@Serializable
data class StaticDataResponse(
val residenceTypes: List<ResidenceType>,
val taskFrequencies: List<TaskFrequency>,
val taskPriorities: List<TaskPriority>,
val taskStatuses: List<TaskStatus>,
val taskCategories: List<TaskCategory>,
val contractorSpecialties: List<ContractorSpecialty>
)