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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user