Rebrand from Casera/MyCrib to honeyDue

Total rebrand across KMM project:
- Kotlin package: com.example.casera -> com.tt.honeyDue (dirs + declarations)
- Gradle: rootProject.name, namespace, applicationId
- Android: manifest, strings.xml (all languages), widget resources
- iOS: pbxproj bundle IDs, Info.plist, entitlements, xcconfig
- iOS directories: Casera/ -> HoneyDue/, CaseraTests/ -> HoneyDueTests/, etc.
- Swift source: all class/struct/enum renames
- Deep links: casera:// -> honeydue://, .casera -> .honeydue
- App icons replaced with honeyDue honeycomb icon
- Domains: casera.treytartt.com -> honeyDue.treytartt.com
- Bundle IDs: com.tt.casera -> com.tt.honeyDue
- Database table names preserved

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-03-07 06:33:57 -06:00
parent 9c574c4343
commit 1e2adf7660
450 changed files with 1730 additions and 1788 deletions

View File

@@ -50,7 +50,7 @@ implementation(libs.google.billing)
### Phase 2: Implement BillingManager
**File:** `composeApp/src/androidMain/kotlin/com/example/mycrib/platform/BillingManager.kt`
**File:** `composeApp/src/androidMain/kotlin/com/example/honeydue/platform/BillingManager.kt`
Replace stub implementation with full Google Play Billing:
@@ -58,8 +58,8 @@ Replace stub implementation with full Google Play Billing:
class BillingManager private constructor(private val context: Context) {
// Product IDs (match Google Play Console)
private val productIDs = listOf(
"com.example.casera.pro.monthly",
"com.example.casera.pro.annual"
"com.tt.honeyDue.pro.monthly",
"com.tt.honeyDue.pro.annual"
)
// BillingClient instance
@@ -94,7 +94,7 @@ class BillingManager private constructor(private val context: Context) {
### Phase 3: Update UpgradeFeatureScreen
**File:** `composeApp/src/commonMain/kotlin/com/example/mycrib/ui/subscription/UpgradeFeatureScreen.kt`
**File:** `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/subscription/UpgradeFeatureScreen.kt`
Transform from teaser+dialog to full inline paywall matching iOS:
@@ -130,7 +130,7 @@ fun UpgradeFeatureScreen(
### Phase 4: Create Android-Specific Product Display
**File:** `composeApp/src/androidMain/kotlin/com/example/mycrib/ui/subscription/SubscriptionProductButton.kt`
**File:** `composeApp/src/androidMain/kotlin/com/example/honeydue/ui/subscription/SubscriptionProductButton.kt`
```kotlin
@Composable
@@ -141,7 +141,7 @@ fun SubscriptionProductButton(
onSelect: () -> Unit
) {
// Display:
// - Product name (e.g., "MyCrib Pro Monthly")
// - Product name (e.g., "HoneyDue Pro Monthly")
// - Price from subscriptionOfferDetails
// - "Save X%" badge for annual
// - Loading indicator when processing
@@ -158,8 +158,8 @@ fun calculateAnnualSavings(monthly: ProductDetails, annual: ProductDetails): Int
### Phase 5: Disable FAB When Upgrade Showing
**Files to modify:**
- `composeApp/src/commonMain/kotlin/com/example/mycrib/ui/screens/ContractorsScreen.kt`
- `composeApp/src/commonMain/kotlin/com/example/mycrib/ui/screens/DocumentsScreen.kt`
- `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/screens/ContractorsScreen.kt`
- `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/screens/DocumentsScreen.kt`
**Changes:**
@@ -190,7 +190,7 @@ Same pattern for DocumentsScreen.
### Phase 6: Initialize BillingManager in MainActivity
**File:** `composeApp/src/androidMain/kotlin/com/example/mycrib/MainActivity.kt`
**File:** `composeApp/src/androidMain/kotlin/com/example/honeydue/MainActivity.kt`
```kotlin
override fun onCreate(savedInstanceState: Bundle?) {
@@ -270,7 +270,7 @@ These files show the iOS implementation to mirror:
## Notes
- Product IDs must match Google Play Console: `com.example.casera.pro.monthly`, `com.example.casera.pro.annual`
- Product IDs must match Google Play Console: `com.tt.honeyDue.pro.monthly`, `com.tt.honeyDue.pro.annual`
- Backend endpoint `POST /subscription/verify-android/` already exists in SubscriptionApi
- Testing requires Google Play Console setup with test products
- Use Google's test cards for sandbox testing

View File

@@ -1,6 +1,6 @@
# Onboarding Statistics Sources
This document provides citations for the statistics used in the Casera iOS onboarding screens.
This document provides citations for the statistics used in the honeyDue iOS onboarding screens.
## Statistics Used in the App

View File

@@ -72,7 +72,7 @@ Three TODO items related to deep-linking from push notifications:
### 1. Document Download
**File:** `composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentDetailScreen.kt`
**File:** `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/screens/DocumentDetailScreen.kt`
```kotlin
// TODO: Download functionality
@@ -86,7 +86,7 @@ Three TODO items related to deep-linking from push notifications:
### 2. Subscription Navigation from Residences
**File:** `composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidencesScreen.kt`
**File:** `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/screens/ResidencesScreen.kt`
```kotlin
// TODO: Navigate to subscription/upgrade screen
@@ -100,7 +100,7 @@ Three TODO items related to deep-linking from push notifications:
### 3. Subscription Navigation from Residence Detail
**File:** `composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceDetailScreen.kt`
**File:** `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/screens/ResidenceDetailScreen.kt`
```kotlin
// TODO: Navigate to subscription screen
@@ -114,7 +114,7 @@ Three TODO items related to deep-linking from push notifications:
### 4. Profile Update Disabled
**File:** `composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ProfileScreen.kt`
**File:** `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/screens/ProfileScreen.kt`
```kotlin
// Update profile button is disabled/not implemented
@@ -128,7 +128,7 @@ Three TODO items related to deep-linking from push notifications:
### 5. Contractor Favorite Toggle
**File:** `composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceDetailScreen.kt`
**File:** `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/screens/ResidenceDetailScreen.kt`
```kotlin
// Contractor favorite toggle not fully implemented