diff --git a/CLAUDE.md b/CLAUDE.md
index 4361869..371a2ba 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -10,12 +10,12 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Project Overview
-MyCrib (Casera) is a Kotlin Multiplatform Mobile (KMM) property management application with shared business logic and platform-specific UI implementations. The backend is a Go REST API with PostgreSQL (located in the sibling `myCribAPI-go` directory).
+HoneyDue (honeyDue) is a Kotlin Multiplatform Mobile (KMM) property management application with shared business logic and platform-specific UI implementations. The backend is a Go REST API with PostgreSQL (located in the sibling `honeyDueAPI-go` directory).
**Tech Stack:**
- **Shared (Kotlin)**: Compose Multiplatform for Android, networking layer, ViewModels, models
- **iOS**: SwiftUI with Kotlin shared layer integration via SKIE
-- **Backend**: Go REST API with PostgreSQL (separate directory at `../myCribAPI-go`)
+- **Backend**: Go REST API with PostgreSQL (separate directory at `../honeyDueAPI-go`)
## Build Commands
@@ -56,7 +56,7 @@ open iosApp/iosApp.xcodeproj
## Architecture
-### Shared Kotlin Layer (`composeApp/src/commonMain/kotlin/com/example/casera/`)
+### Shared Kotlin Layer (`composeApp/src/commonMain/kotlin/com/example/honeydue/`)
**Core Components:**
@@ -319,7 +319,7 @@ FormHeader(
OrganicFormHeader(
icon: "person.fill",
title: "Create Account",
- subtitle: "Join Casera today"
+ subtitle: "Join honeyDue today"
)
// Form section with icon header
@@ -880,7 +880,7 @@ The app uses a comprehensive theming system with 11 themes matching iOS:
fun App() {
val currentTheme by remember { derivedStateOf { ThemeManager.currentTheme } }
- MyCribTheme(themeColors = currentTheme) {
+ HoneyDueTheme(themeColors = currentTheme) {
// App content
}
}
@@ -1199,14 +1199,14 @@ fun ThemePickerDialog(
## Environment Configuration
-**API Environment Toggle** (`composeApp/src/commonMain/kotlin/com/example/casera/network/ApiConfig.kt`):
+**API Environment Toggle** (`composeApp/src/commonMain/kotlin/com/example/honeydue/network/ApiConfig.kt`):
```kotlin
val CURRENT_ENV = Environment.DEV // or Environment.LOCAL
```
- `Environment.LOCAL`: Points to `http://10.0.2.2:8000/api` (Android emulator) or `http://127.0.0.1:8000/api` (iOS simulator)
-- `Environment.DEV`: Points to `https://mycrib.treytartt.com/api`
+- `Environment.DEV`: Points to `https://honeyDue.treytartt.com/api`
**Change this to switch between local Go backend and production server.**
@@ -1297,7 +1297,7 @@ Currently tests are minimal. When adding tests:
### Committing Changes
-When committing changes that span both iOS and Android, commit them together in the KMM repository. If backend changes are needed, commit separately in the `myCribAPI-go` repository.
+When committing changes that span both iOS and Android, commit them together in the KMM repository. If backend changes are needed, commit separately in the `honeyDueAPI-go` repository.
### DataManager Initialization
@@ -1344,10 +1344,10 @@ Without `forceRefresh`, APILayer returns cached data.
## Project Structure Summary
```
-MyCribKMM/
+HoneyDueKMM/
├── composeApp/
│ └── src/
-│ ├── commonMain/kotlin/com/example/casera/
+│ ├── commonMain/kotlin/com/example/honeydue/
│ │ ├── data/ # DataManager, PersistenceManager
│ │ ├── models/ # Shared data models (kotlinx.serialization)
│ │ ├── network/ # APILayer, *Api clients, ApiConfig
@@ -1382,5 +1382,5 @@ MyCribKMM/
## Related Repositories
-- **Backend API**: `../myCribAPI-go` - Go REST API with PostgreSQL
-- **Documentation**: `../myCribAPI-go/docs` - Server configuration and API docs
+- **Backend API**: `../honeyDueAPI-go` - Go REST API with PostgreSQL
+- **Documentation**: `../honeyDueAPI-go/docs` - Server configuration and API docs
diff --git a/ENVIRONMENT_SETUP.md b/ENVIRONMENT_SETUP.md
index 4b011c3..7b9d441 100644
--- a/ENVIRONMENT_SETUP.md
+++ b/ENVIRONMENT_SETUP.md
@@ -1,13 +1,13 @@
# Environment Configuration Guide
-This guide explains how to easily switch between local development and the dev server when developing the MyCrib iOS and Android apps.
+This guide explains how to easily switch between local development and the dev server when developing the HoneyDue iOS and Android apps.
## Quick Start
**To switch environments, change ONE line in `ApiConfig.kt`:**
```kotlin
-// File: composeApp/src/commonMain/kotlin/com/mycrib/shared/network/ApiConfig.kt
+// File: composeApp/src/commonMain/kotlin/com/honeydue/shared/network/ApiConfig.kt
object ApiConfig {
// ⚠️ CHANGE THIS LINE ⚠️
@@ -45,7 +45,7 @@ val CURRENT_ENV = Environment.LOCAL
- Testing with real data
**Connects to:**
-- **Both platforms**: `https://mycrib.treytartt.com/api`
+- **Both platforms**: `https://honeyDue.treytartt.com/api`
**Setup:**
```kotlin
@@ -62,7 +62,7 @@ val CURRENT_ENV = Environment.DEV
1. **Start your local API:**
```bash
- cd myCribAPI
+ cd honeyDueAPI
./dev.sh
```
@@ -96,8 +96,8 @@ val CURRENT_ENV = Environment.DEV
3. **Verify in logs:**
```
🌐 API Client initialized
- 📍 Environment: Dev Server (mycrib.treytartt.com)
- 🔗 Base URL: https://mycrib.treytartt.com/api
+ 📍 Environment: Dev Server (honeyDue.treytartt.com)
+ 🔗 Base URL: https://honeyDue.treytartt.com/api
```
## Platform-Specific Localhost Addresses
@@ -139,20 +139,20 @@ If you need to test on a physical device with local API:
4. **Update Django's `ALLOWED_HOSTS`:**
```python
- # myCribAPI/myCrib/settings.py
+ # honeyDueAPI/honeyDue/settings.py
ALLOWED_HOSTS = ['localhost', '127.0.0.1', '192.168.1.xxx']
```
## File Structure
```
-MyCribKMM/composeApp/src/
-├── commonMain/kotlin/com/mycrib/shared/network/
+HoneyDueKMM/composeApp/src/
+├── commonMain/kotlin/com/honeydue/shared/network/
│ ├── ApiConfig.kt # ⭐ TOGGLE ENVIRONMENT HERE
│ └── ApiClient.kt # Uses ApiConfig
-├── androidMain/kotlin/com/mycrib/shared/network/
+├── androidMain/kotlin/com/honeydue/shared/network/
│ └── ApiClient.android.kt # Android localhost: 10.0.2.2
-└── iosMain/kotlin/com/mycrib/shared/network/
+└── iosMain/kotlin/com/honeydue/shared/network/
└── ApiClient.ios.kt # iOS localhost: 127.0.0.1
```
@@ -182,7 +182,7 @@ MyCribKMM/composeApp/src/
**Problem:** HTTPS connection issues
**Solutions:**
-1. Verify server is accessible: `curl https://mycrib.treytartt.com/api`
+1. Verify server is accessible: `curl https://honeyDue.treytartt.com/api`
2. Check that SSL certificate is valid
3. Make sure you're using `https://` not `http://`
@@ -216,10 +216,10 @@ MyCribKMM/composeApp/src/
| Action | Command/File |
|--------|--------------|
| Toggle environment | Edit `ApiConfig.kt` → `CURRENT_ENV` |
-| Start local API | `cd myCribAPI && ./dev.sh` |
+| Start local API | `cd honeyDueAPI && ./dev.sh` |
| Android localhost | `10.0.2.2:8000` |
| iOS localhost | `127.0.0.1:8000` |
-| Dev server | `https://mycrib.treytartt.com` |
+| Dev server | `https://honeyDue.treytartt.com` |
| View current env | Check app logs for `🌐` emoji |
## Example Workflow
@@ -230,7 +230,7 @@ MyCribKMM/composeApp/src/
val CURRENT_ENV = Environment.LOCAL // ✅ Use local API
```
```bash
-cd myCribAPI
+cd honeyDueAPI
./dev.sh # Start local server
# Work on features...
```
diff --git a/ERROR_HANDLING.md b/ERROR_HANDLING.md
index 7f371a4..2c96f2b 100644
--- a/ERROR_HANDLING.md
+++ b/ERROR_HANDLING.md
@@ -32,8 +32,8 @@ See full documentation for examples of each approach.
## Files Reference
**Android:**
-- `composeApp/src/commonMain/kotlin/com/example/mycrib/ui/components/ErrorDialog.kt`
-- `composeApp/src/commonMain/kotlin/com/example/mycrib/ui/components/ApiResultHandler.kt`
+- `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/ErrorDialog.kt`
+- `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/ApiResultHandler.kt`
**iOS:**
- `iosApp/iosApp/Helpers/ErrorAlertModifier.swift`
diff --git a/QUICK_START.md b/QUICK_START.md
index b226b46..59aada9 100644
--- a/QUICK_START.md
+++ b/QUICK_START.md
@@ -1,8 +1,8 @@
-# MyCrib KMM - Quick Start
+# HoneyDue KMM - Quick Start
## 🚀 Switch API Environment
-**File:** `composeApp/src/commonMain/kotlin/com/mycrib/shared/network/ApiConfig.kt`
+**File:** `composeApp/src/commonMain/kotlin/com/honeydue/shared/network/ApiConfig.kt`
```kotlin
object ApiConfig {
@@ -12,7 +12,7 @@ object ApiConfig {
### Options:
- **`Environment.LOCAL`** → Your local API (localhost)
-- **`Environment.DEV`** → Dev server (https://mycrib.treytartt.com)
+- **`Environment.DEV`** → Dev server (https://honeyDue.treytartt.com)
### After Changing:
1. **Android**: Sync Gradle and run
@@ -31,13 +31,13 @@ object ApiConfig {
### Android
```bash
-cd MyCribKMM
+cd HoneyDueKMM
./gradlew :composeApp:installDebug
```
### iOS
```bash
-cd MyCribKMM/iosApp
+cd HoneyDueKMM/iosApp
open iosApp.xcodeproj
# Run in Xcode
```
@@ -47,7 +47,7 @@ open iosApp.xcodeproj
## 🔧 Start Local API
```bash
-cd myCribAPI
+cd honeyDueAPI
./dev.sh # Auto-reload on code changes
```
@@ -57,7 +57,7 @@ cd myCribAPI
- **Environment Setup**: `ENVIRONMENT_SETUP.md`
- **Workspace Overview**: `../WORKSPACE_OVERVIEW.md`
-- **API Deployment**: `../myCribAPI/DOKKU_SETUP_GUIDE.md`
+- **API Deployment**: `../honeyDueAPI/DOKKU_SETUP_GUIDE.md`
---
diff --git a/TASK_CACHING.md b/TASK_CACHING.md
index b5db45d..968df87 100644
--- a/TASK_CACHING.md
+++ b/TASK_CACHING.md
@@ -33,7 +33,7 @@ UI Updates Automatically
### Android
- **Location**: SharedPreferences
-- **File**: `mycrib_cache`
+- **File**: `honeydue_cache`
- **Key**: `cached_tasks`
- **Format**: JSON string
@@ -44,7 +44,7 @@ UI Updates Automatically
### JVM/Desktop
- **Location**: Java Preferences
-- **Node**: `com.mycrib.cache`
+- **Node**: `com.honeydue.cache`
- **Key**: `cached_tasks`
- **Format**: JSON string
diff --git a/TODO-string-localization.md b/TODO-string-localization.md
index b97d710..d478a90 100644
--- a/TODO-string-localization.md
+++ b/TODO-string-localization.md
@@ -13,7 +13,7 @@ This file tracks the remaining work to migrate hardcoded strings to Compose Reso
### Priority 1: Dialogs with Many Strings
#### AddContractorDialog.kt (~25 strings)
-Location: `composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddContractorDialog.kt`
+Location: `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/AddContractorDialog.kt`
Strings to migrate:
- Dialog title: "Add Contractor"
@@ -22,7 +22,7 @@ Strings to migrate:
- Buttons: "Create", "Cancel"
#### CompleteTaskDialog.kt (~22 strings)
-Location: `composeApp/src/commonMain/kotlin/com/example/casera/ui/components/CompleteTaskDialog.kt`
+Location: `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/CompleteTaskDialog.kt`
Strings to migrate:
- Dialog title: "Complete Task"
@@ -34,29 +34,29 @@ Strings to migrate:
### Priority 2: Import/Share Dialogs (~14 strings)
#### ContractorImportDialog.kt (~7 strings)
-Location: `composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ContractorImportDialog.kt`
+Location: `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/ContractorImportDialog.kt`
#### ResidenceImportDialog.kt (~7 strings)
-Location: `composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ResidenceImportDialog.kt`
+Location: `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/ResidenceImportDialog.kt`
### Priority 3: Task Components (~14 strings)
#### TaskActionButtons.kt (~7 strings)
-Location: `composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskActionButtons.kt`
+Location: `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/task/TaskActionButtons.kt`
#### TaskCard.kt (~7 strings)
-Location: `composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskCard.kt`
+Location: `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/task/TaskCard.kt`
### Priority 4: Other Dialogs (~10 strings)
#### JoinResidenceDialog.kt (~7 strings)
-Location: `composeApp/src/commonMain/kotlin/com/example/casera/ui/components/JoinResidenceDialog.kt`
+Location: `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/JoinResidenceDialog.kt`
#### ManageUsersDialog.kt (~2 strings)
-Location: `composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ManageUsersDialog.kt`
+Location: `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/ManageUsersDialog.kt`
#### TaskTemplatesBrowserSheet.kt (~3 strings)
-Location: `composeApp/src/commonMain/kotlin/com/example/casera/ui/components/TaskTemplatesBrowserSheet.kt`
+Location: `composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/TaskTemplatesBrowserSheet.kt`
### Priority 5: Smaller Components (~15 strings total)
@@ -83,7 +83,7 @@ Files with 1-3 hardcoded strings each:
### 1. Add import to the file:
```kotlin
-import casera.composeapp.generated.resources.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
```
diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts
index 0b88b0d..79900b1 100644
--- a/composeApp/build.gradle.kts
+++ b/composeApp/build.gradle.kts
@@ -113,11 +113,11 @@ kotlin {
}
android {
- namespace = "com.example.casera"
+ namespace = "com.tt.honeyDue"
compileSdk = libs.versions.android.compileSdk.get().toInt()
defaultConfig {
- applicationId = "com.example.casera"
+ applicationId = "com.tt.honeyDue"
minSdk = libs.versions.android.minSdk.get().toInt()
targetSdk = libs.versions.android.targetSdk.get().toInt()
versionCode = 1
@@ -152,11 +152,11 @@ dependencies {
compose.desktop {
application {
- mainClass = "com.example.casera.MainKt"
+ mainClass = "com.tt.honeyDue.MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
- packageName = "com.example.casera"
+ packageName = "com.tt.honeyDue"
packageVersion = "1.0.0"
}
}
diff --git a/composeApp/google-services.json b/composeApp/google-services.json
index 3402a3d..39a0174 100644
--- a/composeApp/google-services.json
+++ b/composeApp/google-services.json
@@ -9,7 +9,7 @@
"client_info": {
"mobilesdk_app_id": "1:YOUR_PROJECT_NUMBER:android:YOUR_APP_ID",
"android_client_info": {
- "package_name": "com.example.casera"
+ "package_name": "com.tt.honeyDue"
}
},
"oauth_client": [],
diff --git a/composeApp/src/androidMain/AndroidManifest.xml b/composeApp/src/androidMain/AndroidManifest.xml
index 5eac1e9..d128980 100644
--- a/composeApp/src/androidMain/AndroidManifest.xml
+++ b/composeApp/src/androidMain/AndroidManifest.xml
@@ -36,11 +36,11 @@
-
+
@@ -50,10 +50,10 @@
-
+
-
+
@@ -93,11 +93,11 @@
android:name=".NotificationActionReceiver"
android:exported="false">
-
-
-
-
-
+
+
+
+
+
@@ -106,13 +106,13 @@
android:name=".widget.WidgetTaskActionReceiver"
android:exported="false">
-
+
@@ -120,12 +120,12 @@
+ android:resource="@xml/honeydue_small_widget_info" />
@@ -133,12 +133,12 @@
+ android:resource="@xml/honeydue_medium_widget_info" />
@@ -146,7 +146,7 @@
+ android:resource="@xml/honeydue_large_widget_info" />
diff --git a/composeApp/src/androidMain/kotlin/com/casera/android/ui/components/TaskSummaryCard.kt b/composeApp/src/androidMain/kotlin/com/casera/android/ui/components/TaskSummaryCard.kt
index af2358d..8c22613 100644
--- a/composeApp/src/androidMain/kotlin/com/casera/android/ui/components/TaskSummaryCard.kt
+++ b/composeApp/src/androidMain/kotlin/com/casera/android/ui/components/TaskSummaryCard.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
@@ -10,8 +10,8 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
-import com.example.casera.models.TaskSummary
-import com.example.casera.models.TaskColumnCategory
+import com.tt.honeyDue.models.TaskSummary
+import com.tt.honeyDue.models.TaskColumnCategory
/**
* Displays a task summary with dynamic categories from the backend.
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/MainActivity.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/MainActivity.kt
similarity index 87%
rename from composeApp/src/androidMain/kotlin/com/example/casera/MainActivity.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/MainActivity.kt
index fceee4a..48a37df 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/MainActivity.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/MainActivity.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
import android.content.Intent
import android.net.Uri
@@ -22,22 +22,22 @@ import coil3.memory.MemoryCache
import coil3.request.crossfade
import coil3.util.DebugLogger
import okio.FileSystem
-import com.example.casera.storage.TokenManager
-import com.example.casera.storage.TokenStorage
-import com.example.casera.storage.TaskCacheManager
-import com.example.casera.storage.TaskCacheStorage
-import com.example.casera.storage.ThemeStorage
-import com.example.casera.storage.ThemeStorageManager
-import com.example.casera.ui.theme.ThemeManager
-import com.example.casera.fcm.FCMManager
-import com.example.casera.platform.BillingManager
-import com.example.casera.network.APILayer
-import com.example.casera.sharing.ContractorSharingManager
-import com.example.casera.data.DataManager
-import com.example.casera.data.PersistenceManager
-import com.example.casera.models.CaseraPackageType
-import com.example.casera.models.detectCaseraPackageType
-import com.example.casera.analytics.PostHogAnalytics
+import com.tt.honeyDue.storage.TokenManager
+import com.tt.honeyDue.storage.TokenStorage
+import com.tt.honeyDue.storage.TaskCacheManager
+import com.tt.honeyDue.storage.TaskCacheStorage
+import com.tt.honeyDue.storage.ThemeStorage
+import com.tt.honeyDue.storage.ThemeStorageManager
+import com.tt.honeyDue.ui.theme.ThemeManager
+import com.tt.honeyDue.fcm.FCMManager
+import com.tt.honeyDue.platform.BillingManager
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.sharing.ContractorSharingManager
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.data.PersistenceManager
+import com.tt.honeyDue.models.honeyDuePackageType
+import com.tt.honeyDue.models.detecthoneyDuePackageType
+import com.tt.honeyDue.analytics.PostHogAnalytics
import kotlinx.coroutines.launch
class MainActivity : ComponentActivity(), SingletonImageLoader.Factory {
@@ -158,12 +158,12 @@ class MainActivity : ComponentActivity(), SingletonImageLoader.Factory {
try {
val authToken = TokenStorage.getToken()
if (authToken != null) {
- val notificationApi = com.example.casera.network.NotificationApi()
+ val notificationApi = com.tt.honeyDue.network.NotificationApi()
val deviceId = android.provider.Settings.Secure.getString(
contentResolver,
android.provider.Settings.Secure.ANDROID_ID
)
- val request = com.example.casera.models.DeviceRegistrationRequest(
+ val request = com.tt.honeyDue.models.DeviceRegistrationRequest(
deviceId = deviceId,
registrationId = fcmToken,
platform = "android",
@@ -171,14 +171,14 @@ class MainActivity : ComponentActivity(), SingletonImageLoader.Factory {
)
when (val result = notificationApi.registerDevice(authToken, request)) {
- is com.example.casera.network.ApiResult.Success -> {
+ is com.tt.honeyDue.network.ApiResult.Success -> {
Log.d("MainActivity", "Device registered successfully: ${result.data}")
}
- is com.example.casera.network.ApiResult.Error -> {
+ is com.tt.honeyDue.network.ApiResult.Error -> {
Log.e("MainActivity", "Failed to register device: ${result.message}")
}
- is com.example.casera.network.ApiResult.Loading,
- is com.example.casera.network.ApiResult.Idle -> {
+ is com.tt.honeyDue.network.ApiResult.Loading,
+ is com.tt.honeyDue.network.ApiResult.Idle -> {
// These states shouldn't occur for direct API calls
}
}
@@ -248,7 +248,7 @@ class MainActivity : ComponentActivity(), SingletonImageLoader.Factory {
private fun handleDeepLink(intent: Intent?) {
val data: Uri? = intent?.data
val isResetLink = data != null &&
- data.scheme == "casera" &&
+ data.scheme == "honeydue" &&
data.host == "reset-password"
if (isResetLink) {
// Extract token from query parameter
@@ -263,8 +263,8 @@ class MainActivity : ComponentActivity(), SingletonImageLoader.Factory {
private fun handleFileImport(intent: Intent?) {
if (intent?.action == Intent.ACTION_VIEW) {
val uri = intent.data
- if (uri != null && ContractorSharingManager.isCaseraFile(applicationContext, uri)) {
- Log.d("MainActivity", "Casera file received: $uri")
+ if (uri != null && ContractorSharingManager.ishoneyDueFile(applicationContext, uri)) {
+ Log.d("MainActivity", "honeyDue file received: $uri")
// Read file content to detect package type
try {
@@ -273,11 +273,11 @@ class MainActivity : ComponentActivity(), SingletonImageLoader.Factory {
val jsonString = inputStream.bufferedReader().use { it.readText() }
inputStream.close()
- val packageType = detectCaseraPackageType(jsonString)
+ val packageType = detecthoneyDuePackageType(jsonString)
Log.d("MainActivity", "Detected package type: $packageType")
when (packageType) {
- CaseraPackageType.RESIDENCE -> {
+ honeyDuePackageType.RESIDENCE -> {
Log.d("MainActivity", "Routing to residence import")
pendingResidenceImportUri = uri
}
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/MyFirebaseMessagingService.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/MyFirebaseMessagingService.kt
similarity index 90%
rename from composeApp/src/androidMain/kotlin/com/example/casera/MyFirebaseMessagingService.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/MyFirebaseMessagingService.kt
index b8ccd09..b4945ad 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/MyFirebaseMessagingService.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/MyFirebaseMessagingService.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
import android.app.NotificationChannel
import android.app.NotificationManager
@@ -8,7 +8,7 @@ import android.content.Intent
import android.os.Build
import android.util.Log
import androidx.core.app.NotificationCompat
-import com.example.casera.data.DataManager
+import com.tt.honeyDue.data.DataManager
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
import kotlinx.coroutines.CoroutineScope
@@ -31,14 +31,14 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
// Note: In a real app, you might want to use WorkManager for reliable delivery
CoroutineScope(Dispatchers.IO).launch {
try {
- val authToken = com.example.casera.storage.TokenStorage.getToken()
+ val authToken = com.tt.honeyDue.storage.TokenStorage.getToken()
if (authToken != null) {
- val notificationApi = com.example.casera.network.NotificationApi()
+ val notificationApi = com.tt.honeyDue.network.NotificationApi()
val deviceId = android.provider.Settings.Secure.getString(
applicationContext.contentResolver,
android.provider.Settings.Secure.ANDROID_ID
)
- val request = com.example.casera.models.DeviceRegistrationRequest(
+ val request = com.tt.honeyDue.models.DeviceRegistrationRequest(
deviceId = deviceId,
registrationId = token,
platform = "android",
@@ -46,14 +46,14 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
)
when (val result = notificationApi.registerDevice(authToken, request)) {
- is com.example.casera.network.ApiResult.Success -> {
+ is com.tt.honeyDue.network.ApiResult.Success -> {
Log.d(TAG, "Device registered successfully with new token")
}
- is com.example.casera.network.ApiResult.Error -> {
+ is com.tt.honeyDue.network.ApiResult.Error -> {
Log.e(TAG, "Failed to register device with new token: ${result.message}")
}
- is com.example.casera.network.ApiResult.Loading,
- is com.example.casera.network.ApiResult.Idle -> {
+ is com.tt.honeyDue.network.ApiResult.Loading,
+ is com.tt.honeyDue.network.ApiResult.Idle -> {
// These states shouldn't occur for direct API calls
}
}
@@ -73,7 +73,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
message.notification?.let { notification ->
Log.d(TAG, "Notification: ${notification.title} - ${notification.body}")
sendNotification(
- notification.title ?: "MyCrib",
+ notification.title ?: "honeyDue",
notification.body ?: "",
message.data
)
@@ -85,7 +85,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
// If there's no notification payload, create one from data
if (message.notification == null) {
- val title = message.data["title"] ?: "MyCrib"
+ val title = message.data["title"] ?: "honeyDue"
val body = message.data["body"] ?: ""
sendNotification(title, body, message.data)
}
@@ -143,7 +143,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val channel = NotificationChannel(
channelId,
- "Casera Notifications",
+ "honeyDue Notifications",
NotificationManager.IMPORTANCE_HIGH
).apply {
description = "Notifications for tasks, residences, and warranties"
@@ -210,7 +210,7 @@ class MyFirebaseMessagingService : FirebaseMessagingService() {
companion object {
private const val TAG = "FCMService"
private const val NOTIFICATION_ID = 0
- private const val PREFS_NAME = "mycrib_prefs"
+ private const val PREFS_NAME = "honeydue_prefs"
private const val KEY_FCM_TOKEN = "fcm_token"
fun getStoredToken(context: Context): String? {
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/NotificationActionReceiver.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/NotificationActionReceiver.kt
similarity index 88%
rename from composeApp/src/androidMain/kotlin/com/example/casera/NotificationActionReceiver.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/NotificationActionReceiver.kt
index bf20abf..18f721a 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/NotificationActionReceiver.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/NotificationActionReceiver.kt
@@ -1,15 +1,15 @@
-package com.example.casera
+package com.tt.honeyDue
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.util.Log
import androidx.core.app.NotificationManagerCompat
-import com.example.casera.data.DataManager
-import com.example.casera.models.TaskCompletionCreateRequest
-import com.example.casera.network.APILayer
-import com.example.casera.network.ApiResult
-import com.example.casera.storage.TokenStorage
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.TaskCompletionCreateRequest
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.storage.TokenStorage
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -157,11 +157,11 @@ class NotificationActionReceiver : BroadcastReceiver() {
private const val TAG = "NotificationAction"
// Action constants
- const val ACTION_VIEW_TASK = "com.example.casera.ACTION_VIEW_TASK"
- const val ACTION_COMPLETE_TASK = "com.example.casera.ACTION_COMPLETE_TASK"
- const val ACTION_MARK_IN_PROGRESS = "com.example.casera.ACTION_MARK_IN_PROGRESS"
- const val ACTION_CANCEL_TASK = "com.example.casera.ACTION_CANCEL_TASK"
- const val ACTION_UNCANCEL_TASK = "com.example.casera.ACTION_UNCANCEL_TASK"
+ const val ACTION_VIEW_TASK = "com.tt.honeyDue.ACTION_VIEW_TASK"
+ const val ACTION_COMPLETE_TASK = "com.tt.honeyDue.ACTION_COMPLETE_TASK"
+ const val ACTION_MARK_IN_PROGRESS = "com.tt.honeyDue.ACTION_MARK_IN_PROGRESS"
+ const val ACTION_CANCEL_TASK = "com.tt.honeyDue.ACTION_CANCEL_TASK"
+ const val ACTION_UNCANCEL_TASK = "com.tt.honeyDue.ACTION_UNCANCEL_TASK"
// Extra constants
const val EXTRA_TASK_ID = "task_id"
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/Platform.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/Platform.android.kt
similarity index 87%
rename from composeApp/src/androidMain/kotlin/com/example/casera/Platform.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/Platform.android.kt
index a3f5d91..b1f8c49 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/Platform.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/Platform.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
import android.os.Build
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/analytics/PostHogAnalytics.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.android.kt
similarity index 98%
rename from composeApp/src/androidMain/kotlin/com/example/casera/analytics/PostHogAnalytics.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.android.kt
index 600b65e..873bdeb 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/analytics/PostHogAnalytics.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.analytics
+package com.tt.honeyDue.analytics
import android.app.Application
import com.posthog.PostHog
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/auth/GoogleSignInManager.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/auth/GoogleSignInManager.kt
similarity index 97%
rename from composeApp/src/androidMain/kotlin/com/example/casera/auth/GoogleSignInManager.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/auth/GoogleSignInManager.kt
index 6a67f6d..ff8030f 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/auth/GoogleSignInManager.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/auth/GoogleSignInManager.kt
@@ -1,4 +1,4 @@
-package com.example.casera.auth
+package com.tt.honeyDue.auth
import android.content.Context
import androidx.credentials.CredentialManager
@@ -6,7 +6,7 @@ import androidx.credentials.CustomCredential
import androidx.credentials.GetCredentialRequest
import androidx.credentials.GetCredentialResponse
import androidx.credentials.exceptions.GetCredentialException
-import com.example.casera.network.ApiConfig
+import com.tt.honeyDue.network.ApiConfig
import com.google.android.libraries.identity.googleid.GetGoogleIdOption
import com.google.android.libraries.identity.googleid.GoogleIdTokenCredential
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/data/PersistenceManager.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/data/PersistenceManager.android.kt
similarity index 91%
rename from composeApp/src/androidMain/kotlin/com/example/casera/data/PersistenceManager.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/data/PersistenceManager.android.kt
index 209c12b..bd212a5 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/data/PersistenceManager.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/data/PersistenceManager.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.data
+package com.tt.honeyDue.data
import android.content.Context
import android.content.SharedPreferences
@@ -29,7 +29,7 @@ actual class PersistenceManager(context: Context) {
}
companion object {
- private const val PREFS_NAME = "casera_data_manager"
+ private const val PREFS_NAME = "honeydue_data_manager"
@Volatile
private var instance: PersistenceManager? = null
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/fcm/FCMManager.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/fcm/FCMManager.kt
similarity index 98%
rename from composeApp/src/androidMain/kotlin/com/example/casera/fcm/FCMManager.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/fcm/FCMManager.kt
index ebac8c6..40f5f8b 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/fcm/FCMManager.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/fcm/FCMManager.kt
@@ -1,4 +1,4 @@
-package com.example.casera.fcm
+package com.tt.honeyDue.fcm
import android.Manifest
import android.app.Activity
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/network/ApiClient.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/network/ApiClient.android.kt
similarity index 90%
rename from composeApp/src/androidMain/kotlin/com/example/casera/network/ApiClient.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/network/ApiClient.android.kt
index 0a09254..424d718 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/network/ApiClient.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/network/ApiClient.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
import io.ktor.client.*
import io.ktor.client.engine.okhttp.*
@@ -34,7 +34,7 @@ actual fun createHttpClient(): HttpClient {
logger = Logger.DEFAULT
// Only log full request/response bodies in debug builds to avoid
// leaking auth tokens and PII in production logcat.
- level = if (com.example.casera.BuildConfig.DEBUG) LogLevel.ALL else LogLevel.INFO
+ level = if (com.tt.honeyDue.BuildConfig.DEBUG) LogLevel.ALL else LogLevel.INFO
}
install(DefaultRequest) {
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/BillingManager.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/BillingManager.kt
similarity index 98%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/BillingManager.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/BillingManager.kt
index b7db13a..06818be 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/BillingManager.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/BillingManager.kt
@@ -1,12 +1,12 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.app.Activity
import android.content.Context
import android.util.Log
import com.android.billingclient.api.*
-import com.example.casera.network.APILayer
-import com.example.casera.network.ApiResult
-import com.example.casera.utils.SubscriptionProducts
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.utils.SubscriptionProducts
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ContractorImportHandler.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.android.kt
similarity index 73%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/ContractorImportHandler.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.android.kt
index 74a2698..cad1c8b 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ContractorImportHandler.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.android.kt
@@ -1,9 +1,9 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.net.Uri
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
-import com.example.casera.ui.components.ContractorImportHandler as ContractorImportHandlerImpl
+import com.tt.honeyDue.models.Contractor
+import com.tt.honeyDue.ui.components.ContractorImportHandler as ContractorImportHandlerImpl
@Composable
actual fun ContractorImportHandler(
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ContractorSharing.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.android.kt
similarity index 71%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/ContractorSharing.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.android.kt
index d5c4881..9694a21 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ContractorSharing.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.android.kt
@@ -1,12 +1,12 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.content.Intent
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
-import com.example.casera.models.Contractor
-import com.example.casera.sharing.ContractorSharingManager
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
+import com.tt.honeyDue.models.Contractor
+import com.tt.honeyDue.sharing.ContractorSharingManager
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
@Composable
actual fun rememberShareContractor(): (Contractor) -> Unit {
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/HapticFeedback.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.android.kt
similarity index 99%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/HapticFeedback.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.android.kt
index 2f70c76..18a97a0 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/HapticFeedback.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.content.Context
import android.os.Build
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ImageBitmap.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.android.kt
similarity index 93%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/ImageBitmap.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.android.kt
index c987cd1..950bbe6 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ImageBitmap.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.graphics.BitmapFactory
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ImageLoader.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ImageLoader.android.kt
similarity index 96%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/ImageLoader.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ImageLoader.android.kt
index 1881a97..29f5799 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ImageLoader.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ImageLoader.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.content.Context
import coil3.ImageLoader
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ImagePicker.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ImagePicker.android.kt
similarity index 99%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/ImagePicker.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ImagePicker.android.kt
index 8a9ca94..f5143af 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ImagePicker.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ImagePicker.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.content.Context
import android.net.Uri
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.android.kt
similarity index 94%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.android.kt
index 080223f..f77c242 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.android.kt
@@ -1,9 +1,9 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.app.Activity
import androidx.compose.runtime.*
import androidx.compose.ui.platform.LocalContext
-import com.example.casera.ui.subscription.UpgradeScreen
+import com.tt.honeyDue.ui.subscription.UpgradeScreen
import kotlinx.coroutines.launch
@Composable
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ResidenceImportHandler.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.android.kt
similarity index 72%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/ResidenceImportHandler.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.android.kt
index f54c704..d7fb226 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ResidenceImportHandler.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.android.kt
@@ -1,9 +1,9 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.net.Uri
import androidx.compose.runtime.Composable
-import com.example.casera.models.JoinResidenceResponse
-import com.example.casera.ui.components.ResidenceImportHandler as ResidenceImportHandlerImpl
+import com.tt.honeyDue.models.JoinResidenceResponse
+import com.tt.honeyDue.ui.components.ResidenceImportHandler as ResidenceImportHandlerImpl
@Composable
actual fun ResidenceImportHandler(
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ResidenceSharing.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.android.kt
similarity index 86%
rename from composeApp/src/androidMain/kotlin/com/example/casera/platform/ResidenceSharing.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.android.kt
index 4820ce9..dc4e5e7 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/platform/ResidenceSharing.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import android.content.Intent
import androidx.compose.runtime.Composable
@@ -8,10 +8,10 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.LocalContext
-import com.example.casera.models.Residence
-import com.example.casera.sharing.ResidenceSharingManager
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.sharing.ResidenceSharingManager
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
import kotlinx.coroutines.launch
@Composable
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/sharing/ContractorSharingManager.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/sharing/ContractorSharingManager.kt
similarity index 78%
rename from composeApp/src/androidMain/kotlin/com/example/casera/sharing/ContractorSharingManager.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/sharing/ContractorSharingManager.kt
index cf59d87..2c773f1 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/sharing/ContractorSharingManager.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/sharing/ContractorSharingManager.kt
@@ -1,26 +1,26 @@
-package com.example.casera.sharing
+package com.tt.honeyDue.sharing
import android.content.Context
import android.content.Intent
import android.net.Uri
import androidx.core.content.FileProvider
-import com.example.casera.data.DataManager
-import com.example.casera.models.CaseraShareCodec
-import com.example.casera.models.Contractor
-import com.example.casera.network.APILayer
-import com.example.casera.network.ApiResult
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.honeyDueShareCodec
+import com.tt.honeyDue.models.Contractor
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.network.ApiResult
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.io.File
/**
- * Manages contractor export and import via .casera files on Android.
+ * Manages contractor export and import via .honeydue files on Android.
*/
object ContractorSharingManager {
/**
* Creates a share Intent for a contractor.
- * The contractor data is written to a temporary .casera file and shared via FileProvider.
+ * The contractor data is written to a temporary .honeydue file and shared via FileProvider.
*
* @param context Android context
* @param contractor The contractor to share
@@ -29,8 +29,8 @@ object ContractorSharingManager {
fun createShareIntent(context: Context, contractor: Contractor): Intent? {
return try {
val currentUsername = DataManager.currentUser.value?.username ?: "Unknown"
- val jsonString = CaseraShareCodec.encodeContractorPackage(contractor, currentUsername)
- val fileName = CaseraShareCodec.safeShareFileName(contractor.name)
+ val jsonString = honeyDueShareCodec.encodeContractorPackage(contractor, currentUsername)
+ val fileName = honeyDueShareCodec.safeShareFileName(contractor.name)
// Create shared directory
val shareDir = File(context.cacheDir, "shared")
@@ -61,7 +61,7 @@ object ContractorSharingManager {
* Imports a contractor from a content URI.
*
* @param context Android context
- * @param uri The content URI of the .casera file
+ * @param uri The content URI of the .honeydue file
* @return ApiResult with the created Contractor on success, or error on failure
*/
suspend fun importContractor(context: Context, uri: Uri): ApiResult {
@@ -79,7 +79,7 @@ object ContractorSharingManager {
val jsonString = inputStream.bufferedReader().use { it.readText() }
inputStream.close()
- val createRequest = CaseraShareCodec.createContractorImportRequestOrNull(
+ val createRequest = honeyDueShareCodec.createContractorImportRequestOrNull(
jsonContent = jsonString,
availableSpecialties = DataManager.contractorSpecialties.value
) ?: return@withContext ApiResult.Error("Invalid contractor share package")
@@ -94,12 +94,12 @@ object ContractorSharingManager {
}
/**
- * Checks if the given URI appears to be a .casera file.
+ * Checks if the given URI appears to be a .honeydue file.
*/
- fun isCaseraFile(context: Context, uri: Uri): Boolean {
+ fun ishoneyDueFile(context: Context, uri: Uri): Boolean {
// Check file extension from URI path
val path = uri.path ?: uri.toString()
- if (path.endsWith(".casera", ignoreCase = true)) {
+ if (path.endsWith(".honeydue", ignoreCase = true)) {
return true
}
@@ -110,7 +110,7 @@ object ContractorSharingManager {
val nameIndex = cursor.getColumnIndex(android.provider.OpenableColumns.DISPLAY_NAME)
if (nameIndex >= 0) {
val name = cursor.getString(nameIndex)
- if (name?.endsWith(".casera", ignoreCase = true) == true) {
+ if (name?.endsWith(".honeydue", ignoreCase = true) == true) {
return true
}
}
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/sharing/ResidenceSharingManager.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/sharing/ResidenceSharingManager.kt
similarity index 82%
rename from composeApp/src/androidMain/kotlin/com/example/casera/sharing/ResidenceSharingManager.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/sharing/ResidenceSharingManager.kt
index 4faf6d5..9d4a535 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/sharing/ResidenceSharingManager.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/sharing/ResidenceSharingManager.kt
@@ -1,21 +1,21 @@
-package com.example.casera.sharing
+package com.tt.honeyDue.sharing
import android.content.Context
import android.content.Intent
import android.net.Uri
import androidx.core.content.FileProvider
-import com.example.casera.data.DataManager
-import com.example.casera.models.CaseraShareCodec
-import com.example.casera.models.JoinResidenceResponse
-import com.example.casera.models.Residence
-import com.example.casera.network.APILayer
-import com.example.casera.network.ApiResult
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.honeyDueShareCodec
+import com.tt.honeyDue.models.JoinResidenceResponse
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.network.ApiResult
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.io.File
/**
- * Manages residence share package creation and import via .casera files on Android.
+ * Manages residence share package creation and import via .honeydue files on Android.
* Unlike contractors (which are exported client-side), residence sharing uses
* server-generated share codes.
*/
@@ -38,8 +38,8 @@ object ResidenceSharingManager {
when (result) {
is ApiResult.Success -> {
val sharedResidence = result.data
- val jsonString = CaseraShareCodec.encodeSharedResidence(sharedResidence)
- val fileName = CaseraShareCodec.safeShareFileName(residence.name)
+ val jsonString = honeyDueShareCodec.encodeSharedResidence(sharedResidence)
+ val fileName = honeyDueShareCodec.safeShareFileName(residence.name)
// Create shared directory
val shareDir = File(context.cacheDir, "shared")
@@ -77,7 +77,7 @@ object ResidenceSharingManager {
* Imports (joins) a residence from a content URI containing a share code.
*
* @param context Android context
- * @param uri The content URI of the .casera file
+ * @param uri The content URI of the .honeydue file
* @return ApiResult with the JoinResidenceResponse on success, or error on failure
*/
suspend fun importResidence(context: Context, uri: Uri): ApiResult {
@@ -95,7 +95,7 @@ object ResidenceSharingManager {
val jsonString = inputStream.bufferedReader().use { it.readText() }
inputStream.close()
- val shareCode = CaseraShareCodec.extractResidenceShareCodeOrNull(jsonString)
+ val shareCode = honeyDueShareCodec.extractResidenceShareCodeOrNull(jsonString)
?: return@withContext ApiResult.Error("Invalid residence share package")
// Call API with share code
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/storage/TaskCacheManager.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.android.kt
similarity index 94%
rename from composeApp/src/androidMain/kotlin/com/example/casera/storage/TaskCacheManager.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.android.kt
index f396e13..5867927 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/storage/TaskCacheManager.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
import android.content.Context
import android.content.SharedPreferences
@@ -47,7 +47,7 @@ actual class TaskCacheManager(private val context: Context) {
}
companion object {
- private const val PREFS_NAME = "mycrib_cache"
+ private const val PREFS_NAME = "honeydue_cache"
private const val KEY_TASKS = "cached_tasks"
private const val KEY_DIRTY_FLAG = "tasks_dirty"
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/storage/TaskCacheStorage.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.android.kt
similarity index 81%
rename from composeApp/src/androidMain/kotlin/com/example/casera/storage/TaskCacheStorage.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.android.kt
index 4e98e13..3825e5c 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/storage/TaskCacheStorage.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
internal actual fun getPlatformTaskCacheManager(): TaskCacheManager? {
// Android requires context, so must use initialize() method
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/storage/ThemeStorageManager.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/ThemeStorageManager.android.kt
similarity index 91%
rename from composeApp/src/androidMain/kotlin/com/example/casera/storage/ThemeStorageManager.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/ThemeStorageManager.android.kt
index f2d9bcb..c84c078 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/storage/ThemeStorageManager.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/ThemeStorageManager.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
import android.content.Context
import android.content.SharedPreferences
@@ -22,7 +22,7 @@ actual class ThemeStorageManager(context: Context) {
}
companion object {
- private const val PREFS_NAME = "mycrib_theme_prefs"
+ private const val PREFS_NAME = "honeydue_theme_prefs"
private const val KEY_THEME_ID = "theme_id"
@Volatile
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/storage/TokenManager.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TokenManager.android.kt
similarity index 94%
rename from composeApp/src/androidMain/kotlin/com/example/casera/storage/TokenManager.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TokenManager.android.kt
index 2f1b42a..9cdbbf9 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/storage/TokenManager.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TokenManager.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
import android.content.Context
import android.content.SharedPreferences
@@ -31,8 +31,8 @@ actual class TokenManager(private val context: Context) {
companion object {
private const val TAG = "TokenManager"
- private const val ENCRYPTED_PREFS_NAME = "mycrib_secure_prefs"
- private const val FALLBACK_PREFS_NAME = "mycrib_prefs"
+ private const val ENCRYPTED_PREFS_NAME = "honeydue_secure_prefs"
+ private const val FALLBACK_PREFS_NAME = "honeydue_prefs"
private const val KEY_TOKEN = "auth_token"
@Volatile
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/storage/TokenStorage.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TokenStorage.android.kt
similarity index 80%
rename from composeApp/src/androidMain/kotlin/com/example/casera/storage/TokenStorage.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TokenStorage.android.kt
index 34b4098..0b16d31 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/storage/TokenStorage.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/storage/TokenStorage.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
internal actual fun getPlatformTokenManager(): TokenManager? {
// Android requires context, so must use initialize() method
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/ui/components/ContractorImportHandler.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/components/ContractorImportHandler.android.kt
similarity index 95%
rename from composeApp/src/androidMain/kotlin/com/example/casera/ui/components/ContractorImportHandler.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/components/ContractorImportHandler.android.kt
index a5c6e75..df9a6a2 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/ui/components/ContractorImportHandler.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/components/ContractorImportHandler.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import android.net.Uri
import androidx.compose.runtime.Composable
@@ -9,10 +9,10 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.LocalContext
-import com.example.casera.models.Contractor
-import com.example.casera.models.SharedContractor
-import com.example.casera.network.ApiResult
-import com.example.casera.sharing.ContractorSharingManager
+import com.tt.honeyDue.models.Contractor
+import com.tt.honeyDue.models.SharedContractor
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.sharing.ContractorSharingManager
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@@ -33,7 +33,7 @@ sealed class ImportState {
* Android-specific composable that handles the contractor import flow.
* Shows confirmation dialog, performs import, and displays result.
*
- * @param pendingImportUri The URI of the .casera file to import (or null if none)
+ * @param pendingImportUri The URI of the .honeydue file to import (or null if none)
* @param onClearImport Called when import flow is complete and URI should be cleared
* @param onImportSuccess Called when import succeeds, with the imported contractor
*/
@@ -57,7 +57,7 @@ fun ContractorImportHandler(
}
}
- // Parse the .casera file when a new URI is received
+ // Parse the .honeydue file when a new URI is received
LaunchedEffect(pendingImportUri) {
if (pendingImportUri != null && importState is ImportState.Idle) {
pendingUri = pendingImportUri
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/ui/components/ResidenceImportHandler.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/components/ResidenceImportHandler.android.kt
similarity index 95%
rename from composeApp/src/androidMain/kotlin/com/example/casera/ui/components/ResidenceImportHandler.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/components/ResidenceImportHandler.android.kt
index 8345339..e90db2d 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/ui/components/ResidenceImportHandler.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/components/ResidenceImportHandler.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import android.net.Uri
import androidx.compose.runtime.Composable
@@ -9,10 +9,10 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.LocalContext
-import com.example.casera.models.JoinResidenceResponse
-import com.example.casera.models.SharedResidence
-import com.example.casera.network.ApiResult
-import com.example.casera.sharing.ResidenceSharingManager
+import com.tt.honeyDue.models.JoinResidenceResponse
+import com.tt.honeyDue.models.SharedResidence
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.sharing.ResidenceSharingManager
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@@ -33,7 +33,7 @@ sealed class ResidenceImportState {
* Android-specific composable that handles the residence import flow.
* Shows confirmation dialog, performs import, and displays result.
*
- * @param pendingImportUri The URI of the .casera file to import (or null if none)
+ * @param pendingImportUri The URI of the .honeydue file to import (or null if none)
* @param onClearImport Called when import flow is complete and URI should be cleared
* @param onImportSuccess Called when import succeeds, with the join response
*/
@@ -57,7 +57,7 @@ fun ResidenceImportHandler(
}
}
- // Parse the .casera file when a new URI is received
+ // Parse the .honeydue file when a new URI is received
LaunchedEffect(pendingImportUri) {
if (pendingImportUri != null && importState is ResidenceImportState.Idle) {
pendingUri = pendingImportUri
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.android.kt
similarity index 95%
rename from composeApp/src/androidMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.android.kt
index cfbf77b..33c995d 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.android.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.auth
+package com.tt.honeyDue.ui.components.auth
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.Image
@@ -13,8 +13,8 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
-import com.example.casera.auth.GoogleSignInManager
-import com.example.casera.auth.GoogleSignInResult
+import com.tt.honeyDue.auth.GoogleSignInManager
+import com.tt.honeyDue.auth.GoogleSignInResult
import kotlinx.coroutines.launch
@Composable
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/ui/subscription/UpgradeFeatureScreenAndroid.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradeFeatureScreenAndroid.kt
similarity index 98%
rename from composeApp/src/androidMain/kotlin/com/example/casera/ui/subscription/UpgradeFeatureScreenAndroid.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradeFeatureScreenAndroid.kt
index 2a9df08..9d44dee 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/ui/subscription/UpgradeFeatureScreenAndroid.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradeFeatureScreenAndroid.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.subscription
+package com.tt.honeyDue.ui.subscription
import android.app.Activity
import androidx.compose.foundation.BorderStroke
@@ -17,9 +17,9 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.android.billingclient.api.ProductDetails
-import com.example.casera.data.DataManager
-import com.example.casera.platform.BillingManager
-import com.example.casera.ui.theme.AppSpacing
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.platform.BillingManager
+import com.tt.honeyDue.ui.theme.AppSpacing
import kotlinx.coroutines.launch
/**
@@ -344,7 +344,7 @@ private fun SubscriptionProductCardAndroid(
onSelect: () -> Unit
) {
val isAnnual = productDetails.productId.contains("annual")
- val productName = if (isAnnual) "MyCrib Pro Annual" else "MyCrib Pro Monthly"
+ val productName = if (isAnnual) "honeyDue Pro Annual" else "honeyDue Pro Monthly"
val billingPeriod = if (isAnnual) "Billed annually" else "Billed monthly"
Card(
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/util/ImageCompressor.android.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/util/ImageCompressor.android.kt
similarity index 95%
rename from composeApp/src/androidMain/kotlin/com/example/casera/util/ImageCompressor.android.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/util/ImageCompressor.android.kt
index 2251406..9780991 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/util/ImageCompressor.android.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/util/ImageCompressor.android.kt
@@ -1,8 +1,8 @@
-package com.example.casera.util
+package com.tt.honeyDue.util
import android.graphics.Bitmap
import android.graphics.BitmapFactory
-import com.example.casera.platform.ImageData
+import com.tt.honeyDue.platform.ImageData
import java.io.ByteArrayOutputStream
/**
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/widget/CaseraLargeWidget.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/CaseraLargeWidget.kt
similarity index 97%
rename from composeApp/src/androidMain/kotlin/com/example/casera/widget/CaseraLargeWidget.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/CaseraLargeWidget.kt
index c8397dd..8975748 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/widget/CaseraLargeWidget.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/CaseraLargeWidget.kt
@@ -1,4 +1,4 @@
-package com.example.casera.widget
+package com.tt.honeyDue.widget
import android.content.Context
import android.content.Intent
@@ -50,7 +50,7 @@ import kotlinx.serialization.json.Json
* Large widget showing task list with stats and interactive actions (Pro only)
* Size: 4x4
*/
-class CaseraLargeWidget : GlanceAppWidget() {
+class HoneyDueLargeWidget : GlanceAppWidget() {
override val stateDefinition: GlanceStateDefinition<*> = PreferencesGlanceStateDefinition
@@ -97,7 +97,7 @@ class CaseraLargeWidget : GlanceAppWidget() {
verticalAlignment = Alignment.CenterVertically
) {
Text(
- text = "Casera",
+ text = "honeyDue",
style = TextStyle(
color = ColorProvider(Color(0xFF07A0C3)),
fontSize = 20.sp,
@@ -346,7 +346,7 @@ class CompleteTaskAction : ActionCallback {
val taskId = parameters[ActionParameters.Key("task_id")] ?: return
// Send broadcast to app to complete the task
- val intent = Intent("com.example.casera.COMPLETE_TASK").apply {
+ val intent = Intent("com.tt.honeyDue.COMPLETE_TASK").apply {
putExtra("task_id", taskId)
setPackage(context.packageName)
}
@@ -354,7 +354,7 @@ class CompleteTaskAction : ActionCallback {
// Update widget after action
withContext(Dispatchers.Main) {
- CaseraLargeWidget().update(context, glanceId)
+ HoneyDueLargeWidget().update(context, glanceId)
}
}
}
@@ -362,6 +362,6 @@ class CompleteTaskAction : ActionCallback {
/**
* Receiver for the large widget
*/
-class CaseraLargeWidgetReceiver : GlanceAppWidgetReceiver() {
- override val glanceAppWidget: GlanceAppWidget = CaseraLargeWidget()
+class HoneyDueLargeWidgetReceiver : GlanceAppWidgetReceiver() {
+ override val glanceAppWidget: GlanceAppWidget = HoneyDueLargeWidget()
}
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/widget/CaseraMediumWidget.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/CaseraMediumWidget.kt
similarity index 97%
rename from composeApp/src/androidMain/kotlin/com/example/casera/widget/CaseraMediumWidget.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/CaseraMediumWidget.kt
index 21c43ad..ab01a58 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/widget/CaseraMediumWidget.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/CaseraMediumWidget.kt
@@ -1,4 +1,4 @@
-package com.example.casera.widget
+package com.tt.honeyDue.widget
import android.content.Context
import android.content.Intent
@@ -46,7 +46,7 @@ import kotlinx.serialization.json.Json
* Medium widget showing a list of upcoming tasks
* Size: 4x2
*/
-class CaseraMediumWidget : GlanceAppWidget() {
+class HoneyDueMediumWidget : GlanceAppWidget() {
override val stateDefinition: GlanceStateDefinition<*> = PreferencesGlanceStateDefinition
@@ -90,7 +90,7 @@ class CaseraMediumWidget : GlanceAppWidget() {
verticalAlignment = Alignment.CenterVertically
) {
Text(
- text = "Casera",
+ text = "honeyDue",
style = TextStyle(
color = ColorProvider(Color(0xFF07A0C3)),
fontSize = 18.sp,
@@ -247,6 +247,6 @@ class OpenTaskAction : ActionCallback {
/**
* Receiver for the medium widget
*/
-class CaseraMediumWidgetReceiver : GlanceAppWidgetReceiver() {
- override val glanceAppWidget: GlanceAppWidget = CaseraMediumWidget()
+class HoneyDueMediumWidgetReceiver : GlanceAppWidgetReceiver() {
+ override val glanceAppWidget: GlanceAppWidget = HoneyDueMediumWidget()
}
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/widget/CaseraSmallWidget.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/CaseraSmallWidget.kt
similarity index 95%
rename from composeApp/src/androidMain/kotlin/com/example/casera/widget/CaseraSmallWidget.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/CaseraSmallWidget.kt
index 815813b..0e17ce3 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/widget/CaseraSmallWidget.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/CaseraSmallWidget.kt
@@ -1,4 +1,4 @@
-package com.example.casera.widget
+package com.tt.honeyDue.widget
import android.content.Context
import android.content.Intent
@@ -39,13 +39,13 @@ import androidx.glance.text.TextStyle
import androidx.glance.unit.ColorProvider
import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.intPreferencesKey
-import com.example.casera.R
+import com.tt.honeyDue.R
/**
* Small widget showing task count summary
* Size: 2x1 or 2x2
*/
-class CaseraSmallWidget : GlanceAppWidget() {
+class HoneyDueSmallWidget : GlanceAppWidget() {
override val stateDefinition: GlanceStateDefinition<*> = PreferencesGlanceStateDefinition
@@ -78,7 +78,7 @@ class CaseraSmallWidget : GlanceAppWidget() {
) {
// App name/logo
Text(
- text = "Casera",
+ text = "honeyDue",
style = TextStyle(
color = ColorProvider(Color(0xFF07A0C3)),
fontSize = 16.sp,
@@ -166,6 +166,6 @@ class OpenAppAction : ActionCallback {
/**
* Receiver for the small widget
*/
-class CaseraSmallWidgetReceiver : GlanceAppWidgetReceiver() {
- override val glanceAppWidget: GlanceAppWidget = CaseraSmallWidget()
+class HoneyDueSmallWidgetReceiver : GlanceAppWidgetReceiver() {
+ override val glanceAppWidget: GlanceAppWidget = HoneyDueSmallWidget()
}
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/widget/WidgetDataRepository.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/WidgetDataRepository.kt
similarity index 99%
rename from composeApp/src/androidMain/kotlin/com/example/casera/widget/WidgetDataRepository.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/WidgetDataRepository.kt
index 8ef92fb..ee091f3 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/widget/WidgetDataRepository.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/WidgetDataRepository.kt
@@ -1,4 +1,4 @@
-package com.example.casera.widget
+package com.tt.honeyDue.widget
import android.content.Context
import androidx.datastore.core.DataStore
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/widget/WidgetTaskActionReceiver.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/WidgetTaskActionReceiver.kt
similarity index 83%
rename from composeApp/src/androidMain/kotlin/com/example/casera/widget/WidgetTaskActionReceiver.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/WidgetTaskActionReceiver.kt
index 09ef6ec..6207fb6 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/widget/WidgetTaskActionReceiver.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/WidgetTaskActionReceiver.kt
@@ -1,11 +1,11 @@
-package com.example.casera.widget
+package com.tt.honeyDue.widget
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
-import com.example.casera.data.DataManager
-import com.example.casera.models.TaskCompletionCreateRequest
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.TaskCompletionCreateRequest
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -17,7 +17,7 @@ class WidgetTaskActionReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
when (intent.action) {
- "com.example.casera.COMPLETE_TASK" -> {
+ "com.tt.honeyDue.COMPLETE_TASK" -> {
val taskId = intent.getIntExtra("task_id", -1)
if (taskId != -1) {
completeTask(context, taskId)
@@ -45,7 +45,7 @@ class WidgetTaskActionReceiver : BroadcastReceiver() {
val result = APILayer.createTaskCompletion(request)
// Update widgets after completion
- if (result is com.example.casera.network.ApiResult.Success) {
+ if (result is com.tt.honeyDue.network.ApiResult.Success) {
WidgetUpdateManager.updateAllWidgets(context)
}
} catch (e: Exception) {
diff --git a/composeApp/src/androidMain/kotlin/com/example/casera/widget/WidgetUpdateManager.kt b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/WidgetUpdateManager.kt
similarity index 88%
rename from composeApp/src/androidMain/kotlin/com/example/casera/widget/WidgetUpdateManager.kt
rename to composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/WidgetUpdateManager.kt
index b5e5d43..81b6162 100644
--- a/composeApp/src/androidMain/kotlin/com/example/casera/widget/WidgetUpdateManager.kt
+++ b/composeApp/src/androidMain/kotlin/com/tt/honeyDue/widget/WidgetUpdateManager.kt
@@ -1,4 +1,4 @@
-package com.example.casera.widget
+package com.tt.honeyDue.widget
import android.content.Context
import androidx.datastore.preferences.core.intPreferencesKey
@@ -22,7 +22,7 @@ object WidgetUpdateManager {
private val json = Json { ignoreUnknownKeys = true }
/**
- * Update all Casera widgets with new data
+ * Update all honeyDue widgets with new data
*/
fun updateAllWidgets(context: Context) {
CoroutineScope(Dispatchers.IO).launch {
@@ -49,7 +49,7 @@ object WidgetUpdateManager {
val glanceManager = GlanceAppWidgetManager(context)
// Update small widgets
- val smallWidgetIds = glanceManager.getGlanceIds(CaseraSmallWidget::class.java)
+ val smallWidgetIds = glanceManager.getGlanceIds(HoneyDueSmallWidget::class.java)
smallWidgetIds.forEach { id ->
updateAppWidgetState(context, PreferencesGlanceStateDefinition, id) { prefs ->
prefs.toMutablePreferences().apply {
@@ -58,11 +58,11 @@ object WidgetUpdateManager {
this[intPreferencesKey("in_progress_count")] = summary.inProgressCount
}
}
- CaseraSmallWidget().update(context, id)
+ HoneyDueSmallWidget().update(context, id)
}
// Update medium widgets
- val mediumWidgetIds = glanceManager.getGlanceIds(CaseraMediumWidget::class.java)
+ val mediumWidgetIds = glanceManager.getGlanceIds(HoneyDueMediumWidget::class.java)
mediumWidgetIds.forEach { id ->
updateAppWidgetState(context, PreferencesGlanceStateDefinition, id) { prefs ->
prefs.toMutablePreferences().apply {
@@ -72,11 +72,11 @@ object WidgetUpdateManager {
this[stringPreferencesKey("tasks_json")] = json.encodeToString(summary.tasks)
}
}
- CaseraMediumWidget().update(context, id)
+ HoneyDueMediumWidget().update(context, id)
}
// Update large widgets
- val largeWidgetIds = glanceManager.getGlanceIds(CaseraLargeWidget::class.java)
+ val largeWidgetIds = glanceManager.getGlanceIds(HoneyDueLargeWidget::class.java)
largeWidgetIds.forEach { id ->
updateAppWidgetState(context, PreferencesGlanceStateDefinition, id) { prefs ->
prefs.toMutablePreferences().apply {
@@ -89,7 +89,7 @@ object WidgetUpdateManager {
this[longPreferencesKey("last_updated")] = summary.lastUpdated
}
}
- CaseraLargeWidget().update(context, id)
+ HoneyDueLargeWidget().update(context, id)
}
}
diff --git a/composeApp/src/androidMain/res/layout/widget_large_preview.xml b/composeApp/src/androidMain/res/layout/widget_large_preview.xml
index 74cc44b..efe32cd 100644
--- a/composeApp/src/androidMain/res/layout/widget_large_preview.xml
+++ b/composeApp/src/androidMain/res/layout/widget_large_preview.xml
@@ -15,7 +15,7 @@
diff --git a/composeApp/src/androidMain/res/layout/widget_medium_preview.xml b/composeApp/src/androidMain/res/layout/widget_medium_preview.xml
index 89ebb6e..6834a8a 100644
--- a/composeApp/src/androidMain/res/layout/widget_medium_preview.xml
+++ b/composeApp/src/androidMain/res/layout/widget_medium_preview.xml
@@ -15,7 +15,7 @@
diff --git a/composeApp/src/androidMain/res/layout/widget_small_preview.xml b/composeApp/src/androidMain/res/layout/widget_small_preview.xml
index 61d7fa4..0a826e3 100644
--- a/composeApp/src/androidMain/res/layout/widget_small_preview.xml
+++ b/composeApp/src/androidMain/res/layout/widget_small_preview.xml
@@ -10,7 +10,7 @@
diff --git a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png
index a571e60..0fbd4e9 100644
Binary files a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png and b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png
index 61da551..0fbd4e9 100644
Binary files a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png and b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png b/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png
index c41dd28..5e02b79 100644
Binary files a/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png and b/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png b/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png
index db5080a..5e02b79 100644
Binary files a/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png and b/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png b/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png
index 6dba46d..d13771f 100644
Binary files a/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png and b/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png b/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png
index da31a87..d13771f 100644
Binary files a/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png and b/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png
index 15ac681..e8c5192 100644
Binary files a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png and b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png
index b216f2d..e8c5192 100644
Binary files a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png and b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png b/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png
index f25a419..fb54805 100644
Binary files a/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png and b/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png b/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png
index e96783c..fb54805 100644
Binary files a/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png and b/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/composeApp/src/androidMain/res/values/strings.xml b/composeApp/src/androidMain/res/values/strings.xml
index ddbc699..62c7b9c 100644
--- a/composeApp/src/androidMain/res/values/strings.xml
+++ b/composeApp/src/androidMain/res/values/strings.xml
@@ -1,14 +1,14 @@
- Casera
- casera_notifications
+ honeyDue
+ honeydue_notifications
- Casera Summary
+ honeyDue Summary
Quick task count summary showing overdue, due soon, and active tasks
- Casera Tasks
+ honeyDue Tasks
List of upcoming tasks with quick access to task details
- Casera Dashboard
+ honeyDue Dashboard
Full task dashboard with stats and interactive actions (Pro feature)
\ No newline at end of file
diff --git a/composeApp/src/androidMain/res/xml/casera_large_widget_info.xml b/composeApp/src/androidMain/res/xml/honeydue_large_widget_info.xml
similarity index 100%
rename from composeApp/src/androidMain/res/xml/casera_large_widget_info.xml
rename to composeApp/src/androidMain/res/xml/honeydue_large_widget_info.xml
diff --git a/composeApp/src/androidMain/res/xml/casera_medium_widget_info.xml b/composeApp/src/androidMain/res/xml/honeydue_medium_widget_info.xml
similarity index 100%
rename from composeApp/src/androidMain/res/xml/casera_medium_widget_info.xml
rename to composeApp/src/androidMain/res/xml/honeydue_medium_widget_info.xml
diff --git a/composeApp/src/androidMain/res/xml/casera_small_widget_info.xml b/composeApp/src/androidMain/res/xml/honeydue_small_widget_info.xml
similarity index 100%
rename from composeApp/src/androidMain/res/xml/casera_small_widget_info.xml
rename to composeApp/src/androidMain/res/xml/honeydue_small_widget_info.xml
diff --git a/composeApp/src/commonMain/composeResources/values-de/strings.xml b/composeApp/src/commonMain/composeResources/values-de/strings.xml
index 97c67c8..fb86628 100644
--- a/composeApp/src/commonMain/composeResources/values-de/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values-de/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
Verwalten Sie Ihre Immobilien einfach
- Casera
+ honeyDue
Verwalten Sie Ihre Immobilien einfach
Benutzername oder E-Mail
Passwort
diff --git a/composeApp/src/commonMain/composeResources/values-es/strings.xml b/composeApp/src/commonMain/composeResources/values-es/strings.xml
index 101c556..688c75b 100644
--- a/composeApp/src/commonMain/composeResources/values-es/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values-es/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
Administra tus propiedades con facilidad
- Casera
+ honeyDue
Administra tus propiedades con facilidad
Usuario o Correo
Contrasena
diff --git a/composeApp/src/commonMain/composeResources/values-fr/strings.xml b/composeApp/src/commonMain/composeResources/values-fr/strings.xml
index 16c998a..83b9ad5 100644
--- a/composeApp/src/commonMain/composeResources/values-fr/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values-fr/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
Gerez vos proprietes facilement
- Casera
+ honeyDue
Gerez vos proprietes facilement
Nom d\'utilisateur ou Email
Mot de passe
diff --git a/composeApp/src/commonMain/composeResources/values-it/strings.xml b/composeApp/src/commonMain/composeResources/values-it/strings.xml
index 82f9226..14e9f6f 100644
--- a/composeApp/src/commonMain/composeResources/values-it/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values-it/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
Gestisci le tue proprietà con facilità
- Casera
+ honeyDue
Gestisci le tue proprietà con facilità
Nome utente o Email
Password
diff --git a/composeApp/src/commonMain/composeResources/values-ja/strings.xml b/composeApp/src/commonMain/composeResources/values-ja/strings.xml
index ddf9d93..b55bbf3 100644
--- a/composeApp/src/commonMain/composeResources/values-ja/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values-ja/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
物件管理を簡単に
- Casera
+ honeyDue
物件管理を簡単に
ユーザー名またはメールアドレス
パスワード
diff --git a/composeApp/src/commonMain/composeResources/values-ko/strings.xml b/composeApp/src/commonMain/composeResources/values-ko/strings.xml
index 3dd97b2..1475a61 100644
--- a/composeApp/src/commonMain/composeResources/values-ko/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values-ko/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
부동산을 쉽게 관리하세요
- Casera
+ honeyDue
부동산을 쉽게 관리하세요
사용자 이름 또는 이메일
비밀번호
diff --git a/composeApp/src/commonMain/composeResources/values-nl/strings.xml b/composeApp/src/commonMain/composeResources/values-nl/strings.xml
index 24089db..1e1a95c 100644
--- a/composeApp/src/commonMain/composeResources/values-nl/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values-nl/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
Beheer uw eigendommen met gemak
- Casera
+ honeyDue
Beheer uw eigendommen met gemak
Gebruikersnaam of E-mail
Wachtwoord
diff --git a/composeApp/src/commonMain/composeResources/values-pt/strings.xml b/composeApp/src/commonMain/composeResources/values-pt/strings.xml
index 63d7899..24f1076 100644
--- a/composeApp/src/commonMain/composeResources/values-pt/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values-pt/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
Gerencie suas propriedades com facilidade
- Casera
+ honeyDue
Gerencie suas propriedades com facilidade
Usuario ou Email
Senha
diff --git a/composeApp/src/commonMain/composeResources/values-zh/strings.xml b/composeApp/src/commonMain/composeResources/values-zh/strings.xml
index 6880e18..83a9d95 100644
--- a/composeApp/src/commonMain/composeResources/values-zh/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values-zh/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
轻松管理您的房产
- Casera
+ honeyDue
轻松管理您的房产
用户名或邮箱
密码
diff --git a/composeApp/src/commonMain/composeResources/values/strings.xml b/composeApp/src/commonMain/composeResources/values/strings.xml
index 92a57eb..2f1aefa 100644
--- a/composeApp/src/commonMain/composeResources/values/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values/strings.xml
@@ -1,11 +1,11 @@
- Casera
+ honeyDue
Manage your properties with ease
- Casera
+ honeyDue
Manage your properties with ease
Username or Email
Password
@@ -282,7 +282,7 @@
Invite Others
Easy Share
Send Invite Link
- Send a .casera file via Messages, Email, or share. They just tap to join.
+ Send a .honeydue file via Messages, Email, or share. They just tap to join.
Share Code
No active code
Generate Code
@@ -553,7 +553,7 @@
Privacy Policy
View our privacy policy
Version %1$s
- Casera
+ honeyDue
Edit Profile
@@ -690,7 +690,7 @@
You\'ve reached the task limit for your plan
- Welcome to Casera
+ Welcome to honeyDue
Your home maintenance companion
Start Fresh
Join Existing Home
@@ -763,7 +763,7 @@
Go Pro
Take your home management to the next level
- CASERA PRO
+ HONEYDUE PRO
4.9 • 10K+ homeowners
Unlimited Properties
Track every home you own
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/App.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/App.kt
similarity index 93%
rename from composeApp/src/commonMain/kotlin/com/example/casera/App.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/App.kt
index 505b253..a5b001c 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/App.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/App.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.Image
@@ -16,22 +16,22 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
-import com.example.casera.ui.screens.AddResidenceScreen
-import com.example.casera.ui.screens.EditResidenceScreen
-import com.example.casera.ui.screens.EditTaskScreen
-import com.example.casera.ui.screens.ForgotPasswordScreen
-import com.example.casera.ui.screens.HomeScreen
-import com.example.casera.ui.screens.LoginScreen
-import com.example.casera.ui.screens.RegisterScreen
-import com.example.casera.ui.screens.ResetPasswordScreen
-import com.example.casera.ui.screens.ResidenceDetailScreen
-import com.example.casera.ui.screens.ResidencesScreen
-import com.example.casera.ui.screens.TasksScreen
-import com.example.casera.ui.screens.VerifyEmailScreen
-import com.example.casera.ui.screens.VerifyResetCodeScreen
-import com.example.casera.ui.screens.onboarding.OnboardingScreen
-import com.example.casera.viewmodel.OnboardingViewModel
-import com.example.casera.viewmodel.PasswordResetViewModel
+import com.tt.honeyDue.ui.screens.AddResidenceScreen
+import com.tt.honeyDue.ui.screens.EditResidenceScreen
+import com.tt.honeyDue.ui.screens.EditTaskScreen
+import com.tt.honeyDue.ui.screens.ForgotPasswordScreen
+import com.tt.honeyDue.ui.screens.HomeScreen
+import com.tt.honeyDue.ui.screens.LoginScreen
+import com.tt.honeyDue.ui.screens.RegisterScreen
+import com.tt.honeyDue.ui.screens.ResetPasswordScreen
+import com.tt.honeyDue.ui.screens.ResidenceDetailScreen
+import com.tt.honeyDue.ui.screens.ResidencesScreen
+import com.tt.honeyDue.ui.screens.TasksScreen
+import com.tt.honeyDue.ui.screens.VerifyEmailScreen
+import com.tt.honeyDue.ui.screens.VerifyResetCodeScreen
+import com.tt.honeyDue.ui.screens.onboarding.OnboardingScreen
+import com.tt.honeyDue.viewmodel.OnboardingViewModel
+import com.tt.honeyDue.viewmodel.PasswordResetViewModel
import androidx.lifecycle.viewmodel.compose.viewModel
import org.jetbrains.compose.resources.painterResource
import org.jetbrains.compose.ui.tooling.preview.Preview
@@ -40,29 +40,29 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.rememberNavController
import androidx.navigation.compose.composable
import androidx.navigation.toRoute
-import com.example.casera.ui.screens.MainScreen
-import com.example.casera.ui.screens.ManageUsersScreen
-import com.example.casera.ui.screens.NotificationPreferencesScreen
-import com.example.casera.ui.screens.ProfileScreen
-import com.example.casera.ui.theme.MyCribTheme
-import com.example.casera.ui.theme.ThemeManager
-import com.example.casera.navigation.*
-import com.example.casera.repository.LookupsRepository
-import com.example.casera.models.Residence
-import com.example.casera.models.TaskCategory
-import com.example.casera.models.TaskDetail
-import com.example.casera.models.TaskFrequency
-import com.example.casera.models.TaskPriority
-import com.example.casera.network.ApiResult
-import com.example.casera.network.AuthApi
-import com.example.casera.data.DataManager
-import com.example.casera.network.APILayer
-import com.example.casera.platform.ContractorImportHandler
-import com.example.casera.platform.PlatformUpgradeScreen
-import com.example.casera.platform.ResidenceImportHandler
+import com.tt.honeyDue.ui.screens.MainScreen
+import com.tt.honeyDue.ui.screens.ManageUsersScreen
+import com.tt.honeyDue.ui.screens.NotificationPreferencesScreen
+import com.tt.honeyDue.ui.screens.ProfileScreen
+import com.tt.honeyDue.ui.theme.HoneyDueTheme
+import com.tt.honeyDue.ui.theme.ThemeManager
+import com.tt.honeyDue.navigation.*
+import com.tt.honeyDue.repository.LookupsRepository
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.models.TaskCategory
+import com.tt.honeyDue.models.TaskDetail
+import com.tt.honeyDue.models.TaskFrequency
+import com.tt.honeyDue.models.TaskPriority
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.AuthApi
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.platform.ContractorImportHandler
+import com.tt.honeyDue.platform.PlatformUpgradeScreen
+import com.tt.honeyDue.platform.ResidenceImportHandler
-import casera.composeapp.generated.resources.Res
-import casera.composeapp.generated.resources.compose_multiplatform
+import honeydue.composeapp.generated.resources.Res
+import honeydue.composeapp.generated.resources.compose_multiplatform
@Composable
@Preview
@@ -119,7 +119,7 @@ fun App(
val currentTheme by remember { derivedStateOf { ThemeManager.currentTheme } }
- MyCribTheme(themeColors = currentTheme) {
+ HoneyDueTheme(themeColors = currentTheme) {
// Handle contractor file imports (Android-specific, no-op on other platforms)
ContractorImportHandler(
pendingContractorImportUri = pendingContractorImportUri,
@@ -145,7 +145,7 @@ fun App(
CircularProgressIndicator()
}
}
- return@MyCribTheme
+ return@HoneyDueTheme
}
val startDestination = when {
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/Greeting.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/Greeting.kt
similarity index 83%
rename from composeApp/src/commonMain/kotlin/com/example/casera/Greeting.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/Greeting.kt
index 6b8c16d..ac99247 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/Greeting.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/Greeting.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
class Greeting {
private val platform = getPlatform()
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/MainActivity.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/MainActivity.kt
similarity index 78%
rename from composeApp/src/commonMain/kotlin/com/example/casera/MainActivity.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/MainActivity.kt
index 177ef2a..209b21e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/MainActivity.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/MainActivity.kt
@@ -1,4 +1,4 @@
-//package com.casera.android
+//package com.honeydue.android
//
//import android.os.Bundle
//import androidx.activity.ComponentActivity
@@ -10,15 +10,15 @@
//import androidx.navigation.compose.NavHost
//import androidx.navigation.compose.composable
//import androidx.navigation.compose.rememberNavController
-//import com.example.casera.ui.screens.*
-//import com.example.casera.ui.theme.MyCribTheme
+//import com.tt.honeyDue.ui.screens.*
+//import com.tt.honeyDue.ui.theme.HoneyDueTheme
//
//class MainActivity : ComponentActivity() {
// override fun onCreate(savedInstanceState: Bundle?) {
// super.onCreate(savedInstanceState)
// setContent {
-// MyCribTheme {
-// MyCribApp()
+// HoneyDueTheme {
+// HoneyDueApp()
// }
// }
// }
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/Platform.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/Platform.kt
similarity index 74%
rename from composeApp/src/commonMain/kotlin/com/example/casera/Platform.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/Platform.kt
index 07db1f7..dee3369 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/Platform.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/Platform.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
interface Platform {
val name: String
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/analytics/Analytics.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/analytics/Analytics.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/analytics/Analytics.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/analytics/Analytics.kt
index 239aaa7..ed81506 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/analytics/Analytics.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/analytics/Analytics.kt
@@ -1,4 +1,4 @@
-package com.example.casera.analytics
+package com.tt.honeyDue.analytics
/**
* Common analytics interface for cross-platform event tracking.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/cache/SubscriptionCache.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/cache/SubscriptionCache.kt
similarity index 89%
rename from composeApp/src/commonMain/kotlin/com/example/casera/cache/SubscriptionCache.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/cache/SubscriptionCache.kt
index 9cdec9c..1068e28 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/cache/SubscriptionCache.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/cache/SubscriptionCache.kt
@@ -1,10 +1,10 @@
-package com.example.casera.cache
+package com.tt.honeyDue.cache
-import com.example.casera.data.DataManager
-import com.example.casera.models.FeatureBenefit
-import com.example.casera.models.Promotion
-import com.example.casera.models.SubscriptionStatus
-import com.example.casera.models.UpgradeTriggerData
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.FeatureBenefit
+import com.tt.honeyDue.models.Promotion
+import com.tt.honeyDue.models.SubscriptionStatus
+import com.tt.honeyDue.models.UpgradeTriggerData
/**
* Thin facade over DataManager for subscription data.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/data/DataManager.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/data/DataManager.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/data/DataManager.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/data/DataManager.kt
index 454926c..4b8fa5d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/data/DataManager.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/data/DataManager.kt
@@ -1,8 +1,8 @@
-package com.example.casera.data
+package com.tt.honeyDue.data
-import com.example.casera.models.*
-import com.example.casera.storage.TokenManager
-import com.example.casera.storage.ThemeStorageManager
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.storage.TokenManager
+import com.tt.honeyDue.storage.ThemeStorageManager
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/data/PersistenceManager.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/data/PersistenceManager.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/data/PersistenceManager.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/data/PersistenceManager.kt
index 4d004d5..ebe202c 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/data/PersistenceManager.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/data/PersistenceManager.kt
@@ -1,4 +1,4 @@
-package com.example.casera.data
+package com.tt.honeyDue.data
/**
* Platform-specific persistence manager for storing app data to disk.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/CaseraShareCodec.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/CaseraShareCodec.kt
similarity index 89%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/CaseraShareCodec.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/CaseraShareCodec.kt
index 2b1c9b3..61a6995 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/CaseraShareCodec.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/CaseraShareCodec.kt
@@ -1,15 +1,15 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
/**
- * Shared encoder/decoder for `.casera` payloads across Android and iOS.
+ * Shared encoder/decoder for `.honeydue` payloads across Android and iOS.
*
* This keeps package JSON shape in one place while each platform owns
* native share-sheet presentation details.
*/
-object CaseraShareCodec {
+object honeyDueShareCodec {
private val json = Json {
prettyPrint = true
ignoreUnknownKeys = true
@@ -58,13 +58,13 @@ object CaseraShareCodec {
}
/**
- * Build a filesystem-safe package filename with `.casera` extension.
+ * Build a filesystem-safe package filename with `.honeydue` extension.
*/
fun safeShareFileName(displayName: String): String {
val safeName = displayName
.replace(" ", "_")
.replace("/", "-")
.take(50)
- return "$safeName.casera"
+ return "$safeName.honeydue"
}
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/Contractor.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Contractor.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/Contractor.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Contractor.kt
index 69906b9..2faf3cf 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/Contractor.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Contractor.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/CustomTask.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/CustomTask.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/CustomTask.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/CustomTask.kt
index 4c7f190..8d58e57 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/CustomTask.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/CustomTask.kt
@@ -1,6 +1,6 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
-import com.example.casera.data.DataManager
+import com.tt.honeyDue.data.DataManager
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/Document.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Document.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/Document.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Document.kt
index b3c8931..bcb0081 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/Document.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Document.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/ErrorResponse.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/ErrorResponse.kt
similarity index 93%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/ErrorResponse.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/ErrorResponse.kt
index a924ef8..a1b83c1 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/ErrorResponse.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/ErrorResponse.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/Lookups.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Lookups.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/Lookups.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Lookups.kt
index 4d5d4f7..57a1f1b 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/Lookups.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Lookups.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/Notification.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Notification.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/Notification.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Notification.kt
index 7cf4373..0b825f3 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/Notification.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Notification.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/Residence.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Residence.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/Residence.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Residence.kt
index 02b0777..51eb19d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/Residence.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Residence.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/SharedContractor.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/SharedContractor.kt
similarity index 87%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/SharedContractor.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/SharedContractor.kt
index 6097fc9..ade8269 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/SharedContractor.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/SharedContractor.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlin.time.Clock
import kotlin.time.ExperimentalTime
@@ -9,15 +9,15 @@ import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.jsonPrimitive
/**
- * Package type identifiers for .casera files
+ * Package type identifiers for .honeydue files
*/
-object CaseraPackageType {
+object honeyDuePackageType {
const val CONTRACTOR = "contractor"
const val RESIDENCE = "residence"
}
/**
- * Data model for .casera file format used to share contractors between users.
+ * Data model for .honeydue file format used to share contractors between users.
* Contains only the data needed to recreate a contractor, without server-specific IDs.
*/
@Serializable
@@ -26,7 +26,7 @@ data class SharedContractor(
val version: Int = 1,
/** Package type discriminator */
- val type: String = CaseraPackageType.CONTRACTOR,
+ val type: String = honeyDuePackageType.CONTRACTOR,
val name: String,
val company: String? = null,
@@ -61,7 +61,7 @@ data class SharedContractor(
)
/**
- * Data model for .casera file format used to share residences between users.
+ * Data model for .honeydue file format used to share residences between users.
* Contains the share code needed to join the residence.
*/
@Serializable
@@ -70,7 +70,7 @@ data class SharedResidence(
val version: Int = 1,
/** Package type discriminator */
- val type: String = CaseraPackageType.RESIDENCE,
+ val type: String = honeyDuePackageType.RESIDENCE,
/** The share code for joining the residence */
@SerialName("share_code")
@@ -98,14 +98,14 @@ data class SharedResidence(
)
/**
- * Detect the type of a .casera package from its JSON content.
+ * Detect the type of a .honeydue package from its JSON content.
* Returns null if the type cannot be determined.
*/
-fun detectCaseraPackageType(jsonContent: String): String? {
+fun detecthoneyDuePackageType(jsonContent: String): String? {
return try {
val json = Json { ignoreUnknownKeys = true }
val jsonObject = json.decodeFromString(jsonContent)
- jsonObject["type"]?.jsonPrimitive?.content ?: CaseraPackageType.CONTRACTOR // Default for backward compatibility
+ jsonObject["type"]?.jsonPrimitive?.content ?: honeyDuePackageType.CONTRACTOR // Default for backward compatibility
} catch (e: Exception) {
null
}
@@ -118,7 +118,7 @@ fun detectCaseraPackageType(jsonContent: String): String? {
fun Contractor.toSharedContractor(exportedBy: String? = null): SharedContractor {
return SharedContractor(
version = 1,
- type = CaseraPackageType.CONTRACTOR,
+ type = honeyDuePackageType.CONTRACTOR,
name = name,
company = company,
phone = phone,
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/Subscription.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Subscription.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/Subscription.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Subscription.kt
index 4a8bc40..f27e72d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/Subscription.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/Subscription.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/TaskCompletion.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/TaskCompletion.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/TaskCompletion.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/TaskCompletion.kt
index 2827cf0..11dc59a 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/TaskCompletion.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/TaskCompletion.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/TaskTemplate.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/TaskTemplate.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/TaskTemplate.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/TaskTemplate.kt
index 763036d..4508b5e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/TaskTemplate.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/TaskTemplate.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/models/User.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/User.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/models/User.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/User.kt
index 759f91c..17d64f3 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/models/User.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/models/User.kt
@@ -1,4 +1,4 @@
-package com.example.casera.models
+package com.tt.honeyDue.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/navigation/Routes.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/navigation/Routes.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/navigation/Routes.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/navigation/Routes.kt
index 1d29cc0..668e366 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/navigation/Routes.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/navigation/Routes.kt
@@ -1,4 +1,4 @@
-package com.example.casera.navigation
+package com.tt.honeyDue.navigation
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/APILayer.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/APILayer.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/APILayer.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/APILayer.kt
index 45b558c..35efaab 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/APILayer.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/APILayer.kt
@@ -1,8 +1,8 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.data.DataManager
-import com.example.casera.models.*
-import com.example.casera.network.*
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.network.*
import kotlinx.coroutines.sync.Mutex
/**
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/ApiClient.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ApiClient.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/ApiClient.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ApiClient.kt
index 27b1d21..fbed3d7 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/ApiClient.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ApiClient.kt
@@ -1,4 +1,4 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
import io.ktor.client.*
import io.ktor.client.plugins.contentnegotiation.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/ApiConfig.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ApiConfig.kt
similarity index 90%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/ApiConfig.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ApiConfig.kt
index c190066..d8a3a77 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/ApiConfig.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ApiConfig.kt
@@ -1,4 +1,4 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
/**
* API Environment Configuration
@@ -22,7 +22,7 @@ object ApiConfig {
fun getBaseUrl(): String {
return when (CURRENT_ENV) {
Environment.LOCAL -> "http://${getLocalhostAddress()}:8000/api"
- Environment.DEV -> "https://casera.treytartt.com/api"
+ Environment.DEV -> "https://honeyDue.treytartt.com/api"
}
}
@@ -32,7 +32,7 @@ object ApiConfig {
fun getMediaBaseUrl(): String {
return when (CURRENT_ENV) {
Environment.LOCAL -> "http://${getLocalhostAddress()}:8000"
- Environment.DEV -> "https://casera.treytartt.com"
+ Environment.DEV -> "https://honeyDue.treytartt.com"
}
}
@@ -42,7 +42,7 @@ object ApiConfig {
fun getEnvironmentName(): String {
return when (CURRENT_ENV) {
Environment.LOCAL -> "Local (${getLocalhostAddress()}:8000)"
- Environment.DEV -> "Dev Server (casera.treytartt.com)"
+ Environment.DEV -> "Dev Server (honeyDue.treytartt.com)"
}
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/ApiResult.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ApiResult.kt
similarity index 88%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/ApiResult.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ApiResult.kt
index 972b3f8..b657680 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/ApiResult.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ApiResult.kt
@@ -1,4 +1,4 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
sealed class ApiResult {
data class Success(val data: T) : ApiResult()
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/AuthApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/AuthApi.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/AuthApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/AuthApi.kt
index f8af231..4614d4a 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/AuthApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/AuthApi.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.*
+import com.tt.honeyDue.models.*
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/ContractorApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ContractorApi.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/ContractorApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ContractorApi.kt
index 1875722..df41af4 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/ContractorApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ContractorApi.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.*
+import com.tt.honeyDue.models.*
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/DocumentApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/DocumentApi.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/DocumentApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/DocumentApi.kt
index 9ec5095..d67afcb 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/DocumentApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/DocumentApi.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.*
+import com.tt.honeyDue.models.*
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/ErrorParser.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ErrorParser.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/ErrorParser.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ErrorParser.kt
index 95587ca..68ef9b5 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/ErrorParser.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ErrorParser.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.ErrorResponse
+import com.tt.honeyDue.models.ErrorResponse
import io.ktor.client.call.body
import io.ktor.client.statement.HttpResponse
import kotlinx.serialization.json.Json
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/LookupsApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/LookupsApi.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/LookupsApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/LookupsApi.kt
index 5039583..9a22877 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/LookupsApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/LookupsApi.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.*
+import com.tt.honeyDue.models.*
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/NotificationApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/NotificationApi.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/NotificationApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/NotificationApi.kt
index f2dc862..9925c5e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/NotificationApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/NotificationApi.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.*
+import com.tt.honeyDue.models.*
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/ResidenceApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ResidenceApi.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/ResidenceApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ResidenceApi.kt
index 5bb2bb3..d0261e4 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/ResidenceApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/ResidenceApi.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.*
+import com.tt.honeyDue.models.*
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/SubscriptionApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/SubscriptionApi.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/SubscriptionApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/SubscriptionApi.kt
index 79fce5f..1c230c6 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/SubscriptionApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/SubscriptionApi.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.*
+import com.tt.honeyDue.models.*
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/TaskApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/TaskApi.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/TaskApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/TaskApi.kt
index 92e9832..93a5a6e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/TaskApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/TaskApi.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.*
+import com.tt.honeyDue.models.*
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/TaskCompletionApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/TaskCompletionApi.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/TaskCompletionApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/TaskCompletionApi.kt
index 58bc395..a6a972f 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/TaskCompletionApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/TaskCompletionApi.kt
@@ -1,6 +1,6 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.*
+import com.tt.honeyDue.models.*
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/network/TaskTemplateApi.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/TaskTemplateApi.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/network/TaskTemplateApi.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/TaskTemplateApi.kt
index 38209c2..1d4daf5 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/network/TaskTemplateApi.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/network/TaskTemplateApi.kt
@@ -1,7 +1,7 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
-import com.example.casera.models.TaskTemplate
-import com.example.casera.models.TaskTemplatesGroupedResponse
+import com.tt.honeyDue.models.TaskTemplate
+import com.tt.honeyDue.models.TaskTemplatesGroupedResponse
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ContractorImportHandler.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.kt
similarity index 88%
rename from composeApp/src/commonMain/kotlin/com/example/casera/platform/ContractorImportHandler.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.kt
index e4dbd21..69fa10e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ContractorImportHandler.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.models.Contractor
/**
* Platform-specific composable that handles contractor import flow.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ContractorSharing.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.kt
similarity index 72%
rename from composeApp/src/commonMain/kotlin/com/example/casera/platform/ContractorSharing.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.kt
index 9b80d92..d19d998 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ContractorSharing.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.kt
@@ -1,11 +1,11 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.models.Contractor
/**
* Returns a function that can be called to share a contractor.
- * The returned function will open the native share sheet with a .casera file.
+ * The returned function will open the native share sheet with a .honeydue file.
*/
@Composable
expect fun rememberShareContractor(): (Contractor) -> Unit
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/platform/HapticFeedback.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/platform/HapticFeedback.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.kt
index 291423d..56e43a3 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/platform/HapticFeedback.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ImageBitmap.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.kt
similarity index 88%
rename from composeApp/src/commonMain/kotlin/com/example/casera/platform/ImageBitmap.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.kt
index 21f61c4..35d718d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ImageBitmap.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.ImageBitmap
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ImagePicker.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ImagePicker.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/platform/ImagePicker.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ImagePicker.kt
index 4f4c41b..7928b88 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ImagePicker.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ImagePicker.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.kt
similarity index 92%
rename from composeApp/src/commonMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.kt
index 3cce837..34c5b62 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ResidenceImportHandler.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.kt
similarity index 87%
rename from composeApp/src/commonMain/kotlin/com/example/casera/platform/ResidenceImportHandler.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.kt
index f2e7eaa..4049488 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ResidenceImportHandler.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.JoinResidenceResponse
+import com.tt.honeyDue.models.JoinResidenceResponse
/**
* Platform-specific composable that handles residence import flow.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ResidenceSharing.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.kt
similarity index 80%
rename from composeApp/src/commonMain/kotlin/com/example/casera/platform/ResidenceSharing.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.kt
index c60c978..90e7b61 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/platform/ResidenceSharing.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Residence
+import com.tt.honeyDue.models.Residence
/**
* State holder for residence sharing operation.
@@ -15,7 +15,7 @@ data class ResidenceSharingState(
* Returns a pair of state and a function to share a residence.
* The function will:
* 1. Call the backend to generate a share code
- * 2. Create a .casera file with the share package
+ * 2. Create a .honeydue file with the share package
* 3. Open the native share sheet
*
* @return Pair of (state, shareFunction)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/repository/LookupsRepository.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/repository/LookupsRepository.kt
similarity index 89%
rename from composeApp/src/commonMain/kotlin/com/example/casera/repository/LookupsRepository.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/repository/LookupsRepository.kt
index 65cfb10..aa5745e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/repository/LookupsRepository.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/repository/LookupsRepository.kt
@@ -1,9 +1,9 @@
-package com.example.casera.repository
+package com.tt.honeyDue.repository
-import com.example.casera.data.DataManager
-import com.example.casera.models.*
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.StateFlow
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/storage/TaskCacheManager.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/storage/TaskCacheManager.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.kt
index 6047db6..b7f494e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/storage/TaskCacheManager.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
/**
* Platform-specific task cache manager interface for persistent storage.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/storage/TaskCacheStorage.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/storage/TaskCacheStorage.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.kt
index 4da859b..633b9ba 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/storage/TaskCacheStorage.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.kt
@@ -1,6 +1,6 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
-import com.example.casera.models.CustomTask
+import com.tt.honeyDue.models.CustomTask
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.decodeFromString
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/storage/ThemeStorage.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/ThemeStorage.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/storage/ThemeStorage.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/ThemeStorage.kt
index 5ebd994..26c7e55 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/storage/ThemeStorage.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/ThemeStorage.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
/**
* Cross-platform theme storage for persisting theme selection.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/storage/TokenManager.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TokenManager.kt
similarity index 89%
rename from composeApp/src/commonMain/kotlin/com/example/casera/storage/TokenManager.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TokenManager.kt
index 09e917a..13491fa 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/storage/TokenManager.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TokenManager.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
/**
* Platform-specific token manager interface for persistent storage.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/storage/TokenStorage.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TokenStorage.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/storage/TokenStorage.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TokenStorage.kt
index b77c2e1..c229845 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/storage/TokenStorage.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/storage/TokenStorage.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
/**
* Token storage that provides a unified interface for accessing platform-specific
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddContractorDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddContractorDialog.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddContractorDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddContractorDialog.kt
index 075bde6..204ca80 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddContractorDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddContractorDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -13,16 +13,16 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import casera.composeapp.generated.resources.*
-import com.example.casera.viewmodel.ContractorViewModel
-import com.example.casera.viewmodel.ResidenceViewModel
-import com.example.casera.models.ContractorCreateRequest
-import com.example.casera.models.ContractorUpdateRequest
-import com.example.casera.models.Residence
-import com.example.casera.network.ApiResult
-import com.example.casera.repository.LookupsRepository
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.viewmodel.ContractorViewModel
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.models.ContractorCreateRequest
+import com.tt.honeyDue.models.ContractorUpdateRequest
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.repository.LookupsRepository
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddNewTaskDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddNewTaskDialog.kt
similarity index 78%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddNewTaskDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddNewTaskDialog.kt
index 4a6327e..e384c41 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddNewTaskDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddNewTaskDialog.kt
@@ -1,7 +1,7 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.runtime.Composable
-import com.example.casera.models.TaskCreateRequest
+import com.tt.honeyDue.models.TaskCreateRequest
@Composable
fun AddNewTaskDialog(
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddNewTaskWithResidenceDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddNewTaskWithResidenceDialog.kt
similarity index 77%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddNewTaskWithResidenceDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddNewTaskWithResidenceDialog.kt
index 6d243a0..e0f26a6 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddNewTaskWithResidenceDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddNewTaskWithResidenceDialog.kt
@@ -1,8 +1,8 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.runtime.Composable
-import com.example.casera.models.MyResidencesResponse
-import com.example.casera.models.TaskCreateRequest
+import com.tt.honeyDue.models.MyResidencesResponse
+import com.tt.honeyDue.models.TaskCreateRequest
@Composable
fun AddNewTaskWithResidenceDialog(
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddTaskDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddTaskDialog.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddTaskDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddTaskDialog.kt
index bb51454..32b8368 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AddTaskDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AddTaskDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -14,17 +14,17 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
-import com.example.casera.data.DataManager
-import com.example.casera.models.TaskTemplate
-import com.example.casera.repository.LookupsRepository
-import com.example.casera.models.MyResidencesResponse
-import com.example.casera.models.TaskCategory
-import com.example.casera.models.TaskCreateRequest
-import com.example.casera.models.TaskFrequency
-import com.example.casera.models.TaskPriority
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.TaskTemplate
+import com.tt.honeyDue.repository.LookupsRepository
+import com.tt.honeyDue.models.MyResidencesResponse
+import com.tt.honeyDue.models.TaskCategory
+import com.tt.honeyDue.models.TaskCreateRequest
+import com.tt.honeyDue.models.TaskFrequency
+import com.tt.honeyDue.models.TaskPriority
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ApiResultHandler.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ApiResultHandler.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ApiResultHandler.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ApiResultHandler.kt
index bfd31e1..962ee27 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ApiResultHandler.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ApiResultHandler.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
@@ -6,7 +6,7 @@ import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
-import com.example.casera.network.ApiResult
+import com.tt.honeyDue.network.ApiResult
/**
* Handles ApiResult states automatically with loading, error dialogs, and success content.
@@ -127,7 +127,7 @@ fun ApiResult.HandleErrors(
LaunchedEffect(this) {
if (this@HandleErrors is ApiResult.Error) {
- errorMessage = com.example.casera.util.ErrorMessageParser.parse((this@HandleErrors as ApiResult.Error).message)
+ errorMessage = com.tt.honeyDue.util.ErrorMessageParser.parse((this@HandleErrors as ApiResult.Error).message)
showErrorDialog = true
}
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AuthenticatedImage.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AuthenticatedImage.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AuthenticatedImage.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AuthenticatedImage.kt
index 708f254..f047851 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/AuthenticatedImage.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/AuthenticatedImage.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
@@ -16,8 +16,8 @@ import coil3.compose.LocalPlatformContext
import coil3.request.ImageRequest
import coil3.network.NetworkHeaders
import coil3.network.httpHeaders
-import com.example.casera.network.ApiClient
-import com.example.casera.storage.TokenStorage
+import com.tt.honeyDue.network.ApiClient
+import com.tt.honeyDue.storage.TokenStorage
/**
* A Compose component that loads images from authenticated API endpoints.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/CompleteTaskDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/CompleteTaskDialog.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/CompleteTaskDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/CompleteTaskDialog.kt
index 4090c43..4c8703d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/CompleteTaskDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/CompleteTaskDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.tween
@@ -29,16 +29,16 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import casera.composeapp.generated.resources.*
-import com.example.casera.viewmodel.ContractorViewModel
-import com.example.casera.models.TaskCompletionCreateRequest
-import com.example.casera.network.ApiResult
-import com.example.casera.platform.ImageData
-import com.example.casera.platform.rememberImagePicker
-import com.example.casera.platform.rememberCameraPicker
-import com.example.casera.platform.HapticFeedbackType
-import com.example.casera.platform.rememberHapticFeedback
-import com.example.casera.platform.rememberImageBitmap
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.viewmodel.ContractorViewModel
+import com.tt.honeyDue.models.TaskCompletionCreateRequest
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.platform.ImageData
+import com.tt.honeyDue.platform.rememberImagePicker
+import com.tt.honeyDue.platform.rememberCameraPicker
+import com.tt.honeyDue.platform.HapticFeedbackType
+import com.tt.honeyDue.platform.rememberHapticFeedback
+import com.tt.honeyDue.platform.rememberImageBitmap
import kotlinx.datetime.*
import org.jetbrains.compose.resources.stringResource
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ContractorImportDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ContractorImportDialog.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ContractorImportDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ContractorImportDialog.kt
index 8883824..f5e71df 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ContractorImportDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ContractorImportDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -26,12 +26,12 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import casera.composeapp.generated.resources.*
-import com.example.casera.models.SharedContractor
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.models.SharedContractor
import org.jetbrains.compose.resources.stringResource
/**
- * Dialog shown when a user attempts to import a contractor from a .casera file.
+ * Dialog shown when a user attempts to import a contractor from a .honeydue file.
* Shows contractor details and asks for confirmation.
*/
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ErrorDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ErrorDialog.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ErrorDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ErrorDialog.kt
index d21766e..5cced02 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ErrorDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ErrorDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Button
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/JoinResidenceDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/JoinResidenceDialog.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/JoinResidenceDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/JoinResidenceDialog.kt
index a6895ea..93b2a1f 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/JoinResidenceDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/JoinResidenceDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
@@ -9,8 +9,8 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.unit.dp
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.launch
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ManageUsersDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ManageUsersDialog.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ManageUsersDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ManageUsersDialog.kt
index 7720745..48f7bfb 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ManageUsersDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ManageUsersDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
@@ -20,10 +20,10 @@ import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
-import com.example.casera.models.ResidenceUser
-import com.example.casera.models.ResidenceShareCode
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.models.ResidenceUser
+import com.tt.honeyDue.models.ResidenceShareCode
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.launch
@Composable
@@ -132,7 +132,7 @@ fun ManageUsersDialog(
}
Text(
- text = "Send a .casera file via Messages, Email, or share. They just tap to join.",
+ text = "Send a .honeydue file via Messages, Email, or share. They just tap to join.",
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant,
modifier = Modifier.padding(top = 8.dp)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/PhotoViewerScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/PhotoViewerScreen.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/PhotoViewerScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/PhotoViewerScreen.kt
index cda7877..15eb292 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/PhotoViewerScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/PhotoViewerScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.foundation.ExperimentalFoundationApi
@@ -26,7 +26,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import coil3.compose.AsyncImage
-import com.example.casera.ui.theme.AppSpacing
+import com.tt.honeyDue.ui.theme.AppSpacing
/**
* Full-screen photo viewer with swipeable gallery.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ResidenceImportDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ResidenceImportDialog.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ResidenceImportDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ResidenceImportDialog.kt
index c84c0b9..9a6fd41 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/ResidenceImportDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/ResidenceImportDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
@@ -23,12 +23,12 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import casera.composeapp.generated.resources.*
-import com.example.casera.models.SharedResidence
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.models.SharedResidence
import org.jetbrains.compose.resources.stringResource
/**
- * Dialog shown when a user attempts to join a residence from a .casera file.
+ * Dialog shown when a user attempts to join a residence from a .honeydue file.
* Shows residence details and asks for confirmation.
*/
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/TaskSuggestionDropdown.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/TaskSuggestionDropdown.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/TaskSuggestionDropdown.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/TaskSuggestionDropdown.kt
index 2c47936..6b75395 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/TaskSuggestionDropdown.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/TaskSuggestionDropdown.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.expandVertically
@@ -18,7 +18,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
-import com.example.casera.models.TaskTemplate
+import com.tt.honeyDue.models.TaskTemplate
/**
* Dropdown showing filtered task suggestions based on user input.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/TaskTemplatesBrowserSheet.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/TaskTemplatesBrowserSheet.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/TaskTemplatesBrowserSheet.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/TaskTemplatesBrowserSheet.kt
index a489a92..af4b507 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/TaskTemplatesBrowserSheet.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/TaskTemplatesBrowserSheet.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components
+package com.tt.honeyDue.ui.components
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -13,10 +13,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
-import casera.composeapp.generated.resources.*
-import com.example.casera.data.DataManager
-import com.example.casera.models.TaskTemplate
-import com.example.casera.models.TaskTemplateCategoryGroup
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.TaskTemplate
+import com.tt.honeyDue.models.TaskTemplateCategoryGroup
import org.jetbrains.compose.resources.stringResource
/**
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/auth/AuthHeader.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/auth/AuthHeader.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/auth/AuthHeader.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/auth/AuthHeader.kt
index dceed21..5c53d6c 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/auth/AuthHeader.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/auth/AuthHeader.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.auth
+package com.tt.honeyDue.ui.components.auth
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
@@ -53,7 +53,7 @@ fun AuthHeaderPreview() {
Surface {
AuthHeader(
icon = Icons.Default.Home,
- title = "myCrib",
+ title = "honeyDue",
subtitle = "Manage your properties with ease",
modifier = Modifier.padding(32.dp)
)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.kt
similarity index 88%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.kt
index 9e8733d..bd9f719 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.auth
+package com.tt.honeyDue.ui.components.auth
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/auth/RequirementItem.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/auth/RequirementItem.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/auth/RequirementItem.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/auth/RequirementItem.kt
index 132f801..930ba0c 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/auth/RequirementItem.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/auth/RequirementItem.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.auth
+package com.tt.honeyDue.ui.components.auth
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/CompactCard.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/CompactCard.kt
similarity index 91%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/CompactCard.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/CompactCard.kt
index 59cae7e..506b241 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/CompactCard.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/CompactCard.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.common
+package com.tt.honeyDue.ui.components.common
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Card
@@ -9,9 +9,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.theme.AppRadius
-import com.example.casera.ui.theme.AppSpacing
-import com.example.casera.ui.theme.backgroundSecondary
+import com.tt.honeyDue.ui.theme.AppRadius
+import com.tt.honeyDue.ui.theme.AppSpacing
+import com.tt.honeyDue.ui.theme.backgroundSecondary
/**
* CompactCard - Smaller card with reduced padding
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/ErrorCard.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/ErrorCard.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/ErrorCard.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/ErrorCard.kt
index 86c6590..fb51a18 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/ErrorCard.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/ErrorCard.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.common
+package com.tt.honeyDue.ui.components.common
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/InfoCard.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/InfoCard.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/InfoCard.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/InfoCard.kt
index fc8fd30..4beb304 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/InfoCard.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/InfoCard.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.common
+package com.tt.honeyDue.ui.components.common
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/StandardCard.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/StandardCard.kt
similarity index 91%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/StandardCard.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/StandardCard.kt
index 7963ad7..6d0b7dc 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/StandardCard.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/StandardCard.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.common
+package com.tt.honeyDue.ui.components.common
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Card
@@ -9,9 +9,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.theme.AppRadius
-import com.example.casera.ui.theme.AppSpacing
-import com.example.casera.ui.theme.backgroundSecondary
+import com.tt.honeyDue.ui.theme.AppRadius
+import com.tt.honeyDue.ui.theme.AppSpacing
+import com.tt.honeyDue.ui.theme.backgroundSecondary
/**
* StandardCard - Consistent card component matching iOS design
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/StandardEmptyState.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/StandardEmptyState.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/StandardEmptyState.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/StandardEmptyState.kt
index 15123c4..764256d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/StandardEmptyState.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/StandardEmptyState.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.common
+package com.tt.honeyDue.ui.components.common
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
@@ -8,7 +8,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.theme.AppSpacing
+import com.tt.honeyDue.ui.theme.AppSpacing
/**
* StandardEmptyState - Consistent empty state component
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/StatItem.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/StatItem.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/StatItem.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/StatItem.kt
index 7869166..86d7149 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/common/StatItem.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/common/StatItem.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.common
+package com.tt.honeyDue.ui.components.common
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/dialogs/ThemePickerDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/dialogs/ThemePickerDialog.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/dialogs/ThemePickerDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/dialogs/ThemePickerDialog.kt
index b7181e8..dbdcddd 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/dialogs/ThemePickerDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/dialogs/ThemePickerDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.dialogs
+package com.tt.honeyDue.ui.components.dialogs
import androidx.compose.foundation.background
import androidx.compose.foundation.border
@@ -20,9 +20,9 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
-import com.example.casera.ui.theme.*
-import com.example.casera.platform.HapticFeedbackType
-import com.example.casera.platform.rememberHapticFeedback
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.platform.HapticFeedbackType
+import com.tt.honeyDue.platform.rememberHapticFeedback
/**
* ThemePickerDialog - Shows all available themes in a grid
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/documents/DocumentCard.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/documents/DocumentCard.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/documents/DocumentCard.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/documents/DocumentCard.kt
index 13012b4..949a3b2 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/documents/DocumentCard.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/documents/DocumentCard.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.documents
+package com.tt.honeyDue.ui.components.documents
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
@@ -14,9 +14,9 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
-import com.example.casera.models.Document
-import com.example.casera.models.DocumentCategory
-import com.example.casera.models.DocumentType
+import com.tt.honeyDue.models.Document
+import com.tt.honeyDue.models.DocumentCategory
+import com.tt.honeyDue.models.DocumentType
@Composable
fun DocumentCard(document: Document, isWarrantyCard: Boolean = false, onClick: () -> Unit) {
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/documents/DocumentStates.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/documents/DocumentStates.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/documents/DocumentStates.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/documents/DocumentStates.kt
index 1ef65fd..080d834 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/documents/DocumentStates.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/documents/DocumentStates.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.documents
+package com.tt.honeyDue.ui.components.documents
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/documents/DocumentsTabContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/documents/DocumentsTabContent.kt
similarity index 93%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/documents/DocumentsTabContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/documents/DocumentsTabContent.kt
index 98cab07..9a3dfd4 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/documents/DocumentsTabContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/documents/DocumentsTabContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.documents
+package com.tt.honeyDue.ui.components.documents
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
@@ -13,10 +13,10 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
-import com.example.casera.models.Document
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.subscription.UpgradeFeatureScreen
-import com.example.casera.utils.SubscriptionHelper
+import com.tt.honeyDue.models.Document
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.subscription.UpgradeFeatureScreen
+import com.tt.honeyDue.utils.SubscriptionHelper
@OptIn(ExperimentalMaterial3Api::class)
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/forms/FormSection.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/forms/FormSection.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/forms/FormSection.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/forms/FormSection.kt
index a522705..2e89a2e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/forms/FormSection.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/forms/FormSection.kt
@@ -1,11 +1,11 @@
-package com.example.casera.ui.components.forms
+package com.tt.honeyDue.ui.components.forms
import androidx.compose.foundation.layout.*
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
-import com.example.casera.ui.theme.AppSpacing
+import com.tt.honeyDue.ui.theme.AppSpacing
/**
* FormSection - Groups related form fields with optional header/footer
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/forms/FormTextField.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/forms/FormTextField.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/forms/FormTextField.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/forms/FormTextField.kt
index ac74347..75c7d0f 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/forms/FormTextField.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/forms/FormTextField.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.forms
+package com.tt.honeyDue.ui.components.forms
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.KeyboardActions
@@ -9,7 +9,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.theme.AppSpacing
+import com.tt.honeyDue.ui.theme.AppSpacing
/**
* FormTextField - Standardized text field for forms
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/residence/DetailRow.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/residence/DetailRow.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/residence/DetailRow.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/residence/DetailRow.kt
index 6ac589a..235e1fd 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/residence/DetailRow.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/residence/DetailRow.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.residence
+package com.tt.honeyDue.ui.components.residence
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/residence/PropertyDetailItem.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/residence/PropertyDetailItem.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/residence/PropertyDetailItem.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/residence/PropertyDetailItem.kt
index 0ba3462..1a4124e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/residence/PropertyDetailItem.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/residence/PropertyDetailItem.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.residence
+package com.tt.honeyDue.ui.components.residence
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/residence/TaskStatChip.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/residence/TaskStatChip.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/residence/TaskStatChip.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/residence/TaskStatChip.kt
index 55077ff..fe31b02 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/residence/TaskStatChip.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/residence/TaskStatChip.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.residence
+package com.tt.honeyDue.ui.components.residence
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/CompletionHistorySheet.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/CompletionHistorySheet.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/CompletionHistorySheet.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/CompletionHistorySheet.kt
index 8b32cd3..4aa3aa8 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/CompletionHistorySheet.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/CompletionHistorySheet.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.task
+package com.tt.honeyDue.ui.components.task
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
@@ -12,11 +12,11 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
-import com.example.casera.models.TaskCompletionResponse
-import com.example.casera.models.TaskCompletion
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
-import com.example.casera.util.DateUtils
+import com.tt.honeyDue.models.TaskCompletionResponse
+import com.tt.honeyDue.models.TaskCompletion
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.util.DateUtils
import kotlinx.coroutines.launch
/**
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/PhotoViewerDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/PhotoViewerDialog.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/PhotoViewerDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/PhotoViewerDialog.kt
index ad01dbd..b556f43 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/PhotoViewerDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/PhotoViewerDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.task
+package com.tt.honeyDue.ui.components.task
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
@@ -23,9 +23,9 @@ import coil3.compose.AsyncImage
import coil3.compose.AsyncImagePainter
import coil3.compose.SubcomposeAsyncImage
import coil3.compose.SubcomposeAsyncImageContent
-import com.example.casera.models.TaskCompletionImage
-import com.example.casera.network.ApiClient
-import com.example.casera.ui.components.AuthenticatedImage
+import com.tt.honeyDue.models.TaskCompletionImage
+import com.tt.honeyDue.network.ApiClient
+import com.tt.honeyDue.ui.components.AuthenticatedImage
@Composable
fun PhotoViewerDialog(
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/SimpleTaskListItem.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/SimpleTaskListItem.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/SimpleTaskListItem.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/SimpleTaskListItem.kt
index 088c79a..241b2fc 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/SimpleTaskListItem.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/SimpleTaskListItem.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.task
+package com.tt.honeyDue.ui.components.task
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -7,7 +7,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
-import com.example.casera.util.DateUtils
+import com.tt.honeyDue.util.DateUtils
import org.jetbrains.compose.ui.tooling.preview.Preview
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskActionButtons.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskActionButtons.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskActionButtons.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskActionButtons.kt
index 5b837ce..8bdb060 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskActionButtons.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskActionButtons.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.task
+package com.tt.honeyDue.ui.components.task
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
@@ -8,8 +8,8 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import casera.composeapp.generated.resources.*
-import com.example.casera.viewmodel.TaskViewModel
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.viewmodel.TaskViewModel
import org.jetbrains.compose.resources.stringResource
// MARK: - Edit Task Button
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskCard.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskCard.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskCard.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskCard.kt
index 8709c66..3e6bb04 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskCard.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskCard.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.task
+package com.tt.honeyDue.ui.components.task
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
@@ -14,13 +14,13 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
-import casera.composeapp.generated.resources.*
-import com.example.casera.models.TaskDetail
-import com.example.casera.models.TaskCategory
-import com.example.casera.models.TaskPriority
-import com.example.casera.models.TaskFrequency
-import com.example.casera.models.TaskCompletion
-import com.example.casera.util.DateUtils
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.models.TaskDetail
+import com.tt.honeyDue.models.TaskCategory
+import com.tt.honeyDue.models.TaskPriority
+import com.tt.honeyDue.models.TaskFrequency
+import com.tt.honeyDue.models.TaskCompletion
+import com.tt.honeyDue.util.DateUtils
import org.jetbrains.compose.resources.stringResource
import org.jetbrains.compose.ui.tooling.preview.Preview
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskKanbanView.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskKanbanView.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskKanbanView.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskKanbanView.kt
index 5bbf2b8..6521712 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskKanbanView.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskKanbanView.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.task
+package com.tt.honeyDue.ui.components.task
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
@@ -19,8 +19,8 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
-import com.example.casera.models.TaskColumn
-import com.example.casera.models.TaskDetail
+import com.tt.honeyDue.models.TaskColumn
+import com.tt.honeyDue.models.TaskDetail
@OptIn(ExperimentalFoundationApi::class)
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskPill.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskPill.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskPill.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskPill.kt
index 6d02dee..14586d4 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/components/task/TaskPill.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/components/task/TaskPill.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.task
+package com.tt.honeyDue.ui.components.task
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Row
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/AddDocumentScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/AddDocumentScreen.kt
similarity index 83%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/AddDocumentScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/AddDocumentScreen.kt
index c4132a6..521241c 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/AddDocumentScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/AddDocumentScreen.kt
@@ -1,9 +1,9 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.runtime.Composable
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.viewmodel.DocumentViewModel
-import com.example.casera.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.viewmodel.DocumentViewModel
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
@Composable
fun AddDocumentScreen(
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/AddResidenceScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/AddResidenceScreen.kt
similarity index 83%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/AddResidenceScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/AddResidenceScreen.kt
index 67717df..27d5e70 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/AddResidenceScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/AddResidenceScreen.kt
@@ -1,8 +1,8 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.runtime.Composable
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
@Composable
fun AddResidenceScreen(
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/AllTasksScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/AllTasksScreen.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/AllTasksScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/AllTasksScreen.kt
index 9565523..b3d99e7 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/AllTasksScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/AllTasksScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -12,18 +12,18 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.AddNewTaskWithResidenceDialog
-import com.example.casera.ui.components.ApiResultHandler
-import com.example.casera.ui.components.CompleteTaskDialog
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.components.task.TaskCard
-import com.example.casera.ui.components.task.DynamicTaskKanbanView
-import com.example.casera.viewmodel.ResidenceViewModel
-import com.example.casera.viewmodel.TaskCompletionViewModel
-import com.example.casera.viewmodel.TaskViewModel
-import com.example.casera.models.TaskDetail
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
+import com.tt.honeyDue.ui.components.AddNewTaskWithResidenceDialog
+import com.tt.honeyDue.ui.components.ApiResultHandler
+import com.tt.honeyDue.ui.components.CompleteTaskDialog
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.components.task.TaskCard
+import com.tt.honeyDue.ui.components.task.DynamicTaskKanbanView
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.viewmodel.TaskCompletionViewModel
+import com.tt.honeyDue.viewmodel.TaskViewModel
+import com.tt.honeyDue.models.TaskDetail
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
@OptIn(ExperimentalMaterial3Api::class)
@Composable
@@ -295,7 +295,7 @@ fun AllTasksScreen(
},
isLoading = createTaskState is ApiResult.Loading,
errorMessage = if (createTaskState is ApiResult.Error) {
- com.example.casera.util.ErrorMessageParser.parse((createTaskState as ApiResult.Error).message)
+ com.tt.honeyDue.util.ErrorMessageParser.parse((createTaskState as ApiResult.Error).message)
} else null
)
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/CompleteTaskScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/CompleteTaskScreen.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/CompleteTaskScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/CompleteTaskScreen.kt
index 0014f33..ff9516b 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/CompleteTaskScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/CompleteTaskScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.tween
@@ -24,13 +24,13 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import casera.composeapp.generated.resources.*
-import com.example.casera.models.TaskCompletionCreateRequest
-import com.example.casera.models.ContractorSummary
-import com.example.casera.network.ApiResult
-import com.example.casera.platform.*
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.ContractorViewModel
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.models.TaskCompletionCreateRequest
+import com.tt.honeyDue.models.ContractorSummary
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.platform.*
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.ContractorViewModel
import org.jetbrains.compose.resources.stringResource
private const val MAX_IMAGES = 5
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ContractorDetailScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ContractorDetailScreen.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ContractorDetailScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ContractorDetailScreen.kt
index 8c9997a..aa89fe6 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ContractorDetailScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ContractorDetailScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -17,18 +17,18 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.data.DataManager
-import com.example.casera.ui.components.AddContractorDialog
-import com.example.casera.ui.components.ApiResultHandler
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.util.DateUtils
-import com.example.casera.viewmodel.ContractorViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.platform.rememberShareContractor
-import com.example.casera.utils.SubscriptionHelper
-import com.example.casera.ui.subscription.UpgradePromptDialog
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.ui.components.AddContractorDialog
+import com.tt.honeyDue.ui.components.ApiResultHandler
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.util.DateUtils
+import com.tt.honeyDue.viewmodel.ContractorViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.platform.rememberShareContractor
+import com.tt.honeyDue.utils.SubscriptionHelper
+import com.tt.honeyDue.ui.subscription.UpgradePromptDialog
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ContractorsScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ContractorsScreen.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ContractorsScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ContractorsScreen.kt
index 1ee906b..76ad259 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ContractorsScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ContractorsScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -15,19 +15,19 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.AddContractorDialog
-import com.example.casera.ui.components.ApiResultHandler
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.viewmodel.ContractorViewModel
-import com.example.casera.models.ContractorSummary
-import com.example.casera.network.ApiResult
-import com.example.casera.repository.LookupsRepository
-import com.example.casera.ui.subscription.UpgradeFeatureScreen
-import com.example.casera.utils.SubscriptionHelper
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.AddContractorDialog
+import com.tt.honeyDue.ui.components.ApiResultHandler
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.viewmodel.ContractorViewModel
+import com.tt.honeyDue.models.ContractorSummary
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.repository.LookupsRepository
+import com.tt.honeyDue.ui.subscription.UpgradeFeatureScreen
+import com.tt.honeyDue.utils.SubscriptionHelper
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentDetailScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/DocumentDetailScreen.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentDetailScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/DocumentDetailScreen.kt
index 872523c..f7dc950 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentDetailScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/DocumentDetailScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
@@ -16,17 +16,17 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.ApiResultHandler
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.viewmodel.DocumentViewModel
-import com.example.casera.models.*
-import com.example.casera.network.ApiResult
+import com.tt.honeyDue.ui.components.ApiResultHandler
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.viewmodel.DocumentViewModel
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.network.ApiResult
import androidx.compose.foundation.Image
import coil3.compose.AsyncImage
import coil3.compose.rememberAsyncImagePainter
import androidx.compose.ui.window.Dialog
-import com.example.casera.ui.components.documents.ErrorState
-import com.example.casera.ui.components.documents.formatFileSize
+import com.tt.honeyDue.ui.components.documents.ErrorState
+import com.tt.honeyDue.ui.components.documents.formatFileSize
import androidx.compose.ui.window.DialogProperties
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
@@ -34,10 +34,10 @@ import androidx.compose.foundation.lazy.grid.items
import coil3.compose.SubcomposeAsyncImage
import coil3.compose.SubcomposeAsyncImageContent
import coil3.compose.AsyncImagePainter
-import com.example.casera.ui.components.AuthenticatedImage
-import com.example.casera.util.DateUtils
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.AuthenticatedImage
+import com.tt.honeyDue.util.DateUtils
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentFormScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/DocumentFormScreen.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentFormScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/DocumentFormScreen.kt
index 2a874f3..42046b2 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentFormScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/DocumentFormScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.*
@@ -18,18 +18,18 @@ import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
import coil3.compose.AsyncImage
-import com.example.casera.ui.components.AuthenticatedImage
-import com.example.casera.viewmodel.DocumentViewModel
-import com.example.casera.viewmodel.ResidenceViewModel
-import com.example.casera.models.*
-import com.example.casera.network.ApiResult
-import com.example.casera.platform.ImageData
-import com.example.casera.platform.rememberImagePicker
-import com.example.casera.platform.rememberCameraPicker
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.AuthenticatedImage
+import com.tt.honeyDue.viewmodel.DocumentViewModel
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.platform.ImageData
+import com.tt.honeyDue.platform.rememberImagePicker
+import com.tt.honeyDue.platform.rememberCameraPicker
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@@ -265,7 +265,7 @@ fun DocumentFormScreen(
}
is ApiResult.Error -> {
Text(
- stringResource(Res.string.documents_form_failed_to_load_residences, com.example.casera.util.ErrorMessageParser.parse((residencesState as ApiResult.Error).message)),
+ stringResource(Res.string.documents_form_failed_to_load_residences, com.tt.honeyDue.util.ErrorMessageParser.parse((residencesState as ApiResult.Error).message)),
color = MaterialTheme.colorScheme.error
)
}
@@ -620,7 +620,7 @@ fun DocumentFormScreen(
showBlob = false
) {
Text(
- com.example.casera.util.ErrorMessageParser.parse((operationState as ApiResult.Error).message),
+ com.tt.honeyDue.util.ErrorMessageParser.parse((operationState as ApiResult.Error).message),
modifier = Modifier.padding(12.dp),
color = MaterialTheme.colorScheme.error
)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentsScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/DocumentsScreen.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentsScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/DocumentsScreen.kt
index 4c04ced..1a2fec8 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/DocumentsScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/DocumentsScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
@@ -11,15 +11,15 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.documents.DocumentsTabContent
-import com.example.casera.ui.subscription.UpgradeFeatureScreen
-import com.example.casera.utils.SubscriptionHelper
-import com.example.casera.viewmodel.DocumentViewModel
-import com.example.casera.models.*
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.documents.DocumentsTabContent
+import com.tt.honeyDue.ui.subscription.UpgradeFeatureScreen
+import com.tt.honeyDue.utils.SubscriptionHelper
+import com.tt.honeyDue.viewmodel.DocumentViewModel
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
enum class DocumentTab {
@@ -41,7 +41,7 @@ fun DocumentsScreen(
// Check if screen should be blocked (limit=0)
val isBlocked = SubscriptionHelper.isDocumentsBlocked()
// Get current count for checking when adding
- val currentCount = (documentsState as? com.example.casera.network.ApiResult.Success)?.data?.size ?: 0
+ val currentCount = (documentsState as? com.tt.honeyDue.network.ApiResult.Success)?.data?.size ?: 0
var selectedCategory by remember { mutableStateOf(null) }
var selectedDocType by remember { mutableStateOf(null) }
@@ -58,7 +58,7 @@ fun DocumentsScreen(
// Client-side filtering - no API calls on filter changes
val filteredDocuments = remember(documentsState, selectedTab, selectedCategory, selectedDocType, showActiveOnly) {
- val allDocuments = (documentsState as? com.example.casera.network.ApiResult.Success)?.data ?: emptyList()
+ val allDocuments = (documentsState as? com.tt.honeyDue.network.ApiResult.Success)?.data ?: emptyList()
allDocuments.filter { document ->
val matchesTab = if (selectedTab == DocumentTab.WARRANTIES) {
document.documentType == "warranty"
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/EditDocumentScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/EditDocumentScreen.kt
similarity index 85%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/EditDocumentScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/EditDocumentScreen.kt
index 5f8bbac..560f134 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/EditDocumentScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/EditDocumentScreen.kt
@@ -1,8 +1,8 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.runtime.Composable
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.viewmodel.DocumentViewModel
+import com.tt.honeyDue.viewmodel.DocumentViewModel
@Composable
fun EditDocumentScreen(
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/EditResidenceScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/EditResidenceScreen.kt
similarity index 78%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/EditResidenceScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/EditResidenceScreen.kt
index b248389..c7b1c90 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/EditResidenceScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/EditResidenceScreen.kt
@@ -1,9 +1,9 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.runtime.Composable
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.viewmodel.ResidenceViewModel
-import com.example.casera.models.Residence
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.models.Residence
@Composable
fun EditResidenceScreen(
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/EditTaskScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/EditTaskScreen.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/EditTaskScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/EditTaskScreen.kt
index 8691e8c..31c8b9c 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/EditTaskScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/EditTaskScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -12,13 +12,13 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.viewmodel.ResidenceViewModel
-import com.example.casera.repository.LookupsRepository
-import com.example.casera.models.*
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.repository.LookupsRepository
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@@ -293,7 +293,7 @@ fun EditTaskScreen(
// Error message
if (updateTaskState is ApiResult.Error) {
Text(
- text = com.example.casera.util.ErrorMessageParser.parse((updateTaskState as ApiResult.Error).message),
+ text = com.tt.honeyDue.util.ErrorMessageParser.parse((updateTaskState as ApiResult.Error).message),
color = MaterialTheme.colorScheme.error,
style = MaterialTheme.typography.bodySmall
)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ForgotPasswordScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ForgotPasswordScreen.kt
similarity index 91%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ForgotPasswordScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ForgotPasswordScreen.kt
index dacacd7..651c1fb 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ForgotPasswordScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ForgotPasswordScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
@@ -11,13 +11,13 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.components.auth.AuthHeader
-import com.example.casera.ui.components.common.ErrorCard
-import com.example.casera.viewmodel.PasswordResetViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.components.auth.AuthHeader
+import com.tt.honeyDue.ui.components.common.ErrorCard
+import com.tt.honeyDue.viewmodel.PasswordResetViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@@ -44,14 +44,14 @@ fun ForgotPasswordScreen(
// Handle automatic navigation to next step
LaunchedEffect(currentStep) {
when (currentStep) {
- com.example.casera.viewmodel.PasswordResetStep.VERIFY_CODE -> onNavigateToVerify()
- com.example.casera.viewmodel.PasswordResetStep.RESET_PASSWORD -> onNavigateToReset()
+ com.tt.honeyDue.viewmodel.PasswordResetStep.VERIFY_CODE -> onNavigateToVerify()
+ com.tt.honeyDue.viewmodel.PasswordResetStep.RESET_PASSWORD -> onNavigateToReset()
else -> {}
}
}
val errorMessage = when (forgotPasswordState) {
- is ApiResult.Error -> com.example.casera.util.ErrorMessageParser.parse((forgotPasswordState as ApiResult.Error).message)
+ is ApiResult.Error -> com.tt.honeyDue.util.ErrorMessageParser.parse((forgotPasswordState as ApiResult.Error).message)
else -> ""
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/HomeScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/HomeScreen.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/HomeScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/HomeScreen.kt
index 9f9fe41..545000e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/HomeScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/HomeScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -11,13 +11,13 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.ResidenceViewModel
-import com.example.casera.viewmodel.TaskViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.data.DataManager
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.viewmodel.TaskViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.data.DataManager
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/LoginScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/LoginScreen.kt
similarity index 91%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/LoginScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/LoginScreen.kt
index 2f84880..97f9156 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/LoginScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/LoginScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
@@ -21,21 +21,21 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.components.auth.AuthHeader
-import com.example.casera.ui.components.auth.GoogleSignInButton
-import com.example.casera.ui.components.common.ErrorCard
-import com.example.casera.viewmodel.AuthViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.components.auth.AuthHeader
+import com.tt.honeyDue.ui.components.auth.GoogleSignInButton
+import com.tt.honeyDue.ui.components.common.ErrorCard
+import com.tt.honeyDue.viewmodel.AuthViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@Composable
fun LoginScreen(
- onLoginSuccess: (com.example.casera.models.User) -> Unit,
+ onLoginSuccess: (com.tt.honeyDue.models.User) -> Unit,
onNavigateToRegister: () -> Unit,
onNavigateToForgotPassword: () -> Unit = {},
viewModel: AuthViewModel = viewModel { AuthViewModel() }
@@ -79,7 +79,7 @@ fun LoginScreen(
onLoginSuccess(response.user)
}
is ApiResult.Error -> {
- googleSignInError = com.example.casera.util.ErrorMessageParser.parse((googleSignInState as ApiResult.Error).message)
+ googleSignInError = com.tt.honeyDue.util.ErrorMessageParser.parse((googleSignInState as ApiResult.Error).message)
viewModel.resetGoogleSignInState()
}
else -> {}
@@ -87,7 +87,7 @@ fun LoginScreen(
}
val errorMessage = when {
- loginState is ApiResult.Error -> com.example.casera.util.ErrorMessageParser.parse((loginState as ApiResult.Error).message)
+ loginState is ApiResult.Error -> com.tt.honeyDue.util.ErrorMessageParser.parse((loginState as ApiResult.Error).message)
googleSignInError != null -> googleSignInError ?: ""
else -> ""
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/MainScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/MainScreen.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/MainScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/MainScreen.kt
index cc3a360..328b078 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/MainScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/MainScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
@@ -11,14 +11,14 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import androidx.navigation.toRoute
-import com.example.casera.navigation.*
-import com.example.casera.repository.LookupsRepository
-import com.example.casera.models.Residence
-import com.example.casera.models.TaskDetail
-import com.example.casera.platform.PlatformUpgradeScreen
-import com.example.casera.storage.TokenStorage
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.navigation.*
+import com.tt.honeyDue.repository.LookupsRepository
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.models.TaskDetail
+import com.tt.honeyDue.platform.PlatformUpgradeScreen
+import com.tt.honeyDue.storage.TokenStorage
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import kotlinx.serialization.json.Json
import org.jetbrains.compose.resources.stringResource
@@ -28,7 +28,7 @@ fun MainScreen(
onResidenceClick: (Int) -> Unit,
onAddResidence: () -> Unit,
onNavigateToEditResidence: (Residence) -> Unit,
- onNavigateToEditTask: (com.example.casera.models.TaskDetail) -> Unit,
+ onNavigateToEditTask: (com.tt.honeyDue.models.TaskDetail) -> Unit,
onAddTask: () -> Unit,
navigateToTaskId: Int? = null,
onClearNavigateToTask: () -> Unit = {}
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ManageUsersScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ManageUsersScreen.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ManageUsersScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ManageUsersScreen.kt
index 6ef8ff4..c69559e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ManageUsersScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ManageUsersScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
@@ -15,12 +15,12 @@ import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
-import casera.composeapp.generated.resources.*
-import com.example.casera.models.ResidenceUser
-import com.example.casera.models.ResidenceShareCode
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
-import com.example.casera.ui.theme.*
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.models.ResidenceUser
+import com.tt.honeyDue.models.ResidenceShareCode
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.ui.theme.*
import kotlinx.coroutines.launch
import org.jetbrains.compose.resources.stringResource
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/NotificationPreferencesScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/NotificationPreferencesScreen.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/NotificationPreferencesScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/NotificationPreferencesScreen.kt
index 215e28d..a3a3b3e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/NotificationPreferencesScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/NotificationPreferencesScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -13,13 +13,13 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import com.example.casera.util.DateUtils
-import com.example.casera.viewmodel.NotificationPreferencesViewModel
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.util.DateUtils
+import com.tt.honeyDue.viewmodel.NotificationPreferencesViewModel
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ProfileScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ProfileScreen.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ProfileScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ProfileScreen.kt
index 1f8f353..b3fc686 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ProfileScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ProfileScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -16,23 +16,23 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.components.common.ErrorCard
-import com.example.casera.ui.components.dialogs.ThemePickerDialog
-import com.example.casera.utils.SubscriptionHelper
-import com.example.casera.ui.theme.AppRadius
-import com.example.casera.ui.theme.AppSpacing
-import com.example.casera.ui.theme.ThemeManager
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.AuthViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
-import com.example.casera.data.DataManager
-import com.example.casera.ui.subscription.UpgradePromptDialog
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.components.common.ErrorCard
+import com.tt.honeyDue.ui.components.dialogs.ThemePickerDialog
+import com.tt.honeyDue.utils.SubscriptionHelper
+import com.tt.honeyDue.ui.theme.AppRadius
+import com.tt.honeyDue.ui.theme.AppSpacing
+import com.tt.honeyDue.ui.theme.ThemeManager
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.AuthViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.ui.subscription.UpgradePromptDialog
import androidx.compose.runtime.getValue
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@@ -101,7 +101,7 @@ fun ProfileScreen(
errorMessage = ""
}
is ApiResult.Error -> {
- errorMessage = com.example.casera.util.ErrorMessageParser.parse((updateState as ApiResult.Error).message)
+ errorMessage = com.tt.honeyDue.util.ErrorMessageParser.parse((updateState as ApiResult.Error).message)
isLoading = false
successMessage = ""
}
@@ -291,7 +291,7 @@ fun ProfileScreen(
modifier = Modifier
.fillMaxWidth()
.clickable {
- uriHandler.openUri("mailto:caseraSupport@treymail.com?subject=Casera%20Support%20Request")
+ uriHandler.openUri("mailto:honeydueSupport@treymail.com?subject=honeyDue%20Support%20Request")
}
.naturalShadow()
) {
@@ -329,7 +329,7 @@ fun ProfileScreen(
modifier = Modifier
.fillMaxWidth()
.clickable {
- uriHandler.openUri("https://mycrib.treytartt.com/privacy")
+ uriHandler.openUri("https://honeyDue.treytartt.com/privacy")
}
.naturalShadow()
) {
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/RegisterScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/RegisterScreen.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/RegisterScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/RegisterScreen.kt
index e9b87e3..ec70365 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/RegisterScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/RegisterScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -14,15 +14,15 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.components.auth.AuthHeader
-import com.example.casera.ui.components.common.ErrorCard
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.AuthViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.components.auth.AuthHeader
+import com.tt.honeyDue.ui.components.common.ErrorCard
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.AuthViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResetPasswordScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResetPasswordScreen.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResetPasswordScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResetPasswordScreen.kt
index 83ba150..8d1cd71 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResetPasswordScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResetPasswordScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
@@ -12,14 +12,14 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.components.auth.AuthHeader
-import com.example.casera.ui.components.auth.RequirementItem
-import com.example.casera.ui.components.common.ErrorCard
-import com.example.casera.viewmodel.PasswordResetViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.components.auth.AuthHeader
+import com.tt.honeyDue.ui.components.auth.RequirementItem
+import com.tt.honeyDue.ui.components.common.ErrorCard
+import com.tt.honeyDue.viewmodel.PasswordResetViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@@ -45,13 +45,13 @@ fun ResetPasswordScreen(
)
val errorMessage = when (resetPasswordState) {
- is ApiResult.Error -> com.example.casera.util.ErrorMessageParser.parse((resetPasswordState as ApiResult.Error).message)
+ is ApiResult.Error -> com.tt.honeyDue.util.ErrorMessageParser.parse((resetPasswordState as ApiResult.Error).message)
else -> ""
}
val isLoading = resetPasswordState is ApiResult.Loading
- val isLoggingIn = currentStep == com.example.casera.viewmodel.PasswordResetStep.LOGGING_IN
- val isSuccess = currentStep == com.example.casera.viewmodel.PasswordResetStep.SUCCESS
+ val isLoggingIn = currentStep == com.tt.honeyDue.viewmodel.PasswordResetStep.LOGGING_IN
+ val isSuccess = currentStep == com.tt.honeyDue.viewmodel.PasswordResetStep.SUCCESS
// Password validation
val hasLetter = newPassword.any { it.isLetter() }
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceDetailScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResidenceDetailScreen.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceDetailScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResidenceDetailScreen.kt
index ae3671d..a19af4b 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceDetailScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResidenceDetailScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -14,32 +14,32 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.AddNewTaskDialog
-import com.example.casera.ui.components.ApiResultHandler
-import com.example.casera.ui.components.CompleteTaskDialog
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.components.ManageUsersDialog
-import com.example.casera.ui.components.common.InfoCard
-import com.example.casera.ui.components.residence.PropertyDetailItem
-import com.example.casera.ui.components.residence.DetailRow
-import com.example.casera.ui.components.task.TaskCard
-import com.example.casera.ui.components.task.DynamicTaskKanbanView
-import com.example.casera.viewmodel.ResidenceViewModel
-import com.example.casera.viewmodel.TaskCompletionViewModel
-import com.example.casera.viewmodel.TaskViewModel
-import com.example.casera.models.Residence
-import com.example.casera.models.TaskDetail
-import com.example.casera.models.ContractorSummary
-import com.example.casera.network.ApiResult
-import com.example.casera.utils.SubscriptionHelper
-import com.example.casera.ui.subscription.UpgradePromptDialog
-import com.example.casera.data.DataManager
-import com.example.casera.util.DateUtils
-import com.example.casera.platform.rememberShareResidence
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.AddNewTaskDialog
+import com.tt.honeyDue.ui.components.ApiResultHandler
+import com.tt.honeyDue.ui.components.CompleteTaskDialog
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.components.ManageUsersDialog
+import com.tt.honeyDue.ui.components.common.InfoCard
+import com.tt.honeyDue.ui.components.residence.PropertyDetailItem
+import com.tt.honeyDue.ui.components.residence.DetailRow
+import com.tt.honeyDue.ui.components.task.TaskCard
+import com.tt.honeyDue.ui.components.task.DynamicTaskKanbanView
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.viewmodel.TaskCompletionViewModel
+import com.tt.honeyDue.viewmodel.TaskViewModel
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.models.TaskDetail
+import com.tt.honeyDue.models.ContractorSummary
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.utils.SubscriptionHelper
+import com.tt.honeyDue.ui.subscription.UpgradePromptDialog
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.util.DateUtils
+import com.tt.honeyDue.platform.rememberShareResidence
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@@ -858,7 +858,7 @@ fun ResidenceDetailScreen(
showBlob = false
) {
Text(
- text = "Error loading tasks: ${com.example.casera.util.ErrorMessageParser.parse((tasksState as ApiResult.Error).message)}",
+ text = "Error loading tasks: ${com.tt.honeyDue.util.ErrorMessageParser.parse((tasksState as ApiResult.Error).message)}",
color = MaterialTheme.colorScheme.error,
modifier = Modifier.padding(OrganicSpacing.cozy)
)
@@ -1000,7 +1000,7 @@ fun ResidenceDetailScreen(
showBlob = false
) {
Text(
- text = "Error loading contractors: ${com.example.casera.util.ErrorMessageParser.parse((contractorsState as ApiResult.Error).message)}",
+ text = "Error loading contractors: ${com.tt.honeyDue.util.ErrorMessageParser.parse((contractorsState as ApiResult.Error).message)}",
color = MaterialTheme.colorScheme.error,
modifier = Modifier.padding(OrganicSpacing.cozy)
)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceFormScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResidenceFormScreen.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceFormScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResidenceFormScreen.kt
index d4f712f..c4fc117 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidenceFormScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResidenceFormScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -14,19 +14,19 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.viewmodel.ResidenceViewModel
-import com.example.casera.repository.LookupsRepository
-import com.example.casera.data.DataManager
-import com.example.casera.models.Residence
-import com.example.casera.models.ResidenceCreateRequest
-import com.example.casera.models.ResidenceType
-import com.example.casera.models.ResidenceUser
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.repository.LookupsRepository
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.models.ResidenceCreateRequest
+import com.tt.honeyDue.models.ResidenceType
+import com.tt.honeyDue.models.ResidenceUser
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import kotlinx.coroutines.launch
import org.jetbrains.compose.resources.stringResource
@@ -394,7 +394,7 @@ fun ResidenceFormScreen(
// Error message
if (operationState is ApiResult.Error) {
Text(
- text = com.example.casera.util.ErrorMessageParser.parse((operationState as ApiResult.Error).message),
+ text = com.tt.honeyDue.util.ErrorMessageParser.parse((operationState as ApiResult.Error).message),
color = MaterialTheme.colorScheme.error,
style = MaterialTheme.typography.bodySmall
)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidencesScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResidencesScreen.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidencesScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResidencesScreen.kt
index 5271e74..4514009 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/ResidencesScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/ResidencesScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.animation.core.*
import androidx.compose.foundation.background
@@ -24,20 +24,20 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.ApiResultHandler
-import com.example.casera.ui.components.JoinResidenceDialog
-import com.example.casera.ui.components.common.StatItem
-import com.example.casera.ui.components.residence.TaskStatChip
-import com.example.casera.viewmodel.ResidenceViewModel
-import com.example.casera.viewmodel.TaskViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.utils.SubscriptionHelper
-import com.example.casera.ui.subscription.UpgradePromptDialog
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import com.example.casera.data.DataManager
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.ApiResultHandler
+import com.tt.honeyDue.ui.components.JoinResidenceDialog
+import com.tt.honeyDue.ui.components.common.StatItem
+import com.tt.honeyDue.ui.components.residence.TaskStatChip
+import com.tt.honeyDue.viewmodel.ResidenceViewModel
+import com.tt.honeyDue.viewmodel.TaskViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.utils.SubscriptionHelper
+import com.tt.honeyDue.ui.subscription.UpgradePromptDialog
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/TasksScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/TasksScreen.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/TasksScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/TasksScreen.kt
index b1581a8..14e1c56 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/TasksScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/TasksScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -11,19 +11,19 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.CompleteTaskDialog
-import com.example.casera.ui.components.ErrorDialog
-import com.example.casera.ui.components.task.TaskCard
-import com.example.casera.ui.components.task.TaskPill
-import com.example.casera.ui.utils.getIconFromName
-import com.example.casera.ui.utils.hexToColor
-import com.example.casera.viewmodel.TaskCompletionViewModel
-import com.example.casera.viewmodel.TaskViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.analytics.PostHogAnalytics
-import com.example.casera.analytics.AnalyticsEvents
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.CompleteTaskDialog
+import com.tt.honeyDue.ui.components.ErrorDialog
+import com.tt.honeyDue.ui.components.task.TaskCard
+import com.tt.honeyDue.ui.components.task.TaskPill
+import com.tt.honeyDue.ui.utils.getIconFromName
+import com.tt.honeyDue.ui.utils.hexToColor
+import com.tt.honeyDue.viewmodel.TaskCompletionViewModel
+import com.tt.honeyDue.viewmodel.TaskViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.analytics.PostHogAnalytics
+import com.tt.honeyDue.analytics.AnalyticsEvents
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@@ -38,14 +38,14 @@ fun TasksScreen(
val completionState by taskCompletionViewModel.createCompletionState.collectAsState()
var expandedColumns by remember { mutableStateOf(setOf()) }
var showCompleteDialog by remember { mutableStateOf(false) }
- var selectedTask by remember { mutableStateOf(null) }
+ var selectedTask by remember { mutableStateOf(null) }
var showErrorDialog by remember { mutableStateOf(false) }
var errorMessage by remember { mutableStateOf("") }
// Show error dialog when tasks fail to load
LaunchedEffect(tasksState) {
if (tasksState is ApiResult.Error) {
- errorMessage = com.example.casera.util.ErrorMessageParser.parse((tasksState as ApiResult.Error).message)
+ errorMessage = com.tt.honeyDue.util.ErrorMessageParser.parse((tasksState as ApiResult.Error).message)
showErrorDialog = true
}
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/VerifyEmailScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/VerifyEmailScreen.kt
similarity index 93%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/VerifyEmailScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/VerifyEmailScreen.kt
index ac5d312..e3d0b45 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/VerifyEmailScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/VerifyEmailScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -15,13 +15,13 @@ import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.components.auth.AuthHeader
-import com.example.casera.ui.components.common.ErrorCard
-import com.example.casera.viewmodel.AuthViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.components.auth.AuthHeader
+import com.tt.honeyDue.ui.components.common.ErrorCard
+import com.tt.honeyDue.viewmodel.AuthViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@@ -50,7 +50,7 @@ fun VerifyEmailScreen(
onVerifySuccess()
}
is ApiResult.Error -> {
- errorMessage = com.example.casera.util.ErrorMessageParser.parse((verifyState as ApiResult.Error).message)
+ errorMessage = com.tt.honeyDue.util.ErrorMessageParser.parse((verifyState as ApiResult.Error).message)
isLoading = false
}
is ApiResult.Loading -> {
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/VerifyResetCodeScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/VerifyResetCodeScreen.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/VerifyResetCodeScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/VerifyResetCodeScreen.kt
index 3030094..1f0cbc8 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/VerifyResetCodeScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/VerifyResetCodeScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens
+package com.tt.honeyDue.ui.screens
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.KeyboardOptions
@@ -12,13 +12,13 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.components.HandleErrors
-import com.example.casera.ui.components.auth.AuthHeader
-import com.example.casera.ui.components.common.ErrorCard
-import com.example.casera.viewmodel.PasswordResetViewModel
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.components.HandleErrors
+import com.tt.honeyDue.ui.components.auth.AuthHeader
+import com.tt.honeyDue.ui.components.common.ErrorCard
+import com.tt.honeyDue.viewmodel.PasswordResetViewModel
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@@ -41,13 +41,13 @@ fun VerifyResetCodeScreen(
// Handle automatic navigation to next step
LaunchedEffect(currentStep) {
- if (currentStep == com.example.casera.viewmodel.PasswordResetStep.RESET_PASSWORD) {
+ if (currentStep == com.tt.honeyDue.viewmodel.PasswordResetStep.RESET_PASSWORD) {
onNavigateToReset()
}
}
val errorMessage = when (verifyCodeState) {
- is ApiResult.Error -> com.example.casera.util.ErrorMessageParser.parse((verifyCodeState as ApiResult.Error).message)
+ is ApiResult.Error -> com.tt.honeyDue.util.ErrorMessageParser.parse((verifyCodeState as ApiResult.Error).message)
else -> ""
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingCreateAccountContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingCreateAccountContent.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingCreateAccountContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingCreateAccountContent.kt
index 0e08a46..420166c 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingCreateAccountContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingCreateAccountContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.expandVertically
@@ -19,10 +19,10 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.OnboardingViewModel
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.OnboardingViewModel
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingFirstTaskContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingFirstTaskContent.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingFirstTaskContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingFirstTaskContent.kt
index 1e4ca9a..14cac0d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingFirstTaskContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingFirstTaskContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.animation.*
import androidx.compose.foundation.background
@@ -21,13 +21,13 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.data.DataManager
-import com.example.casera.models.TaskCreateRequest
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.OnboardingViewModel
-import casera.composeapp.generated.resources.*
-import com.example.casera.util.DateUtils
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.TaskCreateRequest
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.OnboardingViewModel
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.util.DateUtils
import org.jetbrains.compose.resources.stringResource
import kotlin.random.Random
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingJoinResidenceContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingJoinResidenceContent.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingJoinResidenceContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingJoinResidenceContent.kt
index d4997bd..433a5fb 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingJoinResidenceContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingJoinResidenceContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -13,10 +13,10 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.KeyboardCapitalization
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.OnboardingViewModel
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.OnboardingViewModel
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingLocationContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingLocationContent.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingLocationContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingLocationContent.kt
index a2a9427..b460fd0 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingLocationContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingLocationContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -14,9 +14,9 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.OnboardingViewModel
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.OnboardingViewModel
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
/**
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingNameResidenceContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingNameResidenceContent.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingNameResidenceContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingNameResidenceContent.kt
index b59e714..76fe087 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingNameResidenceContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingNameResidenceContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -12,9 +12,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.OnboardingViewModel
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.OnboardingViewModel
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingScreen.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingScreen.kt
index d1aec9e..3870327 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.animation.*
import androidx.compose.foundation.background
@@ -14,10 +14,10 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.OnboardingStep
-import com.example.casera.viewmodel.OnboardingViewModel
-import com.example.casera.viewmodel.OnboardingIntent
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.OnboardingStep
+import com.tt.honeyDue.viewmodel.OnboardingViewModel
+import com.tt.honeyDue.viewmodel.OnboardingIntent
@OptIn(ExperimentalAnimationApi::class)
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingSubscriptionContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingSubscriptionContent.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingSubscriptionContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingSubscriptionContent.kt
index 30ec02a..f350c4b 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingSubscriptionContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingSubscriptionContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.animation.core.*
import androidx.compose.foundation.background
@@ -23,8 +23,8 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
enum class SubscriptionPlan {
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingValuePropsContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingValuePropsContent.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingValuePropsContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingValuePropsContent.kt
index d5235ab..6b7fdd3 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingValuePropsContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingValuePropsContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.animation.core.*
import androidx.compose.foundation.ExperimentalFoundationApi
@@ -21,8 +21,8 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.ui.theme.*
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.theme.*
+import honeydue.composeapp.generated.resources.*
import kotlinx.coroutines.delay
import org.jetbrains.compose.resources.stringResource
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingVerifyEmailContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingVerifyEmailContent.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingVerifyEmailContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingVerifyEmailContent.kt
index 2227bd0..08febc6 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingVerifyEmailContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingVerifyEmailContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -13,10 +13,10 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.network.ApiResult
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.OnboardingViewModel
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.OnboardingViewModel
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.stringResource
@Composable
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingWelcomeContent.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingWelcomeContent.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingWelcomeContent.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingWelcomeContent.kt
index 59145ce..236a20c 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/screens/onboarding/OnboardingWelcomeContent.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/screens/onboarding/OnboardingWelcomeContent.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.screens.onboarding
+package com.tt.honeyDue.ui.screens.onboarding
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.*
@@ -14,10 +14,10 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
-import com.example.casera.ui.theme.*
-import com.example.casera.viewmodel.AuthViewModel
-import com.example.casera.network.ApiResult
-import casera.composeapp.generated.resources.*
+import com.tt.honeyDue.ui.theme.*
+import com.tt.honeyDue.viewmodel.AuthViewModel
+import com.tt.honeyDue.network.ApiResult
+import honeydue.composeapp.generated.resources.*
import org.jetbrains.compose.resources.painterResource
import org.jetbrains.compose.resources.stringResource
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/FeatureComparisonDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/FeatureComparisonDialog.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/FeatureComparisonDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/FeatureComparisonDialog.kt
index bfbf9b5..e54edd7 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/FeatureComparisonDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/FeatureComparisonDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.subscription
+package com.tt.honeyDue.ui.subscription
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -13,9 +13,9 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
-import com.example.casera.data.DataManager
-import com.example.casera.ui.theme.AppRadius
-import com.example.casera.ui.theme.AppSpacing
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.ui.theme.AppRadius
+import com.tt.honeyDue.ui.theme.AppSpacing
@Composable
fun FeatureComparisonDialog(
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/UpgradeFeatureScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradeFeatureScreen.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/UpgradeFeatureScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradeFeatureScreen.kt
index ded2e2d..744b3b2 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/UpgradeFeatureScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradeFeatureScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.subscription
+package com.tt.honeyDue.ui.subscription
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -13,10 +13,10 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.example.casera.data.DataManager
-import com.example.casera.ui.theme.AppRadius
-import com.example.casera.ui.theme.AppSpacing
-import com.example.casera.utils.SubscriptionProducts
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.ui.theme.AppRadius
+import com.tt.honeyDue.ui.theme.AppSpacing
+import com.tt.honeyDue.utils.SubscriptionProducts
/**
* Full inline paywall screen for upgrade prompts.
@@ -254,7 +254,7 @@ private fun SubscriptionProductsSection(
// Monthly Option
SubscriptionProductCard(
productId = SubscriptionProducts.MONTHLY,
- name = "Casera Pro Monthly",
+ name = "honeyDue Pro Monthly",
price = "$2.99/month",
description = "Billed monthly",
savingsBadge = null,
@@ -266,7 +266,7 @@ private fun SubscriptionProductsSection(
// Annual Option
SubscriptionProductCard(
productId = SubscriptionProducts.ANNUAL,
- name = "Casera Pro Annual",
+ name = "honeyDue Pro Annual",
price = "$27.99/year",
description = "Billed annually",
savingsBadge = "Save 22%",
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/UpgradePromptDialog.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradePromptDialog.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/UpgradePromptDialog.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradePromptDialog.kt
index aebe446..d893d44 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/UpgradePromptDialog.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradePromptDialog.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.subscription
+package com.tt.honeyDue.ui.subscription
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
@@ -11,9 +11,9 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
-import com.example.casera.data.DataManager
-import com.example.casera.ui.theme.AppRadius
-import com.example.casera.ui.theme.AppSpacing
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.ui.theme.AppRadius
+import com.tt.honeyDue.ui.theme.AppSpacing
@Composable
fun UpgradePromptDialog(
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/UpgradeScreen.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradeScreen.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/UpgradeScreen.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradeScreen.kt
index b45bbc7..ed61e1f 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/subscription/UpgradeScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/subscription/UpgradeScreen.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.subscription
+package com.tt.honeyDue.ui.subscription
import androidx.compose.animation.animateColorAsState
import androidx.compose.foundation.background
@@ -22,11 +22,11 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import casera.composeapp.generated.resources.*
-import com.example.casera.data.DataManager
-import com.example.casera.ui.theme.AppRadius
-import com.example.casera.ui.theme.AppSpacing
-import com.example.casera.utils.SubscriptionProducts
+import honeydue.composeapp.generated.resources.*
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.ui.theme.AppRadius
+import com.tt.honeyDue.ui.theme.AppSpacing
+import com.tt.honeyDue.utils.SubscriptionProducts
import org.jetbrains.compose.resources.stringResource
/**
@@ -116,7 +116,7 @@ fun UpgradeScreen(
)
Text(
- text = "Unlock the full potential of Casera",
+ text = "Unlock the full potential of honeyDue",
style = MaterialTheme.typography.bodyLarge,
color = MaterialTheme.colorScheme.onSurfaceVariant,
textAlign = TextAlign.Center
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/OrganicDesign.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/OrganicDesign.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/OrganicDesign.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/OrganicDesign.kt
index af73afb..56e4b1d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/OrganicDesign.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/OrganicDesign.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.theme
+package com.tt.honeyDue.ui.theme
import androidx.compose.animation.core.*
import androidx.compose.foundation.Canvas
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Shape.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Shape.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Shape.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Shape.kt
index afeef50..7c10af7 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Shape.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Shape.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.theme
+package com.tt.honeyDue.ui.theme
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Shapes
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Spacing.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Spacing.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Spacing.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Spacing.kt
index 079e5d1..36285d1 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Spacing.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Spacing.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.theme
+package com.tt.honeyDue.ui.theme
import androidx.compose.ui.unit.dp
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Theme.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Theme.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Theme.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Theme.kt
index dce902a..de1f5d9 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Theme.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Theme.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.theme
+package com.tt.honeyDue.ui.theme
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.*
@@ -84,7 +84,7 @@ fun ThemeColors.toColorScheme(isDark: Boolean): ColorScheme {
* Matches iOS multi-theme system
*/
@Composable
-fun MyCribTheme(
+fun HoneyDueTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
themeColors: ThemeColors = AppThemes.Default, // Can be overridden with ThemeManager.currentTheme
content: @Composable () -> Unit
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/ThemeColors.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/ThemeColors.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/ThemeColors.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/ThemeColors.kt
index 4af2d16..f870d57 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/ThemeColors.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/ThemeColors.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.theme
+package com.tt.honeyDue.ui.theme
import androidx.compose.ui.graphics.Color
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/ThemeManager.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/ThemeManager.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/ThemeManager.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/ThemeManager.kt
index fabc2b3..ccb7b99 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/ThemeManager.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/ThemeManager.kt
@@ -1,9 +1,9 @@
-package com.example.casera.ui.theme
+package com.tt.honeyDue.ui.theme
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
-import com.example.casera.storage.ThemeStorage
+import com.tt.honeyDue.storage.ThemeStorage
/**
* ThemeManager - Singleton for managing app themes
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Type.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Type.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Type.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Type.kt
index 014d175..4e7195d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/theme/Type.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/theme/Type.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.theme
+package com.tt.honeyDue.ui.theme
import androidx.compose.material3.Typography
import androidx.compose.ui.text.TextStyle
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/ui/utils/TaskDisplayUtils.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/utils/TaskDisplayUtils.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/ui/utils/TaskDisplayUtils.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/utils/TaskDisplayUtils.kt
index ee47920..916799b 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/ui/utils/TaskDisplayUtils.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/ui/utils/TaskDisplayUtils.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.utils
+package com.tt.honeyDue.ui.utils
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.*
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/util/DateUtils.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/DateUtils.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/util/DateUtils.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/DateUtils.kt
index 75fe58e..ca1c998 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/util/DateUtils.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/DateUtils.kt
@@ -1,4 +1,4 @@
-package com.example.casera.util
+package com.tt.honeyDue.util
import kotlin.time.Clock
import kotlin.time.ExperimentalTime
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/util/ErrorMessageParser.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/ErrorMessageParser.kt
similarity index 99%
rename from composeApp/src/commonMain/kotlin/com/example/casera/util/ErrorMessageParser.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/ErrorMessageParser.kt
index 7aea3fa..5c61505 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/util/ErrorMessageParser.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/ErrorMessageParser.kt
@@ -1,4 +1,4 @@
-package com.example.casera.util
+package com.tt.honeyDue.util
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonObject
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/util/ImageCompressor.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/ImageCompressor.kt
similarity index 83%
rename from composeApp/src/commonMain/kotlin/com/example/casera/util/ImageCompressor.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/ImageCompressor.kt
index adb5227..ffe79dd 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/util/ImageCompressor.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/ImageCompressor.kt
@@ -1,6 +1,6 @@
-package com.example.casera.util
+package com.tt.honeyDue.util
-import com.example.casera.platform.ImageData
+import com.tt.honeyDue.platform.ImageData
/**
* Platform-specific image compression
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/util/ImageConfig.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/ImageConfig.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/util/ImageConfig.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/ImageConfig.kt
index 74f3baf..1c38158 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/util/ImageConfig.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/ImageConfig.kt
@@ -1,4 +1,4 @@
-package com.example.casera.util
+package com.tt.honeyDue.util
/**
* Configuration for image uploads
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/util/TaskConstants.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/TaskConstants.kt
similarity index 92%
rename from composeApp/src/commonMain/kotlin/com/example/casera/util/TaskConstants.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/TaskConstants.kt
index 6ecab62..7ddabdd 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/util/TaskConstants.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/util/TaskConstants.kt
@@ -1,4 +1,4 @@
-package com.example.casera.util
+package com.tt.honeyDue.util
/**
* Constants used throughout the task features.
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/utils/SubscriptionHelper.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/utils/SubscriptionHelper.kt
similarity index 98%
rename from composeApp/src/commonMain/kotlin/com/example/casera/utils/SubscriptionHelper.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/utils/SubscriptionHelper.kt
index 6041955..129a765 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/utils/SubscriptionHelper.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/utils/SubscriptionHelper.kt
@@ -1,6 +1,6 @@
-package com.example.casera.utils
+package com.tt.honeyDue.utils
-import com.example.casera.data.DataManager
+import com.tt.honeyDue.data.DataManager
/**
* Canonical product IDs for in-app subscriptions.
@@ -13,8 +13,8 @@ import com.example.casera.data.DataManager
* instead of hardcoded strings to ensure consistency.
*/
object SubscriptionProducts {
- const val MONTHLY = "com.example.casera.pro.monthly"
- const val ANNUAL = "com.example.casera.pro.annual"
+ const val MONTHLY = "com.tt.honeyDue.pro.monthly"
+ const val ANNUAL = "com.tt.honeyDue.pro.annual"
/** All product IDs as a list, useful for querying store product details. */
val all: List = listOf(MONTHLY, ANNUAL)
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/AuthViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/AuthViewModel.kt
similarity index 89%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/AuthViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/AuthViewModel.kt
index a74946c..0b576b7 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/AuthViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/AuthViewModel.kt
@@ -1,27 +1,27 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.data.DataManager
-import com.example.casera.models.AppleSignInRequest
-import com.example.casera.models.AppleSignInResponse
-import com.example.casera.models.GoogleSignInRequest
-import com.example.casera.models.GoogleSignInResponse
-import com.example.casera.models.AuthResponse
-import com.example.casera.models.ForgotPasswordRequest
-import com.example.casera.models.ForgotPasswordResponse
-import com.example.casera.models.LoginRequest
-import com.example.casera.models.RegisterRequest
-import com.example.casera.models.ResetPasswordRequest
-import com.example.casera.models.ResetPasswordResponse
-import com.example.casera.models.Residence
-import com.example.casera.models.User
-import com.example.casera.models.VerifyEmailRequest
-import com.example.casera.models.VerifyEmailResponse
-import com.example.casera.models.VerifyResetCodeRequest
-import com.example.casera.models.VerifyResetCodeResponse
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.AppleSignInRequest
+import com.tt.honeyDue.models.AppleSignInResponse
+import com.tt.honeyDue.models.GoogleSignInRequest
+import com.tt.honeyDue.models.GoogleSignInResponse
+import com.tt.honeyDue.models.AuthResponse
+import com.tt.honeyDue.models.ForgotPasswordRequest
+import com.tt.honeyDue.models.ForgotPasswordResponse
+import com.tt.honeyDue.models.LoginRequest
+import com.tt.honeyDue.models.RegisterRequest
+import com.tt.honeyDue.models.ResetPasswordRequest
+import com.tt.honeyDue.models.ResetPasswordResponse
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.models.User
+import com.tt.honeyDue.models.VerifyEmailRequest
+import com.tt.honeyDue.models.VerifyEmailResponse
+import com.tt.honeyDue.models.VerifyResetCodeRequest
+import com.tt.honeyDue.models.VerifyResetCodeResponse
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
@@ -127,7 +127,7 @@ class AuthViewModel : ViewModel() {
}
val result = APILayer.updateProfile(
token,
- com.example.casera.models.UpdateProfileRequest(
+ com.tt.honeyDue.models.UpdateProfileRequest(
firstName = firstName,
lastName = lastName,
email = email
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/ContractorViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/ContractorViewModel.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/ContractorViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/ContractorViewModel.kt
index 2eb51ff..7b3b7c2 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/ContractorViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/ContractorViewModel.kt
@@ -1,10 +1,10 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.models.*
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/DocumentViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/DocumentViewModel.kt
similarity index 96%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/DocumentViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/DocumentViewModel.kt
index 4d74c31..8776fe5 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/DocumentViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/DocumentViewModel.kt
@@ -1,11 +1,11 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.models.*
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
-import com.example.casera.util.ImageCompressor
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.util.ImageCompressor
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
@@ -110,7 +110,7 @@ class DocumentViewModel : ViewModel() {
startDate: String? = null,
endDate: String? = null,
// Images
- images: List = emptyList()
+ images: List = emptyList()
) {
viewModelScope.launch {
_createState.value = ApiResult.Loading
@@ -191,7 +191,7 @@ class DocumentViewModel : ViewModel() {
startDate: String? = null,
endDate: String? = null,
// Images
- images: List = emptyList()
+ images: List = emptyList()
) {
viewModelScope.launch {
_updateState.value = ApiResult.Loading
@@ -305,7 +305,7 @@ class DocumentViewModel : ViewModel() {
fun uploadDocumentImage(
documentId: Int,
- imageData: com.example.casera.platform.ImageData,
+ imageData: com.tt.honeyDue.platform.ImageData,
caption: String? = null
) {
viewModelScope.launch {
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/LookupsViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/LookupsViewModel.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/LookupsViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/LookupsViewModel.kt
index 3b05a85..fcaa66f 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/LookupsViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/LookupsViewModel.kt
@@ -1,11 +1,11 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.data.DataManager
-import com.example.casera.models.*
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/NotificationPreferencesViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/NotificationPreferencesViewModel.kt
similarity index 92%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/NotificationPreferencesViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/NotificationPreferencesViewModel.kt
index 78f7172..00dd4d1 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/NotificationPreferencesViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/NotificationPreferencesViewModel.kt
@@ -1,11 +1,11 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.models.NotificationPreference
-import com.example.casera.models.UpdateNotificationPreferencesRequest
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.models.NotificationPreference
+import com.tt.honeyDue.models.UpdateNotificationPreferencesRequest
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/OnboardingViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/OnboardingViewModel.kt
similarity index 95%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/OnboardingViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/OnboardingViewModel.kt
index cf66d3e..28a8ebe 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/OnboardingViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/OnboardingViewModel.kt
@@ -1,18 +1,18 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.data.DataManager
-import com.example.casera.models.AuthResponse
-import com.example.casera.models.LoginRequest
-import com.example.casera.models.RegisterRequest
-import com.example.casera.models.ResidenceCreateRequest
-import com.example.casera.models.TaskCreateRequest
-import com.example.casera.models.TaskTemplate
-import com.example.casera.models.VerifyEmailRequest
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
-import com.example.casera.repository.LookupsRepository
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.AuthResponse
+import com.tt.honeyDue.models.LoginRequest
+import com.tt.honeyDue.models.RegisterRequest
+import com.tt.honeyDue.models.ResidenceCreateRequest
+import com.tt.honeyDue.models.TaskCreateRequest
+import com.tt.honeyDue.models.TaskTemplate
+import com.tt.honeyDue.models.VerifyEmailRequest
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.repository.LookupsRepository
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/PasswordResetViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/PasswordResetViewModel.kt
similarity index 97%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/PasswordResetViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/PasswordResetViewModel.kt
index 9b21927..e0f8a7f 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/PasswordResetViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/PasswordResetViewModel.kt
@@ -1,10 +1,10 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.models.*
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.models.*
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/ResidenceViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/ResidenceViewModel.kt
similarity index 82%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/ResidenceViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/ResidenceViewModel.kt
index 3a780aa..0991226 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/ResidenceViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/ResidenceViewModel.kt
@@ -1,15 +1,15 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.models.Residence
-import com.example.casera.models.ResidenceCreateRequest
-import com.example.casera.models.TotalSummary
-import com.example.casera.models.MyResidencesResponse
-import com.example.casera.models.TaskColumnsResponse
-import com.example.casera.models.ContractorSummary
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.models.ResidenceCreateRequest
+import com.tt.honeyDue.models.TotalSummary
+import com.tt.honeyDue.models.MyResidencesResponse
+import com.tt.honeyDue.models.TaskColumnsResponse
+import com.tt.honeyDue.models.ContractorSummary
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
@@ -34,17 +34,17 @@ class ResidenceViewModel : ViewModel() {
private val _myResidencesState = MutableStateFlow>(ApiResult.Idle)
val myResidencesState: StateFlow> = _myResidencesState
- private val _cancelTaskState = MutableStateFlow>(ApiResult.Idle)
- val cancelTaskState: StateFlow> = _cancelTaskState
+ private val _cancelTaskState = MutableStateFlow>(ApiResult.Idle)
+ val cancelTaskState: StateFlow> = _cancelTaskState
- private val _uncancelTaskState = MutableStateFlow>(ApiResult.Idle)
- val uncancelTaskState: StateFlow> = _uncancelTaskState
+ private val _uncancelTaskState = MutableStateFlow>(ApiResult.Idle)
+ val uncancelTaskState: StateFlow> = _uncancelTaskState
- private val _updateTaskState = MutableStateFlow>(ApiResult.Idle)
- val updateTaskState: StateFlow> = _updateTaskState
+ private val _updateTaskState = MutableStateFlow>(ApiResult.Idle)
+ val updateTaskState: StateFlow> = _updateTaskState
- private val _generateReportState = MutableStateFlow>(ApiResult.Idle)
- val generateReportState: StateFlow> = _generateReportState
+ private val _generateReportState = MutableStateFlow>(ApiResult.Idle)
+ val generateReportState: StateFlow> = _generateReportState
private val _deleteResidenceState = MutableStateFlow>(ApiResult.Idle)
val deleteResidenceState: StateFlow> = _deleteResidenceState
@@ -131,7 +131,7 @@ class ResidenceViewModel : ViewModel() {
}
}
- fun updateTask(taskId: Int, request: com.example.casera.models.TaskCreateRequest) {
+ fun updateTask(taskId: Int, request: com.tt.honeyDue.models.TaskCreateRequest) {
viewModelScope.launch {
_updateTaskState.value = ApiResult.Loading
_updateTaskState.value = APILayer.updateTask(taskId, request)
@@ -172,8 +172,8 @@ class ResidenceViewModel : ViewModel() {
_deleteResidenceState.value = ApiResult.Idle
}
- private val _joinResidenceState = MutableStateFlow>(ApiResult.Idle)
- val joinResidenceState: StateFlow> = _joinResidenceState
+ private val _joinResidenceState = MutableStateFlow>(ApiResult.Idle)
+ val joinResidenceState: StateFlow> = _joinResidenceState
fun joinWithCode(code: String) {
viewModelScope.launch {
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/TaskCompletionViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/TaskCompletionViewModel.kt
similarity index 86%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/TaskCompletionViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/TaskCompletionViewModel.kt
index 3236aa9..d18a228 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/TaskCompletionViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/TaskCompletionViewModel.kt
@@ -1,12 +1,12 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.models.TaskCompletionCreateRequest
-import com.example.casera.models.TaskCompletionResponse
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
-import com.example.casera.util.ImageCompressor
+import com.tt.honeyDue.models.TaskCompletionCreateRequest
+import com.tt.honeyDue.models.TaskCompletionResponse
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.util.ImageCompressor
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
@@ -32,7 +32,7 @@ class TaskCompletionViewModel : ViewModel() {
*/
fun createTaskCompletionWithImages(
request: TaskCompletionCreateRequest,
- images: List = emptyList()
+ images: List = emptyList()
) {
viewModelScope.launch {
_createCompletionState.value = ApiResult.Loading
diff --git a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/TaskViewModel.kt b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/TaskViewModel.kt
similarity index 94%
rename from composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/TaskViewModel.kt
rename to composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/TaskViewModel.kt
index 3af331d..03d2d9e 100644
--- a/composeApp/src/commonMain/kotlin/com/example/casera/viewmodel/TaskViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/tt/honeyDue/viewmodel/TaskViewModel.kt
@@ -1,13 +1,13 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.example.casera.models.TaskColumnsResponse
-import com.example.casera.models.CustomTask
-import com.example.casera.models.TaskCreateRequest
-import com.example.casera.models.TaskCompletionResponse
-import com.example.casera.network.ApiResult
-import com.example.casera.network.APILayer
+import com.tt.honeyDue.models.TaskColumnsResponse
+import com.tt.honeyDue.models.CustomTask
+import com.tt.honeyDue.models.TaskCreateRequest
+import com.tt.honeyDue.models.TaskCompletionResponse
+import com.tt.honeyDue.network.ApiResult
+import com.tt.honeyDue.network.APILayer
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
diff --git a/composeApp/src/commonTest/kotlin/com/example/casera/ComposeAppCommonTest.kt b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/ComposeAppCommonTest.kt
similarity index 85%
rename from composeApp/src/commonTest/kotlin/com/example/casera/ComposeAppCommonTest.kt
rename to composeApp/src/commonTest/kotlin/com/tt/honeyDue/ComposeAppCommonTest.kt
index b9e8679..beb6d14 100644
--- a/composeApp/src/commonTest/kotlin/com/example/casera/ComposeAppCommonTest.kt
+++ b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/ComposeAppCommonTest.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
import kotlin.test.Test
import kotlin.test.assertEquals
diff --git a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/AuthViewModelTest.kt b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/AuthViewModelTest.kt
similarity index 89%
rename from composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/AuthViewModelTest.kt
rename to composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/AuthViewModelTest.kt
index 0a0b82a..14edc43 100644
--- a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/AuthViewModelTest.kt
+++ b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/AuthViewModelTest.kt
@@ -1,7 +1,7 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
-import com.casera.android.viewmodel.AuthViewModel
-import com.casera.shared.network.ApiResult
+import com.honeydue.android.viewmodel.AuthViewModel
+import com.honeydue.shared.network.ApiResult
import kotlin.test.Test
import kotlin.test.assertIs
diff --git a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/ContractorViewModelTest.kt b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/ContractorViewModelTest.kt
similarity index 90%
rename from composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/ContractorViewModelTest.kt
rename to composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/ContractorViewModelTest.kt
index 19c38aa..2cc4f93 100644
--- a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/ContractorViewModelTest.kt
+++ b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/ContractorViewModelTest.kt
@@ -1,7 +1,7 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
-import com.casera.android.viewmodel.ContractorViewModel
-import com.casera.shared.network.ApiResult
+import com.honeydue.android.viewmodel.ContractorViewModel
+import com.honeydue.shared.network.ApiResult
import kotlin.test.Test
import kotlin.test.assertIs
diff --git a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/DocumentViewModelTest.kt b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/DocumentViewModelTest.kt
similarity index 90%
rename from composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/DocumentViewModelTest.kt
rename to composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/DocumentViewModelTest.kt
index 6ecffbb..13b5d3b 100644
--- a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/DocumentViewModelTest.kt
+++ b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/DocumentViewModelTest.kt
@@ -1,7 +1,7 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
-import com.casera.android.viewmodel.DocumentViewModel
-import com.casera.shared.network.ApiResult
+import com.honeydue.android.viewmodel.DocumentViewModel
+import com.honeydue.shared.network.ApiResult
import kotlin.test.Test
import kotlin.test.assertIs
diff --git a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/ResidenceViewModelTest.kt b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/ResidenceViewModelTest.kt
similarity index 91%
rename from composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/ResidenceViewModelTest.kt
rename to composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/ResidenceViewModelTest.kt
index 2530ae7..4a7607e 100644
--- a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/ResidenceViewModelTest.kt
+++ b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/ResidenceViewModelTest.kt
@@ -1,7 +1,7 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
-import com.casera.android.viewmodel.ResidenceViewModel
-import com.casera.shared.network.ApiResult
+import com.honeydue.android.viewmodel.ResidenceViewModel
+import com.honeydue.shared.network.ApiResult
import kotlin.test.Test
import kotlin.test.assertIs
diff --git a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/TaskViewModelTest.kt b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/TaskViewModelTest.kt
similarity index 84%
rename from composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/TaskViewModelTest.kt
rename to composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/TaskViewModelTest.kt
index a2d2e09..0da66a4 100644
--- a/composeApp/src/commonTest/kotlin/com/example/casera/viewmodel/TaskViewModelTest.kt
+++ b/composeApp/src/commonTest/kotlin/com/tt/honeyDue/viewmodel/TaskViewModelTest.kt
@@ -1,7 +1,7 @@
-package com.example.casera.viewmodel
+package com.tt.honeyDue.viewmodel
-import com.casera.android.viewmodel.TaskViewModel
-import com.casera.shared.network.ApiResult
+import com.honeydue.android.viewmodel.TaskViewModel
+import com.honeydue.shared.network.ApiResult
import kotlin.test.Test
import kotlin.test.assertIs
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/MainViewController.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/MainViewController.kt
similarity index 57%
rename from composeApp/src/iosMain/kotlin/com/example/casera/MainViewController.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/MainViewController.kt
index 632eed1..a95c0ca 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/MainViewController.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/MainViewController.kt
@@ -1,13 +1,13 @@
-package com.example.casera
+package com.tt.honeyDue
import androidx.compose.ui.window.ComposeUIViewController
-import com.example.casera.storage.TokenManager
-import com.example.casera.storage.TokenStorage
-import com.example.casera.storage.TaskCacheManager
-import com.example.casera.storage.TaskCacheStorage
-import com.example.casera.storage.ThemeStorage
-import com.example.casera.storage.ThemeStorageManager
-import com.example.casera.ui.theme.ThemeManager
+import com.tt.honeyDue.storage.TokenManager
+import com.tt.honeyDue.storage.TokenStorage
+import com.tt.honeyDue.storage.TaskCacheManager
+import com.tt.honeyDue.storage.TaskCacheStorage
+import com.tt.honeyDue.storage.ThemeStorage
+import com.tt.honeyDue.storage.ThemeStorageManager
+import com.tt.honeyDue.ui.theme.ThemeManager
fun MainViewController() = ComposeUIViewController {
// Initialize TokenStorage with iOS TokenManager
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/Platform.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/Platform.ios.kt
similarity index 89%
rename from composeApp/src/iosMain/kotlin/com/example/casera/Platform.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/Platform.ios.kt
index fa992ec..3129ea0 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/Platform.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/Platform.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
import platform.UIKit.UIDevice
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/analytics/PostHogAnalytics.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.ios.kt
similarity index 96%
rename from composeApp/src/iosMain/kotlin/com/example/casera/analytics/PostHogAnalytics.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.ios.kt
index 56a4412..d65c3fe 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/analytics/PostHogAnalytics.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.analytics
+package com.tt.honeyDue.analytics
/**
* iOS implementation of PostHog Analytics.
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/data/PersistenceManager.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/data/PersistenceManager.ios.kt
similarity index 97%
rename from composeApp/src/iosMain/kotlin/com/example/casera/data/PersistenceManager.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/data/PersistenceManager.ios.kt
index b7659a8..861b1ae 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/data/PersistenceManager.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/data/PersistenceManager.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.data
+package com.tt.honeyDue.data
import platform.Foundation.NSUserDefaults
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/network/ApiClient.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/network/ApiClient.ios.kt
similarity index 98%
rename from composeApp/src/iosMain/kotlin/com/example/casera/network/ApiClient.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/network/ApiClient.ios.kt
index 3b18564..20423b6 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/network/ApiClient.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/network/ApiClient.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
import io.ktor.client.*
import io.ktor.client.engine.darwin.*
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ContractorImportHandler.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.ios.kt
similarity index 84%
rename from composeApp/src/iosMain/kotlin/com/example/casera/platform/ContractorImportHandler.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.ios.kt
index 1b1a95e..f78576c 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ContractorImportHandler.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.ios.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.models.Contractor
/**
* iOS implementation is a no-op - import is handled in Swift layer via ContractorSharingManager.swift.
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ContractorSharing.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.ios.kt
similarity index 83%
rename from composeApp/src/iosMain/kotlin/com/example/casera/platform/ContractorSharing.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.ios.kt
index 60b357a..38a1f13 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ContractorSharing.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.ios.kt
@@ -1,10 +1,10 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.ui.interop.LocalUIViewController
-import com.example.casera.data.DataManager
-import com.example.casera.models.CaseraShareCodec
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.data.DataManager
+import com.tt.honeyDue.models.honeyDueShareCodec
+import com.tt.honeyDue.models.Contractor
import kotlinx.cinterop.ExperimentalForeignApi
import kotlinx.cinterop.addressOf
import kotlinx.cinterop.usePinned
@@ -18,7 +18,7 @@ actual fun rememberShareContractor(): (Contractor) -> Unit {
return share@{ contractor: Contractor ->
val currentUsername = DataManager.currentUser.value?.username ?: "Unknown"
- val jsonContent = CaseraShareCodec.encodeContractorPackage(contractor, currentUsername)
+ val jsonContent = honeyDueShareCodec.encodeContractorPackage(contractor, currentUsername)
val fileUrl = writeShareFile(jsonContent, contractor.name) ?: return@share
presentShareSheet(viewController, fileUrl)
}
@@ -26,7 +26,7 @@ actual fun rememberShareContractor(): (Contractor) -> Unit {
@OptIn(ExperimentalForeignApi::class)
private fun writeShareFile(jsonContent: String, displayName: String): NSURL? {
- val fileName = CaseraShareCodec.safeShareFileName(displayName)
+ val fileName = honeyDueShareCodec.safeShareFileName(displayName)
val filePath = NSTemporaryDirectory().plus(fileName)
val bytes = jsonContent.encodeToByteArray()
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/platform/HapticFeedback.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.ios.kt
similarity index 94%
rename from composeApp/src/iosMain/kotlin/com/example/casera/platform/HapticFeedback.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.ios.kt
index 775757e..b5bf020 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/platform/HapticFeedback.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ImageBitmap.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.ios.kt
similarity index 93%
rename from composeApp/src/iosMain/kotlin/com/example/casera/platform/ImageBitmap.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.ios.kt
index 4fb0d5b..d6b7c8e 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ImageBitmap.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ImagePicker.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ImagePicker.ios.kt
similarity index 99%
rename from composeApp/src/iosMain/kotlin/com/example/casera/platform/ImagePicker.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ImagePicker.ios.kt
index 20389c8..77ff4ee 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ImagePicker.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ImagePicker.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.ios.kt
similarity index 85%
rename from composeApp/src/iosMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.ios.kt
index 3b989d7..46914cc 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.ios.kt
@@ -1,9 +1,9 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
-import com.example.casera.network.APILayer
-import com.example.casera.ui.subscription.UpgradeScreen
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.ui.subscription.UpgradeScreen
import kotlinx.coroutines.launch
/**
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ResidenceImportHandler.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.ios.kt
similarity index 83%
rename from composeApp/src/iosMain/kotlin/com/example/casera/platform/ResidenceImportHandler.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.ios.kt
index 6b3b123..12c251a 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ResidenceImportHandler.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.ios.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.JoinResidenceResponse
+import com.tt.honeyDue.models.JoinResidenceResponse
/**
* iOS implementation is a no-op - import is handled in Swift layer via ResidenceSharingManager.swift.
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ResidenceSharing.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.ios.kt
similarity index 89%
rename from composeApp/src/iosMain/kotlin/com/example/casera/platform/ResidenceSharing.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.ios.kt
index 8fa95ac..afd0bbf 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/platform/ResidenceSharing.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
@@ -7,10 +7,10 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.interop.LocalUIViewController
-import com.example.casera.models.CaseraShareCodec
-import com.example.casera.models.Residence
-import com.example.casera.network.APILayer
-import com.example.casera.network.ApiResult
+import com.tt.honeyDue.models.honeyDueShareCodec
+import com.tt.honeyDue.models.Residence
+import com.tt.honeyDue.network.APILayer
+import com.tt.honeyDue.network.ApiResult
import kotlinx.coroutines.launch
import kotlinx.cinterop.ExperimentalForeignApi
import kotlinx.cinterop.addressOf
@@ -31,7 +31,7 @@ actual fun rememberShareResidence(): Pair
when (val result = APILayer.generateSharePackage(residence.id)) {
is ApiResult.Success -> {
- val jsonContent = CaseraShareCodec.encodeSharedResidence(result.data)
+ val jsonContent = honeyDueShareCodec.encodeSharedResidence(result.data)
val fileUrl = writeShareFile(jsonContent, residence.name)
if (fileUrl == null) {
state = ResidenceSharingState(isLoading = false, error = "Failed to create share package")
@@ -59,7 +59,7 @@ actual fun rememberShareResidence(): Pair
@OptIn(ExperimentalForeignApi::class)
private fun writeShareFile(jsonContent: String, displayName: String): NSURL? {
- val fileName = CaseraShareCodec.safeShareFileName(displayName)
+ val fileName = honeyDueShareCodec.safeShareFileName(displayName)
val filePath = NSTemporaryDirectory().plus(fileName)
val bytes = jsonContent.encodeToByteArray()
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/storage/TaskCacheManager.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.ios.kt
similarity index 98%
rename from composeApp/src/iosMain/kotlin/com/example/casera/storage/TaskCacheManager.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.ios.kt
index 6adda17..07ed825 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/storage/TaskCacheManager.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
import platform.Foundation.NSUserDefaults
import kotlin.concurrent.Volatile
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/storage/TaskCacheStorage.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.ios.kt
similarity index 76%
rename from composeApp/src/iosMain/kotlin/com/example/casera/storage/TaskCacheStorage.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.ios.kt
index 38e279c..a151108 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/storage/TaskCacheStorage.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
internal actual fun getPlatformTaskCacheManager(): TaskCacheManager? {
return TaskCacheManager.getInstance()
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/storage/ThemeStorageManager.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/ThemeStorageManager.ios.kt
similarity index 95%
rename from composeApp/src/iosMain/kotlin/com/example/casera/storage/ThemeStorageManager.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/ThemeStorageManager.ios.kt
index 1e829ba..8c72025 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/storage/ThemeStorageManager.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/ThemeStorageManager.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
import platform.Foundation.NSUserDefaults
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/storage/TokenManager.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TokenManager.ios.kt
similarity index 98%
rename from composeApp/src/iosMain/kotlin/com/example/casera/storage/TokenManager.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TokenManager.ios.kt
index 6f271dc..f0711e7 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/storage/TokenManager.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TokenManager.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
import kotlin.concurrent.Volatile
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/storage/TokenStorage.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TokenStorage.ios.kt
similarity index 74%
rename from composeApp/src/iosMain/kotlin/com/example/casera/storage/TokenStorage.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TokenStorage.ios.kt
index a367534..0e4a5a9 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/storage/TokenStorage.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/storage/TokenStorage.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
internal actual fun getPlatformTokenManager(): TokenManager? {
return TokenManager.getInstance()
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.ios.kt
similarity index 89%
rename from composeApp/src/iosMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.ios.kt
index ba32013..931702a 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.ios.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.auth
+package com.tt.honeyDue.ui.components.auth
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/iosMain/kotlin/com/example/casera/util/ImageCompressor.ios.kt b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/util/ImageCompressor.ios.kt
similarity index 96%
rename from composeApp/src/iosMain/kotlin/com/example/casera/util/ImageCompressor.ios.kt
rename to composeApp/src/iosMain/kotlin/com/tt/honeyDue/util/ImageCompressor.ios.kt
index c9bf621..86c220e 100644
--- a/composeApp/src/iosMain/kotlin/com/example/casera/util/ImageCompressor.ios.kt
+++ b/composeApp/src/iosMain/kotlin/com/tt/honeyDue/util/ImageCompressor.ios.kt
@@ -1,6 +1,6 @@
-package com.example.casera.util
+package com.tt.honeyDue.util
-import com.example.casera.platform.ImageData
+import com.tt.honeyDue.platform.ImageData
import kotlinx.cinterop.*
import platform.Foundation.*
import platform.UIKit.*
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/Platform.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/Platform.js.kt
index 1b005d4..1cf4046 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/Platform.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/Platform.js.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
class JsPlatform: Platform {
override val name: String = "Web with Kotlin/JS"
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/analytics/PostHogAnalytics.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/analytics/PostHogAnalytics.js.kt
index 5ba1698..03e564a 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/analytics/PostHogAnalytics.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/analytics/PostHogAnalytics.js.kt
@@ -1,4 +1,4 @@
-package com.example.casera.analytics
+package com.tt.honeyDue.analytics
/**
* JS/Web implementation of PostHog Analytics.
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/network/ApiClient.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/network/ApiClient.js.kt
index 1e1504a..849b5e2 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/network/ApiClient.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/network/ApiClient.js.kt
@@ -1,4 +1,4 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
import io.ktor.client.*
import io.ktor.client.engine.js.*
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ContractorImportHandler.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ContractorImportHandler.js.kt
index e3c4ecb..24c27c1 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ContractorImportHandler.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ContractorImportHandler.js.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.models.Contractor
@Composable
actual fun ContractorImportHandler(
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ContractorSharing.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ContractorSharing.js.kt
index fa22445..29b201b 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ContractorSharing.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ContractorSharing.js.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.models.Contractor
@Composable
actual fun rememberShareContractor(): (Contractor) -> Unit {
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/platform/HapticFeedback.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/platform/HapticFeedback.js.kt
index 60e1b05..236fa3e 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/platform/HapticFeedback.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/platform/HapticFeedback.js.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ImageBitmap.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ImageBitmap.js.kt
index 4fb0d5b..d6b7c8e 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ImageBitmap.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ImageBitmap.js.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ImagePicker.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ImagePicker.js.kt
index 443f98e..01c873c 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ImagePicker.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ImagePicker.js.kt
@@ -1,4 +1,4 @@
-package com.casera.platform
+package com.honeydue.platform
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.js.kt
index d58c8b0..5d60ff0 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.js.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.ui.subscription.UpgradeScreen
+import com.tt.honeyDue.ui.subscription.UpgradeScreen
@Composable
actual fun PlatformUpgradeScreen(
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ResidenceImportHandler.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ResidenceImportHandler.js.kt
index d47f7eb..0bbe139 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ResidenceImportHandler.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ResidenceImportHandler.js.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.JoinResidenceResponse
+import com.tt.honeyDue.models.JoinResidenceResponse
/**
* JS implementation is a no-op - file imports are not supported on web.
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ResidenceSharing.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ResidenceSharing.js.kt
index bccc31f..f58d173 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/platform/ResidenceSharing.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/platform/ResidenceSharing.js.kt
@@ -1,8 +1,8 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
-import com.example.casera.models.Residence
+import com.tt.honeyDue.models.Residence
/**
* JS implementation is a no-op - sharing is not supported on web.
diff --git a/composeApp/src/jsMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.js.kt b/composeApp/src/jsMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.js.kt
index a46bf5e..d1f1910 100644
--- a/composeApp/src/jsMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.js.kt
+++ b/composeApp/src/jsMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.js.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.auth
+package com.tt.honeyDue.ui.components.auth
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/Platform.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/Platform.jvm.kt
similarity index 85%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/Platform.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/Platform.jvm.kt
index 464d3d9..6c62028 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/Platform.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/Platform.jvm.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
class JVMPlatform: Platform {
override val name: String = "Java ${System.getProperty("java.version")}"
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/analytics/PostHogAnalytics.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.jvm.kt
similarity index 94%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/analytics/PostHogAnalytics.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.jvm.kt
index 36b3144..dcc0924 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/analytics/PostHogAnalytics.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.jvm.kt
@@ -1,4 +1,4 @@
-package com.example.casera.analytics
+package com.tt.honeyDue.analytics
/**
* JVM/Desktop implementation of PostHog Analytics.
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/data/PersistenceManager.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/data/PersistenceManager.jvm.kt
similarity index 93%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/data/PersistenceManager.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/data/PersistenceManager.jvm.kt
index 37e2306..5caedeb 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/data/PersistenceManager.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/data/PersistenceManager.jvm.kt
@@ -1,4 +1,4 @@
-package com.example.casera.data
+package com.tt.honeyDue.data
import java.io.File
import java.util.Properties
@@ -12,7 +12,7 @@ actual class PersistenceManager {
init {
val userHome = System.getProperty("user.home")
- val appDir = File(userHome, ".casera")
+ val appDir = File(userHome, ".honeydue")
if (!appDir.exists()) {
appDir.mkdirs()
}
@@ -32,7 +32,7 @@ actual class PersistenceManager {
private fun saveProperties() {
try {
- storageFile.outputStream().use { properties.store(it, "Casera Data Manager") }
+ storageFile.outputStream().use { properties.store(it, "honeyDue Data Manager") }
} catch (e: Exception) {
// Ignore save errors
}
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/main.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/main.kt
similarity index 66%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/main.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/main.kt
index 69be761..04a87f0 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/main.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/main.kt
@@ -1,11 +1,11 @@
-package com.example.casera
+package com.tt.honeyDue
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application
-import com.casera.storage.TokenManager
-import com.casera.storage.TokenStorage
-import com.casera.storage.TaskCacheManager
-import com.casera.storage.TaskCacheStorage
+import com.honeydue.storage.TokenManager
+import com.honeydue.storage.TokenStorage
+import com.honeydue.storage.TaskCacheManager
+import com.honeydue.storage.TaskCacheStorage
fun main() = application {
// Initialize TokenStorage with JVM TokenManager
@@ -16,7 +16,7 @@ fun main() = application {
Window(
onCloseRequest = ::exitApplication,
- title = "MyCrib",
+ title = "honeyDue",
) {
App()
}
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/network/ApiClient.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/network/ApiClient.jvm.kt
similarity index 96%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/network/ApiClient.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/network/ApiClient.jvm.kt
index eb5513c..a5b4680 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/network/ApiClient.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/network/ApiClient.jvm.kt
@@ -1,4 +1,4 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
import io.ktor.client.*
import io.ktor.client.engine.cio.*
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ContractorImportHandler.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.jvm.kt
similarity index 76%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/platform/ContractorImportHandler.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.jvm.kt
index ad0b70b..360b57f 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ContractorImportHandler.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.jvm.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.models.Contractor
@Composable
actual fun ContractorImportHandler(
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ContractorSharing.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.jvm.kt
similarity index 71%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/platform/ContractorSharing.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.jvm.kt
index cadb7aa..b7277e1 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ContractorSharing.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.jvm.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.models.Contractor
@Composable
actual fun rememberShareContractor(): (Contractor) -> Unit {
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/HapticFeedback.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.jvm.kt
similarity index 93%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/platform/HapticFeedback.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.jvm.kt
index 8a9c0b7..2f51d51 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/HapticFeedback.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.jvm.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ImageBitmap.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.jvm.kt
similarity index 93%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/platform/ImageBitmap.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.jvm.kt
index 4fb0d5b..d6b7c8e 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ImageBitmap.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.jvm.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ImagePicker.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ImagePicker.jvm.kt
similarity index 96%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/platform/ImagePicker.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ImagePicker.jvm.kt
index e8490ec..0df41e7 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ImagePicker.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ImagePicker.jvm.kt
@@ -1,4 +1,4 @@
-package com.casera.platform
+package com.honeydue.platform
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.jvm.kt
similarity index 77%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.jvm.kt
index d58c8b0..5d60ff0 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.jvm.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.ui.subscription.UpgradeScreen
+import com.tt.honeyDue.ui.subscription.UpgradeScreen
@Composable
actual fun PlatformUpgradeScreen(
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ResidenceImportHandler.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.jvm.kt
similarity index 80%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/platform/ResidenceImportHandler.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.jvm.kt
index a19e38c..81b9c5e 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ResidenceImportHandler.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.jvm.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.JoinResidenceResponse
+import com.tt.honeyDue.models.JoinResidenceResponse
/**
* JVM implementation is a no-op - file imports are not supported on desktop.
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ResidenceSharing.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.jvm.kt
similarity index 83%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/platform/ResidenceSharing.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.jvm.kt
index 3929f03..e53af43 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/platform/ResidenceSharing.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.jvm.kt
@@ -1,8 +1,8 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
-import com.example.casera.models.Residence
+import com.tt.honeyDue.models.Residence
/**
* JVM implementation is a no-op - sharing is not supported on desktop.
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/storage/TaskCacheManager.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.jvm.kt
similarity index 94%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/storage/TaskCacheManager.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.jvm.kt
index e16e5f2..11f0c3c 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/storage/TaskCacheManager.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.jvm.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
import java.util.prefs.Preferences
@@ -47,7 +47,7 @@ actual class TaskCacheManager {
}
companion object {
- private const val NODE_NAME = "com.casera.cache"
+ private const val NODE_NAME = "com.honeydue.cache"
private const val KEY_TASKS = "cached_tasks"
private const val KEY_DIRTY_FLAG = "tasks_dirty"
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/storage/TaskCacheStorage.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.jvm.kt
similarity index 80%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/storage/TaskCacheStorage.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.jvm.kt
index a0e25e3..8871e9a 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/storage/TaskCacheStorage.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.jvm.kt
@@ -1,4 +1,4 @@
-package com.casera.storage
+package com.honeydue.storage
internal actual fun getPlatformTaskCacheManager(): TaskCacheManager? {
return TaskCacheManager.getInstance()
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/storage/TokenManager.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TokenManager.jvm.kt
similarity index 89%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/storage/TokenManager.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TokenManager.jvm.kt
index 0cda073..d0b2499 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/storage/TokenManager.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TokenManager.jvm.kt
@@ -1,4 +1,4 @@
-package com.casera.storage
+package com.honeydue.storage
import java.util.prefs.Preferences
@@ -23,7 +23,7 @@ actual class TokenManager {
}
companion object {
- private const val PREFS_NODE = "com.casera.app"
+ private const val PREFS_NODE = "com.honeyDue.treytartt.com"
private const val KEY_TOKEN = "auth_token"
@Volatile
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/storage/TokenStorage.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TokenStorage.jvm.kt
similarity index 78%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/storage/TokenStorage.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TokenStorage.jvm.kt
index de90984..100d2b2 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/storage/TokenStorage.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/storage/TokenStorage.jvm.kt
@@ -1,4 +1,4 @@
-package com.casera.storage
+package com.honeydue.storage
internal actual fun getPlatformTokenManager(): TokenManager? {
return TokenManager.getInstance()
diff --git a/composeApp/src/jvmMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.jvm.kt b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.jvm.kt
similarity index 88%
rename from composeApp/src/jvmMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.jvm.kt
rename to composeApp/src/jvmMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.jvm.kt
index 33e1f7c..58ea470 100644
--- a/composeApp/src/jvmMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.jvm.kt
+++ b/composeApp/src/jvmMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.jvm.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.auth
+package com.tt.honeyDue.ui.components.auth
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/Platform.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/Platform.wasmJs.kt
similarity index 83%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/Platform.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/Platform.wasmJs.kt
index b726219..1c4b828 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/Platform.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/Platform.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
class WasmPlatform: Platform {
override val name: String = "Web with Kotlin/Wasm"
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/analytics/PostHogAnalytics.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.wasmJs.kt
similarity index 94%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/analytics/PostHogAnalytics.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.wasmJs.kt
index c82de82..ffac5fc 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/analytics/PostHogAnalytics.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/analytics/PostHogAnalytics.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.example.casera.analytics
+package com.tt.honeyDue.analytics
/**
* WasmJS/Web implementation of PostHog Analytics.
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/data/PersistenceManager.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/data/PersistenceManager.wasmJs.kt
similarity index 96%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/data/PersistenceManager.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/data/PersistenceManager.wasmJs.kt
index b92b606..d78e36d 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/data/PersistenceManager.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/data/PersistenceManager.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.example.casera.data
+package com.tt.honeyDue.data
import kotlinx.browser.localStorage
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/network/ApiClient.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/network/ApiClient.wasmJs.kt
similarity index 97%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/network/ApiClient.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/network/ApiClient.wasmJs.kt
index 1e1504a..849b5e2 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/network/ApiClient.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/network/ApiClient.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.example.casera.network
+package com.tt.honeyDue.network
import io.ktor.client.*
import io.ktor.client.engine.js.*
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ContractorImportHandler.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.wasmJs.kt
similarity index 76%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ContractorImportHandler.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.wasmJs.kt
index 55275a3..3238d07 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ContractorImportHandler.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ContractorImportHandler.wasmJs.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.models.Contractor
@Composable
actual fun ContractorImportHandler(
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ContractorSharing.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.wasmJs.kt
similarity index 71%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ContractorSharing.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.wasmJs.kt
index ee4f9ac..cdc6dd5 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ContractorSharing.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ContractorSharing.wasmJs.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.Contractor
+import com.tt.honeyDue.models.Contractor
@Composable
actual fun rememberShareContractor(): (Contractor) -> Unit {
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/HapticFeedback.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.wasmJs.kt
similarity index 92%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/HapticFeedback.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.wasmJs.kt
index 1584220..ac59645 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/HapticFeedback.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/HapticFeedback.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ImageBitmap.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.wasmJs.kt
similarity index 93%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ImageBitmap.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.wasmJs.kt
index 4fb0d5b..d6b7c8e 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ImageBitmap.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ImageBitmap.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ImagePicker.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ImagePicker.wasmJs.kt
similarity index 95%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ImagePicker.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ImagePicker.wasmJs.kt
index 5cfdfb6..68a0aab 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ImagePicker.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ImagePicker.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.casera.platform
+package com.honeydue.platform
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.wasmJs.kt
similarity index 77%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.wasmJs.kt
index d58c8b0..5d60ff0 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/PlatformUpgradeScreen.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/PlatformUpgradeScreen.wasmJs.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.ui.subscription.UpgradeScreen
+import com.tt.honeyDue.ui.subscription.UpgradeScreen
@Composable
actual fun PlatformUpgradeScreen(
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ResidenceImportHandler.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.wasmJs.kt
similarity index 80%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ResidenceImportHandler.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.wasmJs.kt
index caa01f3..b8140f0 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ResidenceImportHandler.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ResidenceImportHandler.wasmJs.kt
@@ -1,7 +1,7 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
-import com.example.casera.models.JoinResidenceResponse
+import com.tt.honeyDue.models.JoinResidenceResponse
/**
* WasmJS implementation is a no-op - file imports are not supported on web.
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ResidenceSharing.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.wasmJs.kt
similarity index 83%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ResidenceSharing.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.wasmJs.kt
index 5e63335..366d8b8 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/platform/ResidenceSharing.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/platform/ResidenceSharing.wasmJs.kt
@@ -1,8 +1,8 @@
-package com.example.casera.platform
+package com.tt.honeyDue.platform
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
-import com.example.casera.models.Residence
+import com.tt.honeyDue.models.Residence
/**
* WasmJS implementation is a no-op - sharing is not supported on web.
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TaskCacheManager.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.wasmJs.kt
similarity index 97%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TaskCacheManager.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.wasmJs.kt
index d552064..866c9d8 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TaskCacheManager.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TaskCacheManager.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.example.casera.storage
+package com.tt.honeyDue.storage
import kotlinx.browser.localStorage
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TaskCacheStorage.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.wasmJs.kt
similarity index 80%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TaskCacheStorage.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.wasmJs.kt
index a0e25e3..8871e9a 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TaskCacheStorage.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TaskCacheStorage.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.casera.storage
+package com.honeydue.storage
internal actual fun getPlatformTaskCacheManager(): TaskCacheManager? {
return TaskCacheManager.getInstance()
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TokenManager.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TokenManager.wasmJs.kt
similarity index 96%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TokenManager.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TokenManager.wasmJs.kt
index 69fd6b6..6cb5f46 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TokenManager.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TokenManager.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.casera.storage
+package com.honeydue.storage
import kotlinx.browser.localStorage
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TokenStorage.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TokenStorage.wasmJs.kt
similarity index 78%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TokenStorage.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TokenStorage.wasmJs.kt
index de90984..100d2b2 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/storage/TokenStorage.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/storage/TokenStorage.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.casera.storage
+package com.honeydue.storage
internal actual fun getPlatformTokenManager(): TokenManager? {
return TokenManager.getInstance()
diff --git a/composeApp/src/wasmJsMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.wasmJs.kt b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.wasmJs.kt
similarity index 87%
rename from composeApp/src/wasmJsMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.wasmJs.kt
rename to composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.wasmJs.kt
index 9856a5a..08ce16a 100644
--- a/composeApp/src/wasmJsMain/kotlin/com/example/casera/ui/components/auth/GoogleSignInButton.wasmJs.kt
+++ b/composeApp/src/wasmJsMain/kotlin/com/tt/honeyDue/ui/components/auth/GoogleSignInButton.wasmJs.kt
@@ -1,4 +1,4 @@
-package com.example.casera.ui.components.auth
+package com.tt.honeyDue.ui.components.auth
import androidx.compose.runtime.Composable
diff --git a/composeApp/src/webMain/kotlin/com/example/casera/main.kt b/composeApp/src/webMain/kotlin/com/example/casera/main.kt
index 4c628f0..d53ac91 100644
--- a/composeApp/src/webMain/kotlin/com/example/casera/main.kt
+++ b/composeApp/src/webMain/kotlin/com/example/casera/main.kt
@@ -1,4 +1,4 @@
-package com.example.casera
+package com.tt.honeyDue
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.window.ComposeViewport
diff --git a/docs/ANDROID_SUBSCRIPTION_PLAN.md b/docs/ANDROID_SUBSCRIPTION_PLAN.md
index 30a9eb2..0a699c3 100644
--- a/docs/ANDROID_SUBSCRIPTION_PLAN.md
+++ b/docs/ANDROID_SUBSCRIPTION_PLAN.md
@@ -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
diff --git a/docs/ONBOARDING_STATISTICS_SOURCES.md b/docs/ONBOARDING_STATISTICS_SOURCES.md
index 45ea79f..c5bfe39 100644
--- a/docs/ONBOARDING_STATISTICS_SOURCES.md
+++ b/docs/ONBOARDING_STATISTICS_SOURCES.md
@@ -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
diff --git a/docs/TODO_AUDIT.md b/docs/TODO_AUDIT.md
index 73b36a5..3bfe54f 100644
--- a/docs/TODO_AUDIT.md
+++ b/docs/TODO_AUDIT.md
@@ -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
diff --git a/hardening-report.md b/hardening-report.md
index b509eef..5401850 100644
--- a/hardening-report.md
+++ b/hardening-report.md
@@ -42,7 +42,7 @@
**iOSApp.swift:294** | Deep link reset-password token extracted but never delivered to any view
- What: `handleDeepLink` stores parsed reset token in `@State private var deepLinkResetToken`, but `RootView()` is constructed with no arguments. `LoginView` accepts `resetToken: Binding` but the binding is never wired.
-- Impact: `casera://reset-password?token=xxx` deep links are silently discarded. Password reset emails don't work.
+- Impact: `honeydue://reset-password?token=xxx` deep links are silently discarded. Password reset emails don't work.
- Source: Navigation Auditor
**Info.plist** | Missing Privacy Manifest (`PrivacyInfo.xcprivacy`)
@@ -227,7 +227,7 @@
- Source: Navigation Auditor
**ApiConfig.kt:25** | DEV environment URL doesn't match CLAUDE.md documentation
-- What: Code uses `https://casera.treytartt.com/api`. CLAUDE.md documents `https://mycrib.treytartt.com/api`.
+- What: Code uses `https://honeyDue.treytartt.com/api`. CLAUDE.md documents `https://honeyDue.treytartt.com/api`.
- Impact: Documentation misleads developers.
- Source: Deep Audit (cross-cutting)
@@ -495,7 +495,7 @@
- Source: Testing Auditor
**Unit Tests** | Minimal test coverage — only 2 unit test suites
-- What: Only `CaseraTests.swift` (template) and `TaskMetricsTests.swift`. No ViewModel tests, no form validation tests, no integration tests.
+- What: Only `honeyDueTests.swift` (template) and `TaskMetricsTests.swift`. No ViewModel tests, no form validation tests, no integration tests.
- Impact: No regression safety net for business logic.
- Source: Testing Auditor
diff --git a/iosApp/ACCESSIBILITY_IDENTIFIERS_FIX.md b/iosApp/ACCESSIBILITY_IDENTIFIERS_FIX.md
index 60d5a2e..68f8121 100644
--- a/iosApp/ACCESSIBILITY_IDENTIFIERS_FIX.md
+++ b/iosApp/ACCESSIBILITY_IDENTIFIERS_FIX.md
@@ -81,7 +81,7 @@ static let cancelButton = "Alert.CancelButton"
1. **`iosApp/Helpers/AccessibilityIdentifiers.swift`**
- Renamed 6 cancel button identifiers to be context-specific
-2. **`iosApp/MyCribTests/ComprehensiveResidenceTests.swift`**
+2. **`iosApp/HoneyDueTests/ComprehensiveResidenceTests.swift`**
- Updated reference from `Residence.cancelButton` → `Residence.formCancelButton`
## Usage Examples
@@ -139,7 +139,7 @@ Button("Cancel Task") { }
The file should now compile without errors. To verify:
```bash
-cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp
+cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp
xcodebuild -project iosApp.xcodeproj -scheme iosApp -destination 'generic/platform=iOS Simulator' clean build
```
diff --git a/iosApp/CaseraExtension.entitlements b/iosApp/CaseraExtension.entitlements
index 83ac4e5..030d7c0 100644
--- a/iosApp/CaseraExtension.entitlements
+++ b/iosApp/CaseraExtension.entitlements
@@ -4,7 +4,7 @@
com.apple.security.application-groups
- group.com.tt.casera.CaseraDev
+ group.com.tt.honeyDue.HoneyDueDev
diff --git a/iosApp/CaseraUITests.xctestplan b/iosApp/CaseraUITests.xctestplan
index 6c04dfb..00bead4 100644
--- a/iosApp/CaseraUITests.xctestplan
+++ b/iosApp/CaseraUITests.xctestplan
@@ -14,11 +14,11 @@
"testTargets" : [
{
"skippedTests" : [
- "CaseraUITests",
- "CaseraUITests\/testExample()",
- "CaseraUITests\/testLaunchPerformance()",
- "CaseraUITestsLaunchTests",
- "CaseraUITestsLaunchTests\/testLaunch()",
+ "HoneyDueUITests",
+ "HoneyDueUITests\/testExample()",
+ "HoneyDueUITests\/testLaunchPerformance()",
+ "HoneyDueUITestsLaunchTests",
+ "HoneyDueUITestsLaunchTests\/testLaunch()",
"SimpleLoginTest",
"SimpleLoginTest\/testAppLaunchesAndShowsLoginScreen()",
"SimpleLoginTest\/testCanTypeInLoginFields()"
@@ -26,7 +26,7 @@
"target" : {
"containerPath" : "container:iosApp.xcodeproj",
"identifier" : "1CBF1BEC2ECD9768001BF56C",
- "name" : "CaseraUITests"
+ "name" : "HoneyDueUITests"
}
}
],
diff --git a/iosApp/Configuration/Config.xcconfig b/iosApp/Configuration/Config.xcconfig
index 402aa7f..a184aec 100644
--- a/iosApp/Configuration/Config.xcconfig
+++ b/iosApp/Configuration/Config.xcconfig
@@ -1,7 +1,7 @@
TEAM_ID=
-PRODUCT_NAME=MyCrib
-PRODUCT_BUNDLE_IDENTIFIER=com.example.mycrib.MyCrib$(TEAM_ID)
+PRODUCT_NAME=honeyDue
+PRODUCT_BUNDLE_IDENTIFIER=com.tt.honeyDue.HoneyDue$(TEAM_ID)
CURRENT_PROJECT_VERSION=1
MARKETING_VERSION=1.0
\ No newline at end of file
diff --git a/iosApp/DESIGN_SYSTEM.md b/iosApp/DESIGN_SYSTEM.md
index ae092a4..6ff4555 100644
--- a/iosApp/DESIGN_SYSTEM.md
+++ b/iosApp/DESIGN_SYSTEM.md
@@ -1,7 +1,7 @@
-# MyCrib iOS Design System
+# HoneyDue iOS Design System
## Overview
-This document outlines the modern, sleek design system implemented for the MyCrib iOS app.
+This document outlines the modern, sleek design system implemented for the HoneyDue iOS app.
## Design Philosophy
- **Modern & Clean**: Minimalist approach with ample white space
diff --git a/iosApp/FIX_TEST_TARGET.md b/iosApp/FIX_TEST_TARGET.md
index 7317177..c2c1ed5 100644
--- a/iosApp/FIX_TEST_TARGET.md
+++ b/iosApp/FIX_TEST_TARGET.md
@@ -8,21 +8,21 @@ When compiling tests, you're seeing:
No such module 'iosApp'
```
-This means the test target (`MyCribTests`) is not properly configured to access the main app target (`iosApp`).
+This means the test target (`HoneyDueTests`) is not properly configured to access the main app target (`iosApp`).
## Solution: Configure Test Target in Xcode
### Step 1: Open Xcode Project
```bash
-cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp
+cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp
open iosApp.xcodeproj
```
### Step 2: Add Target Dependency
1. **Select the project** in the Project Navigator (top item, blue icon)
-2. **Select `MyCribTests` target** in the targets list (middle column)
+2. **Select `HoneyDueTests` target** in the targets list (middle column)
3. **Go to "Build Phases" tab** (top of editor)
4. **Expand "Dependencies" section**
5. **Click the "+" button** under Dependencies
@@ -31,7 +31,7 @@ open iosApp.xcodeproj
### Step 3: Configure Test Host
-1. Still in **`MyCribTests` target** → **Build Settings** tab
+1. Still in **`HoneyDueTests` target** → **Build Settings** tab
2. **Search for "Test Host"**
3. Set **Test Host** to:
```
@@ -57,7 +57,7 @@ open iosApp.xcodeproj
2. Go to **Build Settings** tab
3. **Search for "Product Module Name"**
4. Verify it says **`iosApp`**
- - If it's different (e.g., "MyCrib"), you need to update your imports
+ - If it's different (e.g., "HoneyDue"), you need to update your imports
### Step 6: Clean and Build
@@ -84,12 +84,12 @@ If you prefer command-line configuration, you can use `xcodebuild` with PlistBud
### What It Should Look Like:
-**MyCribTests Target → Build Phases → Dependencies:**
+**HoneyDueTests Target → Build Phases → Dependencies:**
```
✅ iosApp (target)
```
-**MyCribTests Target → Build Settings:**
+**HoneyDueTests Target → Build Settings:**
```
Test Host: $(BUILT_PRODUCTS_DIR)/iosApp.app/iosApp
Bundle Loader: $(TEST_HOST)
@@ -140,7 +140,7 @@ Product Module Name: iosApp
After making changes, verify:
-- [ ] `MyCribTests` target has `iosApp` in Dependencies
+- [ ] `HoneyDueTests` target has `iosApp` in Dependencies
- [ ] Test Host is set to `$(BUILT_PRODUCTS_DIR)/iosApp.app/iosApp`
- [ ] Bundle Loader is set to `$(TEST_HOST)`
- [ ] `iosApp` target has "Enable Testability" = YES (Debug)
diff --git a/iosApp/FIX_TEST_TARGET_MANUAL.md b/iosApp/FIX_TEST_TARGET_MANUAL.md
index 66dbe78..ab42264 100644
--- a/iosApp/FIX_TEST_TARGET_MANUAL.md
+++ b/iosApp/FIX_TEST_TARGET_MANUAL.md
@@ -1,11 +1,11 @@
-# Fix MyCribTests Target Configuration
+# Fix HoneyDueTests Target Configuration
## The Problem
The tests are failing with "No target application path specified" because the test target's `TEST_HOST` setting is hardcoded to a wrong path:
```
-TEST_HOST = /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/build/Release-iphoneos/MyCrib.app//MyCrib
+TEST_HOST = /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/build/Release-iphoneos/HoneyDue.app//HoneyDue
```
This path doesn't exist when running tests in Debug mode on the simulator.
@@ -14,13 +14,13 @@ This path doesn't exist when running tests in Debug mode on the simulator.
1. **Open the project in Xcode:**
```bash
- cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp
+ cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp
open iosApp.xcodeproj
```
-2. **Select the MyCribTests target:**
+2. **Select the HoneyDueTests target:**
- Click on the project in the Project Navigator (blue icon at top)
- - Select **MyCribTests** from the TARGETS list
+ - Select **HoneyDueTests** from the TARGETS list
3. **Go to Build Settings:**
- Click the **Build Settings** tab
@@ -34,11 +34,11 @@ This path doesn't exist when running tests in Debug mode on the simulator.
- Double-click the value field
- Change from:
```
- /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/build/Release-iphoneos/MyCrib.app//MyCrib
+ /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/build/Release-iphoneos/HoneyDue.app//HoneyDue
```
- To:
```
- $(BUILT_PRODUCTS_DIR)/MyCrib.app/MyCrib
+ $(BUILT_PRODUCTS_DIR)/HoneyDue.app/HoneyDue
```
- Press Enter
@@ -63,12 +63,12 @@ This path doesn't exist when running tests in Debug mode on the simulator.
After making these changes, run:
```bash
-xcodebuild -project iosApp.xcodeproj -target MyCribTests -showBuildSettings | grep TEST_HOST
+xcodebuild -project iosApp.xcodeproj -target HoneyDueTests -showBuildSettings | grep TEST_HOST
```
Should output:
```
-TEST_HOST = $(BUILT_PRODUCTS_DIR)/MyCrib.app/MyCrib
+TEST_HOST = $(BUILT_PRODUCTS_DIR)/HoneyDue.app/HoneyDue
```
NOT a hardcoded absolute path.
diff --git a/iosApp/Casera/AppIntent.swift b/iosApp/HoneyDue/AppIntent.swift
similarity index 94%
rename from iosApp/Casera/AppIntent.swift
rename to iosApp/HoneyDue/AppIntent.swift
index 539f347..dece293 100644
--- a/iosApp/Casera/AppIntent.swift
+++ b/iosApp/HoneyDue/AppIntent.swift
@@ -1,6 +1,6 @@
//
// AppIntent.swift
-// Casera
+// honeyDue
//
// Created by Trey Tartt on 11/5/25.
//
@@ -11,8 +11,8 @@ import Foundation
// MARK: - Widget Configuration Intent
struct ConfigurationAppIntent: WidgetConfigurationIntent {
- static var title: LocalizedStringResource { "Casera Configuration" }
- static var description: IntentDescription { "Configure your Casera widget" }
+ static var title: LocalizedStringResource { "honeyDue Configuration" }
+ static var description: IntentDescription { "Configure your honeyDue widget" }
}
// MARK: - Complete Task Intent
@@ -43,13 +43,13 @@ struct CompleteTaskIntent: AppIntent {
// Check auth BEFORE marking pending — if auth fails the task should remain visible
guard let token = WidgetActionManager.shared.getAuthToken() else {
print("CompleteTaskIntent: No auth token available")
- WidgetCenter.shared.reloadTimelines(ofKind: "Casera")
+ WidgetCenter.shared.reloadTimelines(ofKind: "honeyDue")
return .result()
}
guard let baseURL = WidgetActionManager.shared.getAPIBaseURL() else {
print("CompleteTaskIntent: No API base URL available")
- WidgetCenter.shared.reloadTimelines(ofKind: "Casera")
+ WidgetCenter.shared.reloadTimelines(ofKind: "honeyDue")
return .result()
}
@@ -57,7 +57,7 @@ struct CompleteTaskIntent: AppIntent {
WidgetActionManager.shared.markTaskPendingCompletion(taskId: taskId)
// Reload widget immediately to update task list and stats
- WidgetCenter.shared.reloadTimelines(ofKind: "Casera")
+ WidgetCenter.shared.reloadTimelines(ofKind: "honeyDue")
// Make API call to complete the task
let success = await WidgetAPIClient.quickCompleteTask(
@@ -76,7 +76,7 @@ struct CompleteTaskIntent: AppIntent {
}
// Reload widget
- WidgetCenter.shared.reloadTimelines(ofKind: "Casera")
+ WidgetCenter.shared.reloadTimelines(ofKind: "honeyDue")
return .result()
}
@@ -147,7 +147,7 @@ struct OpenTaskIntent: AppIntent {
final class WidgetActionManager {
static let shared = WidgetActionManager()
- private let appGroupIdentifier = "group.com.tt.casera.CaseraDev"
+ private let appGroupIdentifier = "group.com.tt.honeyDue.HoneyDueDev"
private let pendingTasksFileName = "widget_pending_tasks.json"
private let tokenKey = "widget_auth_token"
private let dirtyFlagKey = "widget_tasks_dirty"
@@ -282,7 +282,7 @@ final class WidgetActionManager {
savePendingTaskStates(pendingTasks)
// Also reload widget
- WidgetCenter.shared.reloadTimelines(ofKind: "Casera")
+ WidgetCenter.shared.reloadTimelines(ofKind: "honeyDue")
}
/// Clear all pending states
diff --git a/iosApp/Casera/Assets.xcassets/AccentColor.colorset/Contents.json b/iosApp/HoneyDue/Assets.xcassets/AccentColor.colorset/Contents.json
similarity index 100%
rename from iosApp/Casera/Assets.xcassets/AccentColor.colorset/Contents.json
rename to iosApp/HoneyDue/Assets.xcassets/AccentColor.colorset/Contents.json
diff --git a/iosApp/Casera/Assets.xcassets/AppIcon.appiconset/Contents.json b/iosApp/HoneyDue/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from iosApp/Casera/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to iosApp/HoneyDue/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/iosApp/HoneyDue/Assets.xcassets/AppIcon.appiconset/icon.png b/iosApp/HoneyDue/Assets.xcassets/AppIcon.appiconset/icon.png
new file mode 100644
index 0000000..02d229d
Binary files /dev/null and b/iosApp/HoneyDue/Assets.xcassets/AppIcon.appiconset/icon.png differ
diff --git a/iosApp/Casera/Assets.xcassets/Contents.json b/iosApp/HoneyDue/Assets.xcassets/Contents.json
similarity index 100%
rename from iosApp/Casera/Assets.xcassets/Contents.json
rename to iosApp/HoneyDue/Assets.xcassets/Contents.json
diff --git a/iosApp/Casera/Assets.xcassets/WidgetBackground.colorset/Contents.json b/iosApp/HoneyDue/Assets.xcassets/WidgetBackground.colorset/Contents.json
similarity index 100%
rename from iosApp/Casera/Assets.xcassets/WidgetBackground.colorset/Contents.json
rename to iosApp/HoneyDue/Assets.xcassets/WidgetBackground.colorset/Contents.json
diff --git a/iosApp/Casera/MyCrib.swift b/iosApp/HoneyDue/HoneyDue.swift
similarity index 99%
rename from iosApp/Casera/MyCrib.swift
rename to iosApp/HoneyDue/HoneyDue.swift
index b43a297..0978e2c 100644
--- a/iosApp/Casera/MyCrib.swift
+++ b/iosApp/HoneyDue/HoneyDue.swift
@@ -1,6 +1,6 @@
//
-// Casera.swift
-// Casera
+// honeyDue.swift
+// honeyDue
//
// Created by Trey Tartt on 11/5/25.
//
@@ -110,7 +110,7 @@ class CacheManager {
}
}
- private static let appGroupIdentifier = "group.com.tt.casera.CaseraDev"
+ private static let appGroupIdentifier = "group.com.tt.honeyDue.HoneyDueDev"
private static let tasksFileName = "widget_tasks.json"
/// Get the shared App Group container URL
@@ -242,7 +242,7 @@ struct SimpleEntry: TimelineEntry {
}
}
-struct CaseraEntryView : View {
+struct HoneyDueEntryView : View {
var entry: Provider.Entry
@Environment(\.widgetFamily) var family
@@ -754,12 +754,12 @@ struct OrganicStatPillWidget: View {
}
}
-struct Casera: Widget {
- let kind: String = "Casera"
+struct honeyDue: Widget {
+ let kind: String = "honeyDue"
var body: some WidgetConfiguration {
AppIntentConfiguration(kind: kind, intent: ConfigurationAppIntent.self, provider: Provider()) { entry in
- CaseraEntryView(entry: entry)
+ HoneyDueEntryView(entry: entry)
.containerBackground(for: .widget) {
// Organic warm gradient background
ZStack {
@@ -777,7 +777,7 @@ struct Casera: Widget {
}
}
}
- .configurationDisplayName("Casera Tasks")
+ .configurationDisplayName("honeyDue Tasks")
.description("View and complete your upcoming tasks.")
.supportedFamilies([.systemSmall, .systemMedium, .systemLarge])
}
@@ -785,7 +785,7 @@ struct Casera: Widget {
// MARK: - Previews
#Preview(as: .systemSmall) {
- Casera()
+ honeyDue()
} timeline: {
SimpleEntry(
date: .now,
@@ -878,7 +878,7 @@ struct Casera: Widget {
}
#Preview(as: .systemMedium) {
- Casera()
+ honeyDue()
} timeline: {
SimpleEntry(
date: .now,
@@ -1010,7 +1010,7 @@ struct Casera: Widget {
}
#Preview(as: .systemLarge) {
- Casera()
+ honeyDue()
} timeline: {
SimpleEntry(
date: .now,
diff --git a/iosApp/Casera/CaseraBundle.swift b/iosApp/HoneyDue/HoneyDueBundle.swift
similarity index 56%
rename from iosApp/Casera/CaseraBundle.swift
rename to iosApp/HoneyDue/HoneyDueBundle.swift
index cfaee0a..f469547 100644
--- a/iosApp/Casera/CaseraBundle.swift
+++ b/iosApp/HoneyDue/HoneyDueBundle.swift
@@ -1,6 +1,6 @@
//
-// CaseraBundle.swift
-// Casera
+// HoneyDueBundle.swift
+// honeyDue
//
// Created by Trey Tartt on 11/5/25.
//
@@ -9,8 +9,8 @@ import WidgetKit
import SwiftUI
@main
-struct CaseraBundle: WidgetBundle {
+struct HoneyDueBundle: WidgetBundle {
var body: some Widget {
- Casera()
+ honeyDue()
}
}
diff --git a/iosApp/Casera/CaseraIconView.swift b/iosApp/HoneyDue/HoneyDueIconView.swift
similarity index 97%
rename from iosApp/Casera/CaseraIconView.swift
rename to iosApp/HoneyDue/HoneyDueIconView.swift
index 5700b35..09caba1 100644
--- a/iosApp/Casera/CaseraIconView.swift
+++ b/iosApp/HoneyDue/HoneyDueIconView.swift
@@ -2,7 +2,7 @@ import SwiftUI
// MARK: - Centered Icon View
-struct CaseraIconView: View {
+struct HoneyDueIconView: View {
var houseProgress: CGFloat = 1.0
var windowScale: CGFloat = 1.0
var checkmarkScale: CGFloat = 1.0
@@ -160,7 +160,7 @@ struct FullIntroAnimationView: View {
@State private var checkScale: CGFloat = 0
var body: some View {
- CaseraIconView(
+ HoneyDueIconView(
houseProgress: houseProgress,
windowScale: windowScale,
checkmarkScale: checkScale
@@ -188,7 +188,7 @@ struct PulsatingCheckmarkView: View {
@State private var checkScale: CGFloat = 1.0
var body: some View {
- CaseraIconView(checkmarkScale: checkScale)
+ HoneyDueIconView(checkmarkScale: checkScale)
.onAppear {
withAnimation(.easeInOut(duration: 0.5).repeatForever(autoreverses: true)) {
checkScale = 1.3
@@ -202,7 +202,7 @@ struct PulsingIconView: View {
var backgroundColor: Color? = nil
var body: some View {
- CaseraIconView(backgroundColor: backgroundColor)
+ HoneyDueIconView(backgroundColor: backgroundColor)
.scaleEffect(scale)
.onAppear {
withAnimation(.easeInOut(duration: 0.8).repeatForever(autoreverses: true)) {
@@ -217,7 +217,7 @@ struct BouncyIconView: View {
@State private var scale: CGFloat = 0.5
var body: some View {
- CaseraIconView()
+ HoneyDueIconView()
.scaleEffect(scale)
.offset(y: offset)
.onAppear {
@@ -233,7 +233,7 @@ struct WigglingIconView: View {
@State private var angle: Double = 0
var body: some View {
- CaseraIconView()
+ HoneyDueIconView()
.rotationEffect(.degrees(angle))
.onAppear {
withAnimation(.easeInOut(duration: 0.1).repeatForever(autoreverses: true)) {
@@ -253,7 +253,7 @@ struct PlaygroundContentView: View {
var body: some View {
VStack(spacing: 20) {
- Text("MyCrib Icon Animations")
+ Text("HoneyDue Icon Animations")
.font(.title)
.fontWeight(.bold)
@@ -310,7 +310,7 @@ struct PlaygroundContentView: View {
case 2: PulsingIconView()
case 3: BouncyIconView()
case 4: WigglingIconView()
- default: CaseraIconView()
+ default: HoneyDueIconView()
}
}
}
diff --git a/iosApp/Casera/Info.plist b/iosApp/HoneyDue/Info.plist
similarity index 100%
rename from iosApp/Casera/Info.plist
rename to iosApp/HoneyDue/Info.plist
diff --git a/iosApp/CaseraQLPreview/Base.lproj/MainInterface.storyboard b/iosApp/HoneyDueQLPreview/Base.lproj/MainInterface.storyboard
similarity index 100%
rename from iosApp/CaseraQLPreview/Base.lproj/MainInterface.storyboard
rename to iosApp/HoneyDueQLPreview/Base.lproj/MainInterface.storyboard
diff --git a/iosApp/CaseraQLPreview/Info.plist b/iosApp/HoneyDueQLPreview/Info.plist
similarity index 92%
rename from iosApp/CaseraQLPreview/Info.plist
rename to iosApp/HoneyDueQLPreview/Info.plist
index 033eb91..7be49da 100644
--- a/iosApp/CaseraQLPreview/Info.plist
+++ b/iosApp/HoneyDueQLPreview/Info.plist
@@ -3,7 +3,7 @@
CFBundleDisplayName
- Casera Preview
+ honeyDue Preview
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -24,7 +24,7 @@
QLSupportedContentTypes
- com.casera.contractor
+ com.honeydue.contractor
QLSupportsSearchableItems
diff --git a/iosApp/CaseraQLPreview/PreviewProvider.swift b/iosApp/HoneyDueQLPreview/PreviewProvider.swift
similarity index 98%
rename from iosApp/CaseraQLPreview/PreviewProvider.swift
rename to iosApp/HoneyDueQLPreview/PreviewProvider.swift
index 9daa5ff..540e8d7 100644
--- a/iosApp/CaseraQLPreview/PreviewProvider.swift
+++ b/iosApp/HoneyDueQLPreview/PreviewProvider.swift
@@ -1,6 +1,6 @@
//
// PreviewProvider.swift
-// CaseraQLPreview
+// honeyDueQLPreview
//
// Created by Trey Tartt on 12/6/25.
//
diff --git a/iosApp/CaseraQLPreview/PreviewViewController.swift b/iosApp/HoneyDueQLPreview/PreviewViewController.swift
similarity index 94%
rename from iosApp/CaseraQLPreview/PreviewViewController.swift
rename to iosApp/HoneyDueQLPreview/PreviewViewController.swift
index 58280c8..4bd5ebc 100644
--- a/iosApp/CaseraQLPreview/PreviewViewController.swift
+++ b/iosApp/HoneyDueQLPreview/PreviewViewController.swift
@@ -5,7 +5,7 @@ class PreviewViewController: UIViewController, QLPreviewingController {
// MARK: - Types
- /// Represents the type of .casera package
+ /// Represents the type of .honeydue package
private enum PackageType {
case contractor
case residence
@@ -45,7 +45,7 @@ class PreviewViewController: UIViewController, QLPreviewingController {
label.font = .systemFont(ofSize: 15, weight: .medium)
label.textColor = .secondaryLabel
label.textAlignment = .center
- label.text = "Casera Contractor File"
+ label.text = "honeyDue Contractor File"
return label
}()
@@ -80,7 +80,7 @@ class PreviewViewController: UIViewController, QLPreviewingController {
label.textColor = UIColor(red: 7/255, green: 160/255, blue: 195/255, alpha: 1)
label.textAlignment = .center
label.numberOfLines = 0
- label.text = "Tap the share button below, then select \"Casera\" to import this contractor."
+ label.text = "Tap the share button below, then select \"honeyDue\" to import this contractor."
return label
}()
@@ -104,7 +104,7 @@ class PreviewViewController: UIViewController, QLPreviewingController {
override func viewDidLoad() {
super.viewDidLoad()
- print("CaseraQLPreview: viewDidLoad called")
+ print("honeyDueQLPreview: viewDidLoad called")
setupUI()
}
@@ -196,9 +196,9 @@ class PreviewViewController: UIViewController, QLPreviewingController {
// MARK: - QLPreviewingController
func preparePreviewOfFile(at url: URL) async throws {
- print("CaseraQLPreview: preparePreviewOfFile called with URL: \(url)")
+ print("honeyDueQLPreview: preparePreviewOfFile called with URL: \(url)")
- // Parse the .casera file — single Codable pass to detect type, then decode
+ // Parse the .honeydue file — single Codable pass to detect type, then decode
let data = try Data(contentsOf: url)
let decoder = JSONDecoder()
@@ -209,7 +209,7 @@ class PreviewViewController: UIViewController, QLPreviewingController {
let residence = try decoder.decode(ResidencePreviewData.self, from: data)
self.residenceData = residence
- print("CaseraQLPreview: Parsed residence: \(residence.residenceName)")
+ print("honeyDueQLPreview: Parsed residence: \(residence.residenceName)")
await MainActor.run {
self.updateUIForResidence(with: residence)
@@ -219,7 +219,7 @@ class PreviewViewController: UIViewController, QLPreviewingController {
let contractor = try decoder.decode(ContractorPreviewData.self, from: data)
self.contractorData = contractor
- print("CaseraQLPreview: Parsed contractor: \(contractor.name)")
+ print("honeyDueQLPreview: Parsed contractor: \(contractor.name)")
await MainActor.run {
self.updateUIForContractor(with: contractor)
@@ -233,8 +233,8 @@ class PreviewViewController: UIViewController, QLPreviewingController {
iconImageView.image = UIImage(systemName: "person.crop.rectangle.stack", withConfiguration: config)
titleLabel.text = contractor.name
- subtitleLabel.text = "Casera Contractor File"
- instructionLabel.text = "Tap the share button below, then select \"Casera\" to import this contractor."
+ subtitleLabel.text = "honeyDue Contractor File"
+ instructionLabel.text = "Tap the share button below, then select \"honeyDue\" to import this contractor."
// Clear existing details
detailsStackView.arrangedSubviews.forEach { $0.removeFromSuperview() }
@@ -268,8 +268,8 @@ class PreviewViewController: UIViewController, QLPreviewingController {
iconImageView.image = UIImage(systemName: "house.fill", withConfiguration: config)
titleLabel.text = residence.residenceName
- subtitleLabel.text = "Casera Residence Invite"
- instructionLabel.text = "Tap the share button below, then select \"Casera\" to join this residence."
+ subtitleLabel.text = "honeyDue Residence Invite"
+ instructionLabel.text = "Tap the share button below, then select \"honeyDue\" to join this residence."
// Clear existing details
detailsStackView.arrangedSubviews.forEach { $0.removeFromSuperview() }
diff --git a/iosApp/CaseraQLThumbnail/Info.plist b/iosApp/HoneyDueQLThumbnail/Info.plist
similarity index 92%
rename from iosApp/CaseraQLThumbnail/Info.plist
rename to iosApp/HoneyDueQLThumbnail/Info.plist
index f77509c..de515fc 100644
--- a/iosApp/CaseraQLThumbnail/Info.plist
+++ b/iosApp/HoneyDueQLThumbnail/Info.plist
@@ -3,7 +3,7 @@
CFBundleDisplayName
- Casera Thumbnail
+ honeyDue Thumbnail
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -24,7 +24,7 @@
QLSupportedContentTypes
- com.casera.contractor
+ com.honeydue.contractor
QLThumbnailMinimumDimension
0
diff --git a/iosApp/CaseraQLThumbnail/ThumbnailProvider.swift b/iosApp/HoneyDueQLThumbnail/ThumbnailProvider.swift
similarity index 97%
rename from iosApp/CaseraQLThumbnail/ThumbnailProvider.swift
rename to iosApp/HoneyDueQLThumbnail/ThumbnailProvider.swift
index ab7e98b..5a0e727 100644
--- a/iosApp/CaseraQLThumbnail/ThumbnailProvider.swift
+++ b/iosApp/HoneyDueQLThumbnail/ThumbnailProvider.swift
@@ -1,6 +1,6 @@
//
// ThumbnailProvider.swift
-// CaseraQLThumbnail
+// honeyDueQLThumbnail
//
// Created by Trey Tartt on 12/6/25.
//
@@ -10,7 +10,7 @@ import QuickLookThumbnailing
class ThumbnailProvider: QLThumbnailProvider {
- /// Represents the type of .casera package
+ /// Represents the type of .honeydue package
private enum PackageType {
case contractor
case residence
diff --git a/iosApp/CaseraTests/CaseraTests.swift b/iosApp/HoneyDueTests/CaseraTests.swift
similarity index 76%
rename from iosApp/CaseraTests/CaseraTests.swift
rename to iosApp/HoneyDueTests/CaseraTests.swift
index b38453b..17a880b 100644
--- a/iosApp/CaseraTests/CaseraTests.swift
+++ b/iosApp/HoneyDueTests/CaseraTests.swift
@@ -1,13 +1,13 @@
//
-// CaseraTests.swift
-// CaseraTests
+// honeyDueTests.swift
+// honeyDueTests
//
// Created by Trey Tartt on 11/12/25.
//
import Testing
-struct CaseraTests {
+struct honeyDueTests {
@Test func example() async throws {
// Write your test here and use APIs like `#expect(...)` to check expected conditions.
diff --git a/iosApp/CaseraTests/DataLayerTests.swift b/iosApp/HoneyDueTests/DataLayerTests.swift
similarity index 99%
rename from iosApp/CaseraTests/DataLayerTests.swift
rename to iosApp/HoneyDueTests/DataLayerTests.swift
index 5a9e022..aadbf48 100644
--- a/iosApp/CaseraTests/DataLayerTests.swift
+++ b/iosApp/HoneyDueTests/DataLayerTests.swift
@@ -1,6 +1,6 @@
//
// DataLayerTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for the DATA layer domain (DATA-001 through DATA-007).
// Exercises Kotlin DataManager directly from Swift without launching the app.
@@ -11,7 +11,7 @@
import Testing
import Foundation
-@testable import Casera
+@testable import honeyDue
import ComposeApp
// MARK: - Serialized Parent Suite (prevents concurrent DataManager mutations)
diff --git a/iosApp/CaseraTests/DataManagerExtendedTests.swift b/iosApp/HoneyDueTests/DataManagerExtendedTests.swift
similarity index 99%
rename from iosApp/CaseraTests/DataManagerExtendedTests.swift
rename to iosApp/HoneyDueTests/DataManagerExtendedTests.swift
index 43888df..6c28565 100644
--- a/iosApp/CaseraTests/DataManagerExtendedTests.swift
+++ b/iosApp/HoneyDueTests/DataManagerExtendedTests.swift
@@ -1,6 +1,6 @@
//
// DataManagerExtendedTests.swift
-// CaseraTests
+// honeyDueTests
//
// Extended unit tests covering TASK-005, TASK-012, THEME-001, TCOMP-003, and QA-002.
//
@@ -11,7 +11,7 @@
import Testing
import Foundation
-@testable import Casera
+@testable import honeyDue
import ComposeApp
// MARK: - Extension of DataLayerTests (serialized parent in DataLayerTests.swift)
diff --git a/iosApp/CaseraTests/DateUtilsTests.swift b/iosApp/HoneyDueTests/DateUtilsTests.swift
similarity index 99%
rename from iosApp/CaseraTests/DateUtilsTests.swift
rename to iosApp/HoneyDueTests/DateUtilsTests.swift
index 580a637..64e074f 100644
--- a/iosApp/CaseraTests/DateUtilsTests.swift
+++ b/iosApp/HoneyDueTests/DateUtilsTests.swift
@@ -1,13 +1,13 @@
//
// DateUtilsTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for DateUtils formatting, parsing, and timezone utilities.
//
import Testing
import Foundation
-@testable import Casera
+@testable import honeyDue
// MARK: - DateUtils.formatDate Tests
diff --git a/iosApp/CaseraTests/DocumentHelpersTests.swift b/iosApp/HoneyDueTests/DocumentHelpersTests.swift
similarity index 98%
rename from iosApp/CaseraTests/DocumentHelpersTests.swift
rename to iosApp/HoneyDueTests/DocumentHelpersTests.swift
index 3b07d14..bf1629a 100644
--- a/iosApp/CaseraTests/DocumentHelpersTests.swift
+++ b/iosApp/HoneyDueTests/DocumentHelpersTests.swift
@@ -1,12 +1,12 @@
//
// DocumentHelpersTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for DocumentTypeHelper and DocumentCategoryHelper.
//
import Testing
-@testable import Casera
+@testable import honeyDue
// MARK: - DocumentTypeHelper Tests
diff --git a/iosApp/CaseraTests/DoubleExtensionsTests.swift b/iosApp/HoneyDueTests/DoubleExtensionsTests.swift
similarity index 98%
rename from iosApp/CaseraTests/DoubleExtensionsTests.swift
rename to iosApp/HoneyDueTests/DoubleExtensionsTests.swift
index cdc3a34..192f8f0 100644
--- a/iosApp/CaseraTests/DoubleExtensionsTests.swift
+++ b/iosApp/HoneyDueTests/DoubleExtensionsTests.swift
@@ -1,12 +1,12 @@
//
// DoubleExtensionsTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for Double, Int number formatting extensions.
//
import Testing
-@testable import Casera
+@testable import honeyDue
// MARK: - Double.toCurrency Tests
diff --git a/iosApp/CaseraTests/ErrorMessageParserTests.swift b/iosApp/HoneyDueTests/ErrorMessageParserTests.swift
similarity index 99%
rename from iosApp/CaseraTests/ErrorMessageParserTests.swift
rename to iosApp/HoneyDueTests/ErrorMessageParserTests.swift
index 5eca3e3..8f31d7c 100644
--- a/iosApp/CaseraTests/ErrorMessageParserTests.swift
+++ b/iosApp/HoneyDueTests/ErrorMessageParserTests.swift
@@ -1,13 +1,13 @@
//
// ErrorMessageParserTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for ErrorMessageParser error code mapping, network error detection,
// and message parsing logic.
//
import Testing
-@testable import Casera
+@testable import honeyDue
// MARK: - API Error Code Mapping Tests
diff --git a/iosApp/CaseraTests/PasswordResetViewModelTests.swift b/iosApp/HoneyDueTests/PasswordResetViewModelTests.swift
similarity index 99%
rename from iosApp/CaseraTests/PasswordResetViewModelTests.swift
rename to iosApp/HoneyDueTests/PasswordResetViewModelTests.swift
index 77b900c..1d9136b 100644
--- a/iosApp/CaseraTests/PasswordResetViewModelTests.swift
+++ b/iosApp/HoneyDueTests/PasswordResetViewModelTests.swift
@@ -1,13 +1,13 @@
//
// PasswordResetViewModelTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for PasswordResetViewModel navigation, state management,
// and client-side validation (no network calls).
//
import Testing
-@testable import Casera
+@testable import honeyDue
// MARK: - PasswordResetStep Tests
diff --git a/iosApp/CaseraTests/StringExtensionsTests.swift b/iosApp/HoneyDueTests/StringExtensionsTests.swift
similarity index 98%
rename from iosApp/CaseraTests/StringExtensionsTests.swift
rename to iosApp/HoneyDueTests/StringExtensionsTests.swift
index 2d2745e..d5fed02 100644
--- a/iosApp/CaseraTests/StringExtensionsTests.swift
+++ b/iosApp/HoneyDueTests/StringExtensionsTests.swift
@@ -1,12 +1,12 @@
//
// StringExtensionsTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for String and Optional extensions.
//
import Testing
-@testable import Casera
+@testable import honeyDue
// MARK: - isBlank Tests
diff --git a/iosApp/CaseraTests/SubscriptionGatingTests.swift b/iosApp/HoneyDueTests/SubscriptionGatingTests.swift
similarity index 99%
rename from iosApp/CaseraTests/SubscriptionGatingTests.swift
rename to iosApp/HoneyDueTests/SubscriptionGatingTests.swift
index cd70428..fe73f68 100644
--- a/iosApp/CaseraTests/SubscriptionGatingTests.swift
+++ b/iosApp/HoneyDueTests/SubscriptionGatingTests.swift
@@ -1,6 +1,6 @@
//
// SubscriptionGatingTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for SubscriptionCacheWrapper feature gating logic:
// currentTier, shouldShowUpgradePrompt, canShareResidence, canShareContractor.
@@ -10,7 +10,7 @@
import Testing
import Foundation
-@testable import Casera
+@testable import honeyDue
import ComposeApp
// MARK: - Helpers
diff --git a/iosApp/CaseraTests/TaskMetricsTests.swift b/iosApp/HoneyDueTests/TaskMetricsTests.swift
similarity index 99%
rename from iosApp/CaseraTests/TaskMetricsTests.swift
rename to iosApp/HoneyDueTests/TaskMetricsTests.swift
index 0a38ebd..5b18256 100644
--- a/iosApp/CaseraTests/TaskMetricsTests.swift
+++ b/iosApp/HoneyDueTests/TaskMetricsTests.swift
@@ -1,13 +1,13 @@
//
// TaskMetricsTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for WidgetDataManager.TaskMetrics and task categorization logic.
//
import Testing
import Foundation
-@testable import Casera
+@testable import honeyDue
// MARK: - Column Name Constants Tests
diff --git a/iosApp/CaseraTests/ThemeIDTests.swift b/iosApp/HoneyDueTests/ThemeIDTests.swift
similarity index 96%
rename from iosApp/CaseraTests/ThemeIDTests.swift
rename to iosApp/HoneyDueTests/ThemeIDTests.swift
index f24fe63..08d34f7 100644
--- a/iosApp/CaseraTests/ThemeIDTests.swift
+++ b/iosApp/HoneyDueTests/ThemeIDTests.swift
@@ -1,12 +1,12 @@
//
// ThemeIDTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for ThemeID enum properties and round-tripping.
//
import Testing
-@testable import Casera
+@testable import honeyDue
// MARK: - ThemeID Enum Tests
diff --git a/iosApp/CaseraTests/ValidationHelpersTests.swift b/iosApp/HoneyDueTests/ValidationHelpersTests.swift
similarity index 99%
rename from iosApp/CaseraTests/ValidationHelpersTests.swift
rename to iosApp/HoneyDueTests/ValidationHelpersTests.swift
index 8c6702c..5e14ae1 100644
--- a/iosApp/CaseraTests/ValidationHelpersTests.swift
+++ b/iosApp/HoneyDueTests/ValidationHelpersTests.swift
@@ -1,12 +1,12 @@
//
// ValidationHelpersTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for ValidationHelpers, FormValidator, and related types.
//
import Testing
-@testable import Casera
+@testable import honeyDue
// MARK: - ValidationResult Tests
diff --git a/iosApp/CaseraTests/ValidationRulesTests.swift b/iosApp/HoneyDueTests/ValidationRulesTests.swift
similarity index 99%
rename from iosApp/CaseraTests/ValidationRulesTests.swift
rename to iosApp/HoneyDueTests/ValidationRulesTests.swift
index 018ec4b..f311e5f 100644
--- a/iosApp/CaseraTests/ValidationRulesTests.swift
+++ b/iosApp/HoneyDueTests/ValidationRulesTests.swift
@@ -1,12 +1,12 @@
//
// ValidationRulesTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for ValidationError and ValidationRules (distinct from ValidationHelpers).
//
import Testing
-@testable import Casera
+@testable import honeyDue
// MARK: - ValidationError errorDescription Tests
diff --git a/iosApp/CaseraTests/WidgetActionTests.swift b/iosApp/HoneyDueTests/WidgetActionTests.swift
similarity index 98%
rename from iosApp/CaseraTests/WidgetActionTests.swift
rename to iosApp/HoneyDueTests/WidgetActionTests.swift
index 66d1ea5..df60b4e 100644
--- a/iosApp/CaseraTests/WidgetActionTests.swift
+++ b/iosApp/HoneyDueTests/WidgetActionTests.swift
@@ -1,6 +1,6 @@
//
// WidgetActionTests.swift
-// CaseraTests
+// honeyDueTests
//
// Unit tests for WidgetDataManager.WidgetAction (Codable, Equatable, accessors)
// and WidgetDataManager.parseDate static helper.
@@ -8,7 +8,7 @@
import Testing
import Foundation
-@testable import Casera
+@testable import honeyDue
// MARK: - WidgetAction Codable Tests
diff --git a/iosApp/CaseraUITests/AccessibilityIdentifiers.swift b/iosApp/HoneyDueUITests/AccessibilityIdentifiers.swift
similarity index 100%
rename from iosApp/CaseraUITests/AccessibilityIdentifiers.swift
rename to iosApp/HoneyDueUITests/AccessibilityIdentifiers.swift
diff --git a/iosApp/CaseraUITests/CriticalPath/AuthCriticalPathTests.swift b/iosApp/HoneyDueUITests/CriticalPath/AuthCriticalPathTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/CriticalPath/AuthCriticalPathTests.swift
rename to iosApp/HoneyDueUITests/CriticalPath/AuthCriticalPathTests.swift
diff --git a/iosApp/CaseraUITests/CriticalPath/NavigationCriticalPathTests.swift b/iosApp/HoneyDueUITests/CriticalPath/NavigationCriticalPathTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/CriticalPath/NavigationCriticalPathTests.swift
rename to iosApp/HoneyDueUITests/CriticalPath/NavigationCriticalPathTests.swift
diff --git a/iosApp/CaseraUITests/CriticalPath/SmokeTests.swift b/iosApp/HoneyDueUITests/CriticalPath/SmokeTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/CriticalPath/SmokeTests.swift
rename to iosApp/HoneyDueUITests/CriticalPath/SmokeTests.swift
diff --git a/iosApp/CaseraUITests/Docs/Failing_Suites_0_3_Rebuild_Plan.md b/iosApp/HoneyDueUITests/Docs/Failing_Suites_0_3_Rebuild_Plan.md
similarity index 98%
rename from iosApp/CaseraUITests/Docs/Failing_Suites_0_3_Rebuild_Plan.md
rename to iosApp/HoneyDueUITests/Docs/Failing_Suites_0_3_Rebuild_Plan.md
index 71c46ec..c47748e 100644
--- a/iosApp/CaseraUITests/Docs/Failing_Suites_0_3_Rebuild_Plan.md
+++ b/iosApp/HoneyDueUITests/Docs/Failing_Suites_0_3_Rebuild_Plan.md
@@ -41,7 +41,7 @@ Required infra:
## Suite1
Detailed plan already captured in:
-- `/Users/treyt/Desktop/code/MyCribKMM/iosApp/CaseraUITests/Docs/Suite1_Failing_Test_Rebuild_Plan.md`
+- `/Users/treyt/Desktop/code/HoneyDueKMM/iosApp/HoneyDueUITests/Docs/Suite1_Failing_Test_Rebuild_Plan.md`
### Failing tests
- `test07_successfulRegistrationAndVerification`
diff --git a/iosApp/CaseraUITests/Docs/Suite1_Failing_Test_Rebuild_Plan.md b/iosApp/HoneyDueUITests/Docs/Suite1_Failing_Test_Rebuild_Plan.md
similarity index 100%
rename from iosApp/CaseraUITests/Docs/Suite1_Failing_Test_Rebuild_Plan.md
rename to iosApp/HoneyDueUITests/Docs/Suite1_Failing_Test_Rebuild_Plan.md
diff --git a/iosApp/CaseraUITests/Fixtures/TestFixtures.swift b/iosApp/HoneyDueUITests/Fixtures/TestFixtures.swift
similarity index 100%
rename from iosApp/CaseraUITests/Fixtures/TestFixtures.swift
rename to iosApp/HoneyDueUITests/Fixtures/TestFixtures.swift
diff --git a/iosApp/CaseraUITests/Framework/AuthenticatedTestCase.swift b/iosApp/HoneyDueUITests/Framework/AuthenticatedTestCase.swift
similarity index 100%
rename from iosApp/CaseraUITests/Framework/AuthenticatedTestCase.swift
rename to iosApp/HoneyDueUITests/Framework/AuthenticatedTestCase.swift
diff --git a/iosApp/CaseraUITests/Framework/BaseUITestCase.swift b/iosApp/HoneyDueUITests/Framework/BaseUITestCase.swift
similarity index 100%
rename from iosApp/CaseraUITests/Framework/BaseUITestCase.swift
rename to iosApp/HoneyDueUITests/Framework/BaseUITestCase.swift
diff --git a/iosApp/CaseraUITests/Framework/RebuildSupport.swift b/iosApp/HoneyDueUITests/Framework/RebuildSupport.swift
similarity index 100%
rename from iosApp/CaseraUITests/Framework/RebuildSupport.swift
rename to iosApp/HoneyDueUITests/Framework/RebuildSupport.swift
diff --git a/iosApp/CaseraUITests/Framework/ScreenObjects.swift b/iosApp/HoneyDueUITests/Framework/ScreenObjects.swift
similarity index 100%
rename from iosApp/CaseraUITests/Framework/ScreenObjects.swift
rename to iosApp/HoneyDueUITests/Framework/ScreenObjects.swift
diff --git a/iosApp/CaseraUITests/Framework/TestAccountAPIClient.swift b/iosApp/HoneyDueUITests/Framework/TestAccountAPIClient.swift
similarity index 100%
rename from iosApp/CaseraUITests/Framework/TestAccountAPIClient.swift
rename to iosApp/HoneyDueUITests/Framework/TestAccountAPIClient.swift
diff --git a/iosApp/CaseraUITests/Framework/TestAccountManager.swift b/iosApp/HoneyDueUITests/Framework/TestAccountManager.swift
similarity index 100%
rename from iosApp/CaseraUITests/Framework/TestAccountManager.swift
rename to iosApp/HoneyDueUITests/Framework/TestAccountManager.swift
diff --git a/iosApp/CaseraUITests/Framework/TestDataCleaner.swift b/iosApp/HoneyDueUITests/Framework/TestDataCleaner.swift
similarity index 100%
rename from iosApp/CaseraUITests/Framework/TestDataCleaner.swift
rename to iosApp/HoneyDueUITests/Framework/TestDataCleaner.swift
diff --git a/iosApp/CaseraUITests/Framework/TestDataSeeder.swift b/iosApp/HoneyDueUITests/Framework/TestDataSeeder.swift
similarity index 100%
rename from iosApp/CaseraUITests/Framework/TestDataSeeder.swift
rename to iosApp/HoneyDueUITests/Framework/TestDataSeeder.swift
diff --git a/iosApp/CaseraUITests/Framework/TestFlows.swift b/iosApp/HoneyDueUITests/Framework/TestFlows.swift
similarity index 100%
rename from iosApp/CaseraUITests/Framework/TestFlows.swift
rename to iosApp/HoneyDueUITests/Framework/TestFlows.swift
diff --git a/iosApp/CaseraUITests/PageObjects/BaseScreen.swift b/iosApp/HoneyDueUITests/PageObjects/BaseScreen.swift
similarity index 100%
rename from iosApp/CaseraUITests/PageObjects/BaseScreen.swift
rename to iosApp/HoneyDueUITests/PageObjects/BaseScreen.swift
diff --git a/iosApp/CaseraUITests/PageObjects/LoginScreen.swift b/iosApp/HoneyDueUITests/PageObjects/LoginScreen.swift
similarity index 100%
rename from iosApp/CaseraUITests/PageObjects/LoginScreen.swift
rename to iosApp/HoneyDueUITests/PageObjects/LoginScreen.swift
diff --git a/iosApp/CaseraUITests/PageObjects/MainTabScreen.swift b/iosApp/HoneyDueUITests/PageObjects/MainTabScreen.swift
similarity index 100%
rename from iosApp/CaseraUITests/PageObjects/MainTabScreen.swift
rename to iosApp/HoneyDueUITests/PageObjects/MainTabScreen.swift
diff --git a/iosApp/CaseraUITests/PageObjects/RegisterScreen.swift b/iosApp/HoneyDueUITests/PageObjects/RegisterScreen.swift
similarity index 100%
rename from iosApp/CaseraUITests/PageObjects/RegisterScreen.swift
rename to iosApp/HoneyDueUITests/PageObjects/RegisterScreen.swift
diff --git a/iosApp/CaseraUITests/README.md b/iosApp/HoneyDueUITests/README.md
similarity index 94%
rename from iosApp/CaseraUITests/README.md
rename to iosApp/HoneyDueUITests/README.md
index d4c185c..543f0a5 100644
--- a/iosApp/CaseraUITests/README.md
+++ b/iosApp/HoneyDueUITests/README.md
@@ -1,9 +1,9 @@
-# Casera iOS UI Testing Architecture
+# honeyDue iOS UI Testing Architecture
## Directory Structure
```
-CaseraUITests/
+HoneyDueUITests/
├── PageObjects/ # Screen abstractions (Page Object pattern)
│ ├── BaseScreen.swift # Common wait/assert utilities
│ ├── LoginScreen.swift # Login screen elements and actions
@@ -53,16 +53,16 @@ All interactive elements must have identifiers defined in `AccessibilityIdentifi
```bash
xcodebuild test -project iosApp.xcodeproj -scheme iosApp \
-sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 17' \
- -only-testing:CaseraUITests/SmokeTests \
- -only-testing:CaseraUITests/AuthCriticalPathTests \
- -only-testing:CaseraUITests/NavigationCriticalPathTests
+ -only-testing:HoneyDueUITests/SmokeTests \
+ -only-testing:HoneyDueUITests/AuthCriticalPathTests \
+ -only-testing:HoneyDueUITests/NavigationCriticalPathTests
```
### Full Regression (nightly)
```bash
xcodebuild test -project iosApp.xcodeproj -scheme iosApp \
-sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 17' \
- -only-testing:CaseraUITests
+ -only-testing:HoneyDueUITests
```
## Flake Reduction
diff --git a/iosApp/CaseraUITests/Scripts/cleanup_test_users.sh b/iosApp/HoneyDueUITests/Scripts/cleanup_test_users.sh
similarity index 100%
rename from iosApp/CaseraUITests/Scripts/cleanup_test_users.sh
rename to iosApp/HoneyDueUITests/Scripts/cleanup_test_users.sh
diff --git a/iosApp/CaseraUITests/Scripts/get_verification_code.sh b/iosApp/HoneyDueUITests/Scripts/get_verification_code.sh
similarity index 100%
rename from iosApp/CaseraUITests/Scripts/get_verification_code.sh
rename to iosApp/HoneyDueUITests/Scripts/get_verification_code.sh
diff --git a/iosApp/CaseraUITests/SimpleLoginTest.swift b/iosApp/HoneyDueUITests/SimpleLoginTest.swift
similarity index 100%
rename from iosApp/CaseraUITests/SimpleLoginTest.swift
rename to iosApp/HoneyDueUITests/SimpleLoginTest.swift
diff --git a/iosApp/CaseraUITests/Suite0_OnboardingTests.swift b/iosApp/HoneyDueUITests/Suite0_OnboardingTests.swift
similarity index 98%
rename from iosApp/CaseraUITests/Suite0_OnboardingTests.swift
rename to iosApp/HoneyDueUITests/Suite0_OnboardingTests.swift
index 2885711..a4f3d61 100644
--- a/iosApp/CaseraUITests/Suite0_OnboardingTests.swift
+++ b/iosApp/HoneyDueUITests/Suite0_OnboardingTests.swift
@@ -4,8 +4,8 @@ import XCTest
///
/// SETUP REQUIREMENTS:
/// This test suite requires the app to be UNINSTALLED before running.
-/// Add a Pre-action script to the CaseraUITests scheme (Edit Scheme → Test → Pre-actions):
-/// /usr/bin/xcrun simctl uninstall booted com.tt.casera.CaseraDev
+/// Add a Pre-action script to the honeyDueUITests scheme (Edit Scheme → Test → Pre-actions):
+/// /usr/bin/xcrun simctl uninstall booted com.tt.honeyDue.HoneyDueDev
/// exit 0
///
/// There is ONE fresh-install test that runs the complete onboarding flow.
diff --git a/iosApp/CaseraUITests/Suite10_ComprehensiveE2ETests.swift b/iosApp/HoneyDueUITests/Suite10_ComprehensiveE2ETests.swift
similarity index 99%
rename from iosApp/CaseraUITests/Suite10_ComprehensiveE2ETests.swift
rename to iosApp/HoneyDueUITests/Suite10_ComprehensiveE2ETests.swift
index 5e034c2..6934e67 100644
--- a/iosApp/CaseraUITests/Suite10_ComprehensiveE2ETests.swift
+++ b/iosApp/HoneyDueUITests/Suite10_ComprehensiveE2ETests.swift
@@ -1,7 +1,7 @@
import XCTest
/// Comprehensive End-to-End Test Suite
-/// Closely mirrors TestIntegration_ComprehensiveE2E from myCribAPI-go/internal/integration/integration_test.go
+/// Closely mirrors TestIntegration_ComprehensiveE2E from honeyDueAPI-go/internal/integration/integration_test.go
///
/// This test creates a complete scenario:
/// 1. Registers a new user and verifies login
diff --git a/iosApp/CaseraUITests/Suite1_RegistrationTests.swift b/iosApp/HoneyDueUITests/Suite1_RegistrationTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Suite1_RegistrationTests.swift
rename to iosApp/HoneyDueUITests/Suite1_RegistrationTests.swift
diff --git a/iosApp/CaseraUITests/Suite2_AuthenticationTests.swift b/iosApp/HoneyDueUITests/Suite2_AuthenticationTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Suite2_AuthenticationTests.swift
rename to iosApp/HoneyDueUITests/Suite2_AuthenticationTests.swift
diff --git a/iosApp/CaseraUITests/Suite3_ResidenceTests.swift b/iosApp/HoneyDueUITests/Suite3_ResidenceTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Suite3_ResidenceTests.swift
rename to iosApp/HoneyDueUITests/Suite3_ResidenceTests.swift
diff --git a/iosApp/CaseraUITests/Suite4_ComprehensiveResidenceTests.swift b/iosApp/HoneyDueUITests/Suite4_ComprehensiveResidenceTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Suite4_ComprehensiveResidenceTests.swift
rename to iosApp/HoneyDueUITests/Suite4_ComprehensiveResidenceTests.swift
diff --git a/iosApp/CaseraUITests/Suite5_TaskTests.swift b/iosApp/HoneyDueUITests/Suite5_TaskTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Suite5_TaskTests.swift
rename to iosApp/HoneyDueUITests/Suite5_TaskTests.swift
diff --git a/iosApp/CaseraUITests/Suite6_ComprehensiveTaskTests.swift b/iosApp/HoneyDueUITests/Suite6_ComprehensiveTaskTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Suite6_ComprehensiveTaskTests.swift
rename to iosApp/HoneyDueUITests/Suite6_ComprehensiveTaskTests.swift
diff --git a/iosApp/CaseraUITests/Suite7_ContractorTests.swift b/iosApp/HoneyDueUITests/Suite7_ContractorTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Suite7_ContractorTests.swift
rename to iosApp/HoneyDueUITests/Suite7_ContractorTests.swift
diff --git a/iosApp/CaseraUITests/Suite8_DocumentWarrantyTests.swift b/iosApp/HoneyDueUITests/Suite8_DocumentWarrantyTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Suite8_DocumentWarrantyTests.swift
rename to iosApp/HoneyDueUITests/Suite8_DocumentWarrantyTests.swift
diff --git a/iosApp/CaseraUITests/Suite9_IntegrationE2ETests.swift b/iosApp/HoneyDueUITests/Suite9_IntegrationE2ETests.swift
similarity index 99%
rename from iosApp/CaseraUITests/Suite9_IntegrationE2ETests.swift
rename to iosApp/HoneyDueUITests/Suite9_IntegrationE2ETests.swift
index d8be955..ec58829 100644
--- a/iosApp/CaseraUITests/Suite9_IntegrationE2ETests.swift
+++ b/iosApp/HoneyDueUITests/Suite9_IntegrationE2ETests.swift
@@ -1,7 +1,7 @@
import XCTest
/// Comprehensive End-to-End Integration Tests
-/// Mirrors the backend integration tests in myCribAPI-go/internal/integration/integration_test.go
+/// Mirrors the backend integration tests in honeyDueAPI-go/internal/integration/integration_test.go
///
/// This test suite covers:
/// 1. Full authentication flow (register, login, logout)
diff --git a/iosApp/CaseraUITests/TestConfiguration/TestLaunchConfig.swift b/iosApp/HoneyDueUITests/TestConfiguration/TestLaunchConfig.swift
similarity index 100%
rename from iosApp/CaseraUITests/TestConfiguration/TestLaunchConfig.swift
rename to iosApp/HoneyDueUITests/TestConfiguration/TestLaunchConfig.swift
diff --git a/iosApp/CaseraUITests/Tests/AccessibilityTests.swift b/iosApp/HoneyDueUITests/Tests/AccessibilityTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/AccessibilityTests.swift
rename to iosApp/HoneyDueUITests/Tests/AccessibilityTests.swift
diff --git a/iosApp/CaseraUITests/Tests/AppLaunchTests.swift b/iosApp/HoneyDueUITests/Tests/AppLaunchTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/AppLaunchTests.swift
rename to iosApp/HoneyDueUITests/Tests/AppLaunchTests.swift
diff --git a/iosApp/CaseraUITests/Tests/AuthenticationTests.swift b/iosApp/HoneyDueUITests/Tests/AuthenticationTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/AuthenticationTests.swift
rename to iosApp/HoneyDueUITests/Tests/AuthenticationTests.swift
diff --git a/iosApp/CaseraUITests/Tests/ContractorIntegrationTests.swift b/iosApp/HoneyDueUITests/Tests/ContractorIntegrationTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/ContractorIntegrationTests.swift
rename to iosApp/HoneyDueUITests/Tests/ContractorIntegrationTests.swift
diff --git a/iosApp/CaseraUITests/Tests/DataLayerTests.swift b/iosApp/HoneyDueUITests/Tests/DataLayerTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/DataLayerTests.swift
rename to iosApp/HoneyDueUITests/Tests/DataLayerTests.swift
diff --git a/iosApp/CaseraUITests/Tests/DocumentIntegrationTests.swift b/iosApp/HoneyDueUITests/Tests/DocumentIntegrationTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/DocumentIntegrationTests.swift
rename to iosApp/HoneyDueUITests/Tests/DocumentIntegrationTests.swift
diff --git a/iosApp/CaseraUITests/Tests/OnboardingTests.swift b/iosApp/HoneyDueUITests/Tests/OnboardingTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/OnboardingTests.swift
rename to iosApp/HoneyDueUITests/Tests/OnboardingTests.swift
diff --git a/iosApp/CaseraUITests/Tests/PasswordResetTests.swift b/iosApp/HoneyDueUITests/Tests/PasswordResetTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/PasswordResetTests.swift
rename to iosApp/HoneyDueUITests/Tests/PasswordResetTests.swift
diff --git a/iosApp/CaseraUITests/Tests/Rebuild/Suite0_OnboardingRebuildTests.swift b/iosApp/HoneyDueUITests/Tests/Rebuild/Suite0_OnboardingRebuildTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/Rebuild/Suite0_OnboardingRebuildTests.swift
rename to iosApp/HoneyDueUITests/Tests/Rebuild/Suite0_OnboardingRebuildTests.swift
diff --git a/iosApp/CaseraUITests/Tests/Rebuild/Suite1_RegistrationRebuildTests.swift b/iosApp/HoneyDueUITests/Tests/Rebuild/Suite1_RegistrationRebuildTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/Rebuild/Suite1_RegistrationRebuildTests.swift
rename to iosApp/HoneyDueUITests/Tests/Rebuild/Suite1_RegistrationRebuildTests.swift
diff --git a/iosApp/CaseraUITests/Tests/Rebuild/Suite2_AuthenticationRebuildTests.swift b/iosApp/HoneyDueUITests/Tests/Rebuild/Suite2_AuthenticationRebuildTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/Rebuild/Suite2_AuthenticationRebuildTests.swift
rename to iosApp/HoneyDueUITests/Tests/Rebuild/Suite2_AuthenticationRebuildTests.swift
diff --git a/iosApp/CaseraUITests/Tests/Rebuild/Suite3_ResidenceRebuildTests.swift b/iosApp/HoneyDueUITests/Tests/Rebuild/Suite3_ResidenceRebuildTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/Rebuild/Suite3_ResidenceRebuildTests.swift
rename to iosApp/HoneyDueUITests/Tests/Rebuild/Suite3_ResidenceRebuildTests.swift
diff --git a/iosApp/CaseraUITests/Tests/ResidenceIntegrationTests.swift b/iosApp/HoneyDueUITests/Tests/ResidenceIntegrationTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/ResidenceIntegrationTests.swift
rename to iosApp/HoneyDueUITests/Tests/ResidenceIntegrationTests.swift
diff --git a/iosApp/CaseraUITests/Tests/StabilityTests.swift b/iosApp/HoneyDueUITests/Tests/StabilityTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/StabilityTests.swift
rename to iosApp/HoneyDueUITests/Tests/StabilityTests.swift
diff --git a/iosApp/CaseraUITests/Tests/TaskIntegrationTests.swift b/iosApp/HoneyDueUITests/Tests/TaskIntegrationTests.swift
similarity index 100%
rename from iosApp/CaseraUITests/Tests/TaskIntegrationTests.swift
rename to iosApp/HoneyDueUITests/Tests/TaskIntegrationTests.swift
diff --git a/iosApp/CaseraUITests/UITestHelpers.swift b/iosApp/HoneyDueUITests/UITestHelpers.swift
similarity index 100%
rename from iosApp/CaseraUITests/UITestHelpers.swift
rename to iosApp/HoneyDueUITests/UITestHelpers.swift
diff --git a/iosApp/REFACTORING_PLAN.md b/iosApp/REFACTORING_PLAN.md
index dcdfef9..7432d42 100644
--- a/iosApp/REFACTORING_PLAN.md
+++ b/iosApp/REFACTORING_PLAN.md
@@ -2,9 +2,9 @@
## Overview
-Refactor the MyCrib iOS codebase to improve adherence to SOLID principles and DRY patterns. This plan targets ~1,500 lines of code reduction while significantly improving testability and maintainability.
+Refactor the HoneyDue iOS codebase to improve adherence to SOLID principles and DRY patterns. This plan targets ~1,500 lines of code reduction while significantly improving testability and maintainability.
-**Scope**: `MyCribKMM/iosApp/iosApp/`
+**Scope**: `HoneyDueKMM/iosApp/iosApp/`
**Estimated Effort**: 4-5 focused sessions
**Risk Level**: Medium (ViewModels are central to app functionality)
diff --git a/iosApp/TEST_FAILURES_ANALYSIS.md b/iosApp/TEST_FAILURES_ANALYSIS.md
index 23c1038..ec3d0ab 100644
--- a/iosApp/TEST_FAILURES_ANALYSIS.md
+++ b/iosApp/TEST_FAILURES_ANALYSIS.md
@@ -17,7 +17,7 @@ The UI tests you're seeing fail are **failing for the right reason** - they cann
- Ready to be used in views
3. ✅ **Fixed test compilation issues**
- - Added `@testable import MyCrib` to all test files
+ - Added `@testable import HoneyDue` to all test files
- Fixed ambiguous type references
- Tests compile successfully
@@ -260,7 +260,7 @@ xcodebuild test \
-project iosApp.xcodeproj \
-scheme iosApp \
-destination 'platform=iOS Simulator,name=iPhone 17' \
- -only-testing:MyCribTests/ComprehensiveAuthenticationTests/testLoginWithValidCredentials
+ -only-testing:HoneyDueTests/ComprehensiveAuthenticationTests/testLoginWithValidCredentials
```
## Why Tests Are Failing Now
diff --git a/iosApp/UI_TESTS_README.md b/iosApp/UI_TESTS_README.md
index 6a79a1b..4d9a291 100644
--- a/iosApp/UI_TESTS_README.md
+++ b/iosApp/UI_TESTS_README.md
@@ -1,4 +1,4 @@
-# MyCrib iOS UI Tests
+# HoneyDue iOS UI Tests
## ✅ Status: WORKING
@@ -85,25 +85,25 @@ XCTAssertTrue(addButton.waitForExistence(timeout: 5),
### In Xcode (Recommended)
1. Open `iosApp.xcodeproj`
-2. Select **MyCribUITests** scheme
+2. Select **HoneyDueUITests** scheme
3. Press `Cmd+U` to run all tests
4. Or click diamond icon next to individual test to run just that one
### Command Line
```bash
# Run all UI tests
-xcodebuild test -project iosApp.xcodeproj -scheme MyCribUITests \
+xcodebuild test -project iosApp.xcodeproj -scheme HoneyDueUITests \
-destination 'platform=iOS Simulator,name=iPhone 17'
# Run specific test file
-xcodebuild test -project iosApp.xcodeproj -scheme MyCribUITests \
+xcodebuild test -project iosApp.xcodeproj -scheme HoneyDueUITests \
-destination 'platform=iOS Simulator,name=iPhone 17' \
- -only-testing:MyCribUITests/AuthenticationTests
+ -only-testing:HoneyDueUITests/AuthenticationTests
# Run specific test
-xcodebuild test -project iosApp.xcodeproj -scheme MyCribUITests \
+xcodebuild test -project iosApp.xcodeproj -scheme HoneyDueUITests \
-destination 'platform=iOS Simulator,name=iPhone 17' \
- -only-testing:MyCribUITests/AuthenticationTests/testLoginWithValidCredentials
+ -only-testing:HoneyDueUITests/AuthenticationTests/testLoginWithValidCredentials
```
## 📝 Test Credentials
diff --git a/iosApp/UI_TESTS_SUMMARY.md b/iosApp/UI_TESTS_SUMMARY.md
index 418a69c..3038ade 100644
--- a/iosApp/UI_TESTS_SUMMARY.md
+++ b/iosApp/UI_TESTS_SUMMARY.md
@@ -1,4 +1,4 @@
-# MyCrib iOS UI Tests - Complete Rewrite Summary
+# HoneyDue iOS UI Tests - Complete Rewrite Summary
## ✅ Status: BUILD SUCCEEDED
@@ -152,10 +152,10 @@ All UI tests have been completely rewritten from scratch with comprehensive edge
- `takeScreenshot(named:)` - Named screenshots
### 5. **AccessibilityIdentifiers.swift** (213 lines)
-Copied to MyCribUITests folder for UI test access without `@testable import`.
+Copied to HoneyDueUITests folder for UI test access without `@testable import`.
-### 6. **MyCribUITests.swift & MyCribUITestsLaunchTests.swift**
-Updated to remove `@testable import MyCrib` (UI tests run in separate process).
+### 6. **HoneyDueUITests.swift & HoneyDueUITestsLaunchTests.swift**
+Updated to remove `@testable import HoneyDue` (UI tests run in separate process).
## 🗑️ Removed Files
- AuthenticationUITests.swift (old, had @testable import)
@@ -231,26 +231,26 @@ All tests compile successfully with no errors. Only warnings are from the main a
1. **Fix AccessibilityIdentifiers Target Membership:**
- Open `iosApp.xcodeproj` in Xcode
- Select `iosApp/Helpers/AccessibilityIdentifiers.swift` in Project Navigator
- - In File Inspector (right panel), **uncheck** "MyCribUITests" from Target Membership
+ - In File Inspector (right panel), **uncheck** "HoneyDueUITests" from Target Membership
- Only `iosApp` should be checked
- - The copy in `MyCribUITests/AccessibilityIdentifiers.swift` should have "MyCribUITests" checked
+ - The copy in `HoneyDueUITests/AccessibilityIdentifiers.swift` should have "HoneyDueUITests" checked
2. **Run Tests:**
```bash
# Run all UI tests
xcodebuild test -project iosApp.xcodeproj -scheme iosApp \
-destination 'platform=iOS Simulator,name=iPhone 17' \
- -only-testing:MyCribUITests
+ -only-testing:HoneyDueUITests
# Run specific test class
xcodebuild test -project iosApp.xcodeproj -scheme iosApp \
-destination 'platform=iOS Simulator,name=iPhone 17' \
- -only-testing:MyCribUITests/ComprehensiveAuthenticationTests
+ -only-testing:HoneyDueUITests/ComprehensiveAuthenticationTests
# Run specific test
xcodebuild test -project iosApp.xcodeproj -scheme iosApp \
-destination 'platform=iOS Simulator,name=iPhone 17' \
- -only-testing:MyCribUITests/ComprehensiveAuthenticationTests/testLoginWithValidCredentials
+ -only-testing:HoneyDueUITests/ComprehensiveAuthenticationTests/testLoginWithValidCredentials
```
## 🎯 Test Philosophy
diff --git a/iosApp/UI_TEST_STRATEGY.md b/iosApp/UI_TEST_STRATEGY.md
index f62adc3..ccb0181 100644
--- a/iosApp/UI_TEST_STRATEGY.md
+++ b/iosApp/UI_TEST_STRATEGY.md
@@ -1,4 +1,4 @@
-# MyCrib iOS UI Test Strategy
+# HoneyDue iOS UI Test Strategy
## Current Status: REBUILDING FROM SCRATCH
@@ -50,12 +50,12 @@ Once SimpleLoginTest works, we'll build:
### In Xcode (Recommended)
1. Open `iosApp.xcodeproj`
-2. Select MyCribUITests scheme
+2. Select HoneyDueUITests scheme
3. Press Cmd+U or click diamond icon next to test
### Command Line
```bash
-xcodebuild test -project iosApp.xcodeproj -scheme MyCribUITests \
+xcodebuild test -project iosApp.xcodeproj -scheme HoneyDueUITests \
-destination 'platform=iOS Simulator,name=iPhone 17'
```
diff --git a/iosApp/XCUITEST_DEBUGGING_GUIDE.md b/iosApp/XCUITEST_DEBUGGING_GUIDE.md
index 7c99733..3efb0f0 100644
--- a/iosApp/XCUITEST_DEBUGGING_GUIDE.md
+++ b/iosApp/XCUITEST_DEBUGGING_GUIDE.md
@@ -37,13 +37,13 @@ This is the fastest way to diagnose the issue:
1. **Open the project in Xcode:**
```bash
- cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp
+ cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp
open iosApp.xcodeproj
```
2. **Select the Test target and a simulator:**
- Select "iPhone 17 Pro" simulator from the device dropdown
- - Select the `MyCribTests` scheme
+ - Select the `HoneyDueTests` scheme
3. **Use UI Recording to see what elements exist:**
- Open `DebugLoginTest.swift`
@@ -84,12 +84,12 @@ Then run tests and check if "LoginView appeared" prints in console.
The `DebugLoginTest.swift` is already simplified. Try running it:
```bash
-cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp
+cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp
xcodebuild test \
-project iosApp.xcodeproj \
-scheme iosApp \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
- -only-testing:MyCribTests/DebugLoginTest/testAppLaunches
+ -only-testing:HoneyDueTests/DebugLoginTest/testAppLaunches
```
Check if it passes (meaning the app launches and has SOME UI elements).
@@ -98,17 +98,17 @@ Check if it passes (meaning the app launches and has SOME UI elements).
### 1. AccessibilityIdentifiers Not in Test Target
-Verify that `AccessibilityIdentifiers.swift` is included in the **iosApp target** (not MyCribTests):
+Verify that `AccessibilityIdentifiers.swift` is included in the **iosApp target** (not HoneyDueTests):
- In Xcode, select `Helpers/AccessibilityIdentifiers.swift`
- In File Inspector (right panel), check "Target Membership"
- ✅ `iosApp` should be checked
-- ❌ `MyCribTests` should NOT be checked
+- ❌ `HoneyDueTests` should NOT be checked
### 2. LoginView Not Using Correct Identifiers
Double-check `Login/LoginView.swift`:
```bash
-grep "accessibilityIdentifier" /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/Login/LoginView.swift
+grep "accessibilityIdentifier" /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/Login/LoginView.swift
```
Should output:
@@ -148,50 +148,50 @@ Try moving initialization to background thread or making it async.
```bash
# Check if identifiers are in LoginView
-grep -c "accessibilityIdentifier" /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/Login/LoginView.swift
+grep -c "accessibilityIdentifier" /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/Login/LoginView.swift
# Should output: 6
# Check if AccessibilityIdentifiers exists
-ls -la /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/Helpers/AccessibilityIdentifiers.swift
+ls -la /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/Helpers/AccessibilityIdentifiers.swift
# Should show the file
# Run simplified debug test
-cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp
+cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp
xcodebuild test -project iosApp.xcodeproj -scheme iosApp \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
- -only-testing:MyCribTests/DebugLoginTest/testAppLaunches 2>&1 | grep "Test Case"
+ -only-testing:HoneyDueTests/DebugLoginTest/testAppLaunches 2>&1 | grep "Test Case"
```
## Expected Output When Working
When tests work properly, you should see:
```
-Test Case '-[MyCribTests.DebugLoginTest testAppLaunches]' started.
+Test Case '-[HoneyDueTests.DebugLoginTest testAppLaunches]' started.
Activity 'Found 1 text fields' started
Activity 'Found 1 secure fields' started
Activity 'Found 5 buttons' started
Activity 'Email field exists: true' started
Activity 'Password field exists: true' started
-Test Case '-[MyCribTests.DebugLoginTest testAppLaunches]' passed (5.234 seconds).
+Test Case '-[HoneyDueTests.DebugLoginTest testAppLaunches]' passed (5.234 seconds).
```
Currently seeing:
```
-Test Case '-[MyCribTests.DebugLoginTest testAppLaunches]' failed (0.540 seconds)
+Test Case '-[HoneyDueTests.DebugLoginTest testAppLaunches]' failed (0.540 seconds)
```
The ~0.5 second failure suggests the app isn't even launching or is crashing immediately.
## Files Modified
-- ✅ `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/Helpers/AccessibilityIdentifiers.swift` - Created
-- ✅ `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/Login/LoginView.swift` - Added 6 identifiers
-- ✅ `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/Login/RegisterView.swift` - Added 6 identifiers
-- ✅ `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/MainTabView.swift` - Added 5 tab identifiers
-- ✅ `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/Residence/*` - Added 15+ identifiers
-- ✅ `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/Profile/ProfileTabView.swift` - Added logout identifier
-- ✅ `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/MyCribTests/TestHelpers.swift` - Updated to use identifiers
-- ✅ `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/MyCribTests/DebugLoginTest.swift` - Simplified debug test
+- ✅ `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/Helpers/AccessibilityIdentifiers.swift` - Created
+- ✅ `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/Login/LoginView.swift` - Added 6 identifiers
+- ✅ `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/Login/RegisterView.swift` - Added 6 identifiers
+- ✅ `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/MainTabView.swift` - Added 5 tab identifiers
+- ✅ `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/Residence/*` - Added 15+ identifiers
+- ✅ `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/Profile/ProfileTabView.swift` - Added logout identifier
+- ✅ `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/HoneyDueTests/TestHelpers.swift` - Updated to use identifiers
+- ✅ `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/HoneyDueTests/DebugLoginTest.swift` - Simplified debug test
## Next Action
diff --git a/iosApp/XCUITEST_IMPLEMENTATION_GUIDE.md b/iosApp/XCUITEST_IMPLEMENTATION_GUIDE.md
index 55f8c90..2a7e921 100644
--- a/iosApp/XCUITEST_IMPLEMENTATION_GUIDE.md
+++ b/iosApp/XCUITEST_IMPLEMENTATION_GUIDE.md
@@ -2,7 +2,7 @@
## Overview
-This guide provides step-by-step instructions for implementing comprehensive UI testing for the MyCrib iOS app using XCUITest.
+This guide provides step-by-step instructions for implementing comprehensive UI testing for the HoneyDue iOS app using XCUITest.
## Table of Contents
@@ -18,7 +18,7 @@ This guide provides step-by-step instructions for implementing comprehensive UI
### Current Status
✅ **Already Done:**
-- UI Test target exists: `MyCribTests`
+- UI Test target exists: `HoneyDueTests`
- Base test infrastructure in place (`TestHelpers.swift`, `BaseUITest`)
- Initial test files created
@@ -272,12 +272,12 @@ Here's a checklist of all views that need accessibility identifiers:
1. **Open the project:**
```bash
- cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp
+ cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp
open iosApp.xcodeproj
```
2. **Select the test target:**
- - Product → Scheme → MyCribTests
+ - Product → Scheme → HoneyDueTests
3. **Choose a simulator:**
- iPhone 15 Pro (recommended)
@@ -296,27 +296,27 @@ Here's a checklist of all views that need accessibility identifiers:
```bash
# Navigate to iOS app directory
-cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp
+cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp
# Run all tests
xcodebuild test \
-project iosApp.xcodeproj \
- -scheme MyCribTests \
+ -scheme HoneyDueTests \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.0'
# Run specific test class
xcodebuild test \
-project iosApp.xcodeproj \
- -scheme MyCribTests \
+ -scheme HoneyDueTests \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.0' \
- -only-testing:MyCribTests/AuthenticationUITests
+ -only-testing:HoneyDueTests/AuthenticationUITests
# Run specific test method
xcodebuild test \
-project iosApp.xcodeproj \
- -scheme MyCribTests \
+ -scheme HoneyDueTests \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.0' \
- -only-testing:MyCribTests/AuthenticationUITests/testLoginWithValidCredentials
+ -only-testing:HoneyDueTests/AuthenticationUITests/testLoginWithValidCredentials
```
### Test Results
@@ -359,7 +359,7 @@ jobs:
- name: Start Django Backend
run: |
- cd myCribAPI
+ cd honeyDueAPI
docker-compose up -d
sleep 10 # Wait for backend to start
@@ -369,10 +369,10 @@ jobs:
- name: Run iOS UI Tests
run: |
- cd MyCribKMM/iosApp
+ cd HoneyDueKMM/iosApp
xcodebuild test \
-project iosApp.xcodeproj \
- -scheme MyCribTests \
+ -scheme HoneyDueTests \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.2' \
-resultBundlePath TestResults.xcresult \
-enableCodeCoverage YES
@@ -382,7 +382,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: test-results
- path: MyCribKMM/iosApp/TestResults.xcresult
+ path: HoneyDueKMM/iosApp/TestResults.xcresult
- name: Upload Screenshots
if: failure()
@@ -395,7 +395,7 @@ jobs:
- name: Stop Docker Containers
if: always()
run: |
- cd myCribAPI
+ cd honeyDueAPI
docker-compose down
```
@@ -408,10 +408,10 @@ jobs:
Create a `.xctestplan` file for better organization:
1. In Xcode: File → New → Test Plan
-2. Name it: `MyCribTestPlan.xctestplan`
+2. Name it: `HoneyDueTestPlan.xctestplan`
3. Configure:
- **Configurations**: Debug, Release
- - **Test Targets**: MyCribTests
+ - **Test Targets**: HoneyDueTests
- **Code Coverage**: Enable
- **Screenshots**: Automatically on failure
diff --git a/iosApp/XCUITEST_IMPLEMENTATION_SUMMARY.md b/iosApp/XCUITEST_IMPLEMENTATION_SUMMARY.md
index b4db442..e33a285 100644
--- a/iosApp/XCUITEST_IMPLEMENTATION_SUMMARY.md
+++ b/iosApp/XCUITEST_IMPLEMENTATION_SUMMARY.md
@@ -2,7 +2,7 @@
## Overview
-This document summarizes the comprehensive XCUITest implementation created for the MyCrib iOS app. All deliverables are based on the `AUTOMATED_TEST_EXECUTION_PLAN.md` and follow iOS best practices for UI testing.
+This document summarizes the comprehensive XCUITest implementation created for the HoneyDue iOS app. All deliverables are based on the `AUTOMATED_TEST_EXECUTION_PLAN.md` and follow iOS best practices for UI testing.
---
@@ -43,7 +43,7 @@ Three complete test files covering all major flows from the automated test plan:
####ComprehensiveAuthenticationTests.swift`
-**Location:** `iosApp/MyCribTests/ComprehensiveAuthenticationTests.swift`
+**Location:** `iosApp/HoneyDueTests/ComprehensiveAuthenticationTests.swift`
**Tests Included:**
- `testUserRegistrationComplete()` - Test 1.1: Full registration flow
@@ -70,7 +70,7 @@ Three complete test files covering all major flows from the automated test plan:
#### `ComprehensiveResidenceTests.swift`
-**Location:** `iosApp/MyCribTests/ComprehensiveResidenceTests.swift`
+**Location:** `iosApp/HoneyDueTests/ComprehensiveResidenceTests.swift`
**Tests Included:**
- `testCreateResidenceComplete()` - Test 2.1: Create property
@@ -102,7 +102,7 @@ Three complete test files covering all major flows from the automated test plan:
#### `ComprehensiveTaskTests.swift`
-**Location:** `iosApp/MyCribTests/ComprehensiveTaskTests.swift`
+**Location:** `iosApp/HoneyDueTests/ComprehensiveTaskTests.swift`
**Tests Included:**
- `testCreateOneTimeTaskComplete()` - Test 3.1: Create one-time task
@@ -192,7 +192,7 @@ A comprehensive 400+ line guide covering:
### 4. ✅ Enhanced Test Helpers (Already Existing)
-**File:** `iosApp/MyCribTests/TestHelpers.swift` (Already in project)
+**File:** `iosApp/HoneyDueTests/TestHelpers.swift` (Already in project)
The existing test infrastructure includes:
@@ -268,12 +268,12 @@ TextField("Email", text: $email)
1. **Open Xcode**
```bash
- cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp
+ cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp
open iosApp.xcodeproj
```
2. **Select Test Target**
- - Product → Scheme → MyCribTests
+ - Product → Scheme → HoneyDueTests
3. **Run Individual Test**
- Open `ComprehensiveAuthenticationTests.swift`
@@ -397,13 +397,13 @@ TextField("Email", text: $email)
1. **`iosApp/Helpers/AccessibilityIdentifiers.swift`** (253 lines)
- Centralized accessibility identifiers
-2. **`iosApp/MyCribTests/ComprehensiveAuthenticationTests.swift`** (232 lines)
+2. **`iosApp/HoneyDueTests/ComprehensiveAuthenticationTests.swift`** (232 lines)
- 11 authentication tests
-3. **`iosApp/MyCribTests/ComprehensiveResidenceTests.swift`** (387 lines)
+3. **`iosApp/HoneyDueTests/ComprehensiveResidenceTests.swift`** (387 lines)
- 10 residence management tests
-4. **`iosApp/MyCribTests/ComprehensiveTaskTests.swift`** (437 lines)
+4. **`iosApp/HoneyDueTests/ComprehensiveTaskTests.swift`** (437 lines)
- 13 task management tests
5. **`iosApp/XCUITEST_IMPLEMENTATION_GUIDE.md`** (451 lines)
@@ -490,7 +490,7 @@ For questions about this implementation, refer to the guide or check:
## Summary
-This implementation provides a **complete, production-ready XCUITest infrastructure** for the MyCrib iOS app:
+This implementation provides a **complete, production-ready XCUITest infrastructure** for the HoneyDue iOS app:
✅ **34 comprehensive tests** covering authentication, residences, and tasks
✅ **Centralized accessibility identifiers** for maintainability
diff --git a/iosApp/XCUITest-Authoring.md b/iosApp/XCUITest-Authoring.md
index 72a80db..01e5550 100644
--- a/iosApp/XCUITest-Authoring.md
+++ b/iosApp/XCUITest-Authoring.md
@@ -1,8 +1,8 @@
# XCUITest Authoring
## Required Architecture
-- Put shared test infrastructure in `/Users/treyt/Desktop/code/MyCribKMM/iosApp/CaseraUITests/Framework`.
-- Put feature suites in `/Users/treyt/Desktop/code/MyCribKMM/iosApp/CaseraUITests/Tests`.
+- Put shared test infrastructure in `/Users/treyt/Desktop/code/HoneyDueKMM/iosApp/HoneyDueUITests/Framework`.
+- Put feature suites in `/Users/treyt/Desktop/code/HoneyDueKMM/iosApp/HoneyDueUITests/Tests`.
- Every test suite inherits `BaseUITestCase`.
- Reusable multi-step setup belongs in `TestFlows`.
- UI interactions should go through screen objects in `ScreenObjects.swift`.
@@ -12,7 +12,7 @@
- `--ui-testing`
- `--disable-animations`
- `--reset-state`
-- App-side behavior for UI test mode is implemented in `/Users/treyt/Desktop/code/MyCribKMM/iosApp/iosApp/Helpers/UITestRuntime.swift`.
+- App-side behavior for UI test mode is implemented in `/Users/treyt/Desktop/code/HoneyDueKMM/iosApp/iosApp/Helpers/UITestRuntime.swift`.
## Naming
- Test method naming format: `test_()`.
diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj
index ee0a79a..f848457 100644
--- a/iosApp/iosApp.xcodeproj/project.pbxproj
+++ b/iosApp/iosApp.xcodeproj/project.pbxproj
@@ -9,11 +9,11 @@
/* Begin PBXBuildFile section */
1C0789402EBC218B00392B46 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C07893F2EBC218B00392B46 /* WidgetKit.framework */; };
1C0789422EBC218B00392B46 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C0789412EBC218B00392B46 /* SwiftUI.framework */; };
- 1C0789532EBC218D00392B46 /* CaseraExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 1C07893D2EBC218B00392B46 /* CaseraExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ 1C0789532EBC218D00392B46 /* HoneyDueExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 1C07893D2EBC218B00392B46 /* HoneyDueExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
1C81F26B2EE416EE000739EA /* QuickLook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C81F26A2EE416EE000739EA /* QuickLook.framework */; };
- 1C81F2772EE416EF000739EA /* CaseraQLPreview.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 1C81F2692EE416EE000739EA /* CaseraQLPreview.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ 1C81F2772EE416EF000739EA /* HoneyDueQLPreview.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 1C81F2692EE416EE000739EA /* HoneyDueQLPreview.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
1C81F2822EE41BB6000739EA /* QuickLookThumbnailing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C81F2812EE41BB6000739EA /* QuickLookThumbnailing.framework */; };
- 1C81F2892EE41BB6000739EA /* CaseraQLThumbnail.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 1C81F2802EE41BB6000739EA /* CaseraQLThumbnail.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ 1C81F2892EE41BB6000739EA /* HoneyDueQLThumbnail.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 1C81F2802EE41BB6000739EA /* HoneyDueQLThumbnail.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
1C81F3902EE69AF1000739EA /* PostHog in Frameworks */ = {isa = PBXBuildFile; productRef = 1C81F38F2EE69AF1000739EA /* PostHog */; };
/* End PBXBuildFile section */
@@ -23,21 +23,21 @@
containerPortal = 6A3E1D84F9F1A2FD92A75A6C /* Project object */;
proxyType = 1;
remoteGlobalIDString = 1C07893C2EBC218B00392B46;
- remoteInfo = CaseraExtension;
+ remoteInfo = HoneyDueExtension;
};
1C81F2752EE416EF000739EA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 6A3E1D84F9F1A2FD92A75A6C /* Project object */;
proxyType = 1;
remoteGlobalIDString = 1C81F2682EE416EE000739EA;
- remoteInfo = CaseraQLPreview;
+ remoteInfo = HoneyDueQLPreview;
};
1C81F2872EE41BB6000739EA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 6A3E1D84F9F1A2FD92A75A6C /* Project object */;
proxyType = 1;
remoteGlobalIDString = 1C81F27F2EE41BB6000739EA;
- remoteInfo = CaseraQLThumbnail;
+ remoteInfo = HoneyDueQLThumbnail;
};
1CBF16002ECD8AE4001BF56C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -62,9 +62,9 @@
dstPath = "";
dstSubfolderSpec = 13;
files = (
- 1C0789532EBC218D00392B46 /* CaseraExtension.appex in Embed Foundation Extensions */,
- 1C81F2892EE41BB6000739EA /* CaseraQLThumbnail.appex in Embed Foundation Extensions */,
- 1C81F2772EE416EF000739EA /* CaseraQLPreview.appex in Embed Foundation Extensions */,
+ 1C0789532EBC218D00392B46 /* HoneyDueExtension.appex in Embed Foundation Extensions */,
+ 1C81F2892EE41BB6000739EA /* HoneyDueQLThumbnail.appex in Embed Foundation Extensions */,
+ 1C81F2772EE416EF000739EA /* HoneyDueQLPreview.appex in Embed Foundation Extensions */,
);
name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0;
@@ -72,66 +72,31 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 1C07893D2EBC218B00392B46 /* CaseraExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = CaseraExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1C07893D2EBC218B00392B46 /* HoneyDueExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = HoneyDueExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
1C07893F2EBC218B00392B46 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; };
1C0789412EBC218B00392B46 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
- 1C0789612EBC2F5400392B46 /* CaseraExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = CaseraExtension.entitlements; sourceTree = ""; };
- 1C685CD22EC5539000A9669B /* CaseraTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CaseraTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
- 1C81F2692EE416EE000739EA /* CaseraQLPreview.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = CaseraQLPreview.appex; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1C0789612EBC2F5400392B46 /* HoneyDueExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = HoneyDueExtension.entitlements; sourceTree = ""; };
+ 1C685CD22EC5539000A9669B /* HoneyDueTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HoneyDueTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1C81F2692EE416EE000739EA /* HoneyDueQLPreview.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = HoneyDueQLPreview.appex; sourceTree = BUILT_PRODUCTS_DIR; };
1C81F26A2EE416EE000739EA /* QuickLook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLook.framework; path = System/Library/Frameworks/QuickLook.framework; sourceTree = SDKROOT; };
- 1C81F2802EE41BB6000739EA /* CaseraQLThumbnail.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = CaseraQLThumbnail.appex; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1C81F2802EE41BB6000739EA /* HoneyDueQLThumbnail.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = HoneyDueQLThumbnail.appex; sourceTree = BUILT_PRODUCTS_DIR; };
1C81F2812EE41BB6000739EA /* QuickLookThumbnailing.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLookThumbnailing.framework; path = System/Library/Frameworks/QuickLookThumbnailing.framework; sourceTree = SDKROOT; };
- 1C87A0C42EDB8ED40081E450 /* CaseraUITests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = CaseraUITests.xctestplan; sourceTree = ""; };
- 1CBF1BED2ECD9768001BF56C /* CaseraUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CaseraUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1C87A0C42EDB8ED40081E450 /* HoneyDueUITests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = HoneyDueUITests.xctestplan; sourceTree = ""; };
+ 1CBF1BED2ECD9768001BF56C /* HoneyDueUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HoneyDueUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4B07E04F794A4C1CAA8CCD5D /* PhotoViewerSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoViewerSheet.swift; sourceTree = ""; };
- 96A3DDC05E14B3F83E56282F /* Casera.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Casera.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 96A3DDC05E14B3F83E56282F /* HoneyDue.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HoneyDue.app; sourceTree = BUILT_PRODUCTS_DIR; };
AD6CD907CA1045CBBC845D91 /* CompletionCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompletionCardView.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
- 1C0789572EBC218D00392B46 /* Exceptions for "Casera" folder in "CaseraExtension" target */ = {
- isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
- membershipExceptions = (
- Info.plist,
- );
- target = 1C07893C2EBC218B00392B46 /* CaseraExtension */;
- };
- 1C77EDA12ECE784100A53003 /* Exceptions for "iosApp" folder in "CaseraUITests" target */ = {
+ 1C77EDA12ECE784100A53003 /* Exceptions for "iosApp" folder in "HoneyDueUITests" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Helpers/AccessibilityIdentifiers.swift,
);
- target = 1CBF1BEC2ECD9768001BF56C /* CaseraUITests */;
+ target = 1CBF1BEC2ECD9768001BF56C /* HoneyDueUITests */;
};
- 1C77EDA22ECE797700A53003 /* Exceptions for "CaseraUITests" folder in "CaseraUITests" target */ = {
- isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
- membershipExceptions = (
- AccessibilityIdentifiers.swift,
- );
- target = 1CBF1BEC2ECD9768001BF56C /* CaseraUITests */;
- };
- 1C81F27B2EE416EF000739EA /* Exceptions for "CaseraQLPreview" folder in "CaseraQLPreview" target */ = {
- isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
- membershipExceptions = (
- Info.plist,
- );
- target = 1C81F2682EE416EE000739EA /* CaseraQLPreview */;
- };
- 1C81F28D2EE41BB6000739EA /* Exceptions for "CaseraQLThumbnail" folder in "CaseraQLThumbnail" target */ = {
- isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
- membershipExceptions = (
- Info.plist,
- );
- target = 1C81F27F2EE41BB6000739EA /* CaseraQLThumbnail */;
- };
- 1C81F38A2EE5E430000739EA /* Exceptions for "Casera" folder in "Casera" target */ = {
- isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
- membershipExceptions = (
- CaseraIconView.swift,
- );
- target = D4ADB376A7A4CFB73469E173 /* Casera */;
- };
- 1C87A67A2EDCC3100081E450 /* Exceptions for "iosApp" folder in "CaseraExtension" target */ = {
+ 1C87A67A2EDCC3100081E450 /* Exceptions for "iosApp" folder in "HoneyDueExtension" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Assets.xcassets,
@@ -139,64 +104,41 @@
Design/OrganicDesign.swift,
Helpers/ThemeManager.swift,
);
- target = 1C07893C2EBC218B00392B46 /* CaseraExtension */;
+ target = 1C07893C2EBC218B00392B46 /* HoneyDueExtension */;
};
- 1CBF1C072ECD97AC001BF56C /* Exceptions for "CaseraTests" folder in "CaseraTests" target */ = {
- isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
- membershipExceptions = (
- CaseraTests.swift,
- );
- target = 1C685CD12EC5539000A9669B /* CaseraTests */;
- };
- 84D9B4B86A80D013B8CBB951 /* Exceptions for "iosApp" folder in "Casera" target */ = {
+ 84D9B4B86A80D013B8CBB951 /* Exceptions for "iosApp" folder in "HoneyDue" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Info.plist,
);
- target = D4ADB376A7A4CFB73469E173 /* Casera */;
+ target = D4ADB376A7A4CFB73469E173 /* HoneyDue */;
};
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
/* Begin PBXFileSystemSynchronizedRootGroup section */
- 1C0789432EBC218B00392B46 /* Casera */ = {
+ 1C0789432EBC218B00392B46 /* HoneyDue */ = {
isa = PBXFileSystemSynchronizedRootGroup;
- exceptions = (
- 1C81F38A2EE5E430000739EA /* Exceptions for "Casera" folder in "Casera" target */,
- 1C0789572EBC218D00392B46 /* Exceptions for "Casera" folder in "CaseraExtension" target */,
- );
- path = Casera;
+ path = HoneyDue;
sourceTree = "";
};
- 1C685CD32EC5539000A9669B /* CaseraTests */ = {
+ 1C685CD32EC5539000A9669B /* HoneyDueTests */ = {
isa = PBXFileSystemSynchronizedRootGroup;
- exceptions = (
- 1CBF1C072ECD97AC001BF56C /* Exceptions for "CaseraTests" folder in "CaseraTests" target */,
- );
- path = CaseraTests;
+ path = HoneyDueTests;
sourceTree = "";
};
- 1C81F26C2EE416EE000739EA /* CaseraQLPreview */ = {
+ 1C81F26C2EE416EE000739EA /* HoneyDueQLPreview */ = {
isa = PBXFileSystemSynchronizedRootGroup;
- exceptions = (
- 1C81F27B2EE416EF000739EA /* Exceptions for "CaseraQLPreview" folder in "CaseraQLPreview" target */,
- );
- path = CaseraQLPreview;
+ path = HoneyDueQLPreview;
sourceTree = "";
};
- 1C81F2832EE41BB6000739EA /* CaseraQLThumbnail */ = {
+ 1C81F2832EE41BB6000739EA /* HoneyDueQLThumbnail */ = {
isa = PBXFileSystemSynchronizedRootGroup;
- exceptions = (
- 1C81F28D2EE41BB6000739EA /* Exceptions for "CaseraQLThumbnail" folder in "CaseraQLThumbnail" target */,
- );
- path = CaseraQLThumbnail;
+ path = HoneyDueQLThumbnail;
sourceTree = "";
};
- 1CBF1BEE2ECD9768001BF56C /* CaseraUITests */ = {
+ 1CBF1BEE2ECD9768001BF56C /* HoneyDueUITests */ = {
isa = PBXFileSystemSynchronizedRootGroup;
- exceptions = (
- 1C77EDA22ECE797700A53003 /* Exceptions for "CaseraUITests" folder in "CaseraUITests" target */,
- );
- path = CaseraUITests;
+ path = HoneyDueUITests;
sourceTree = "";
};
7A237E53D5D71D9D6A361E29 /* Configuration */ = {
@@ -207,9 +149,9 @@
E822E6B231E7783DE992578C /* iosApp */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
- 84D9B4B86A80D013B8CBB951 /* Exceptions for "iosApp" folder in "Casera" target */,
- 1C87A67A2EDCC3100081E450 /* Exceptions for "iosApp" folder in "CaseraExtension" target */,
- 1C77EDA12ECE784100A53003 /* Exceptions for "iosApp" folder in "CaseraUITests" target */,
+ 84D9B4B86A80D013B8CBB951 /* Exceptions for "iosApp" folder in "HoneyDue" target */,
+ 1C87A67A2EDCC3100081E450 /* Exceptions for "iosApp" folder in "HoneyDueExtension" target */,
+ 1C77EDA12ECE784100A53003 /* Exceptions for "iosApp" folder in "HoneyDueUITests" target */,
);
path = iosApp;
sourceTree = "";
@@ -290,15 +232,15 @@
86BC7E88090398B44B7DB0E4 = {
isa = PBXGroup;
children = (
- 1C87A0C42EDB8ED40081E450 /* CaseraUITests.xctestplan */,
- 1C0789612EBC2F5400392B46 /* CaseraExtension.entitlements */,
+ 1C87A0C42EDB8ED40081E450 /* HoneyDueUITests.xctestplan */,
+ 1C0789612EBC2F5400392B46 /* HoneyDueExtension.entitlements */,
7A237E53D5D71D9D6A361E29 /* Configuration */,
E822E6B231E7783DE992578C /* iosApp */,
- 1C0789432EBC218B00392B46 /* Casera */,
- 1C685CD32EC5539000A9669B /* CaseraTests */,
- 1CBF1BEE2ECD9768001BF56C /* CaseraUITests */,
- 1C81F26C2EE416EE000739EA /* CaseraQLPreview */,
- 1C81F2832EE41BB6000739EA /* CaseraQLThumbnail */,
+ 1C0789432EBC218B00392B46 /* HoneyDue */,
+ 1C685CD32EC5539000A9669B /* HoneyDueTests */,
+ 1CBF1BEE2ECD9768001BF56C /* HoneyDueUITests */,
+ 1C81F26C2EE416EE000739EA /* HoneyDueQLPreview */,
+ 1C81F2832EE41BB6000739EA /* HoneyDueQLThumbnail */,
1C07893E2EBC218B00392B46 /* Frameworks */,
FA6022B7B844191C54E57EB4 /* Products */,
1C078A1B2EC1820B00392B46 /* Recovered References */,
@@ -308,12 +250,12 @@
FA6022B7B844191C54E57EB4 /* Products */ = {
isa = PBXGroup;
children = (
- 96A3DDC05E14B3F83E56282F /* Casera.app */,
- 1C07893D2EBC218B00392B46 /* CaseraExtension.appex */,
- 1C685CD22EC5539000A9669B /* CaseraTests.xctest */,
- 1CBF1BED2ECD9768001BF56C /* CaseraUITests.xctest */,
- 1C81F2692EE416EE000739EA /* CaseraQLPreview.appex */,
- 1C81F2802EE41BB6000739EA /* CaseraQLThumbnail.appex */,
+ 96A3DDC05E14B3F83E56282F /* HoneyDue.app */,
+ 1C07893D2EBC218B00392B46 /* HoneyDueExtension.appex */,
+ 1C685CD22EC5539000A9669B /* HoneyDueTests.xctest */,
+ 1CBF1BED2ECD9768001BF56C /* HoneyDueUITests.xctest */,
+ 1C81F2692EE416EE000739EA /* HoneyDueQLPreview.appex */,
+ 1C81F2802EE41BB6000739EA /* HoneyDueQLThumbnail.appex */,
);
name = Products;
sourceTree = "";
@@ -321,9 +263,9 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- 1C07893C2EBC218B00392B46 /* CaseraExtension */ = {
+ 1C07893C2EBC218B00392B46 /* HoneyDueExtension */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 1C0789542EBC218D00392B46 /* Build configuration list for PBXNativeTarget "CaseraExtension" */;
+ buildConfigurationList = 1C0789542EBC218D00392B46 /* Build configuration list for PBXNativeTarget "HoneyDueExtension" */;
buildPhases = (
1C0789392EBC218B00392B46 /* Sources */,
1C07893A2EBC218B00392B46 /* Frameworks */,
@@ -334,18 +276,18 @@
dependencies = (
);
fileSystemSynchronizedGroups = (
- 1C0789432EBC218B00392B46 /* Casera */,
+ 1C0789432EBC218B00392B46 /* HoneyDue */,
);
- name = CaseraExtension;
+ name = HoneyDueExtension;
packageProductDependencies = (
);
- productName = CaseraExtension;
- productReference = 1C07893D2EBC218B00392B46 /* CaseraExtension.appex */;
+ productName = HoneyDueExtension;
+ productReference = 1C07893D2EBC218B00392B46 /* HoneyDueExtension.appex */;
productType = "com.apple.product-type.app-extension";
};
- 1C685CD12EC5539000A9669B /* CaseraTests */ = {
+ 1C685CD12EC5539000A9669B /* HoneyDueTests */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 1C685CD82EC5539000A9669B /* Build configuration list for PBXNativeTarget "CaseraTests" */;
+ buildConfigurationList = 1C685CD82EC5539000A9669B /* Build configuration list for PBXNativeTarget "HoneyDueTests" */;
buildPhases = (
1C685CCE2EC5539000A9669B /* Sources */,
1C685CCF2EC5539000A9669B /* Frameworks */,
@@ -357,18 +299,18 @@
1CBF16012ECD8AE4001BF56C /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
- 1C685CD32EC5539000A9669B /* CaseraTests */,
+ 1C685CD32EC5539000A9669B /* HoneyDueTests */,
);
- name = CaseraTests;
+ name = HoneyDueTests;
packageProductDependencies = (
);
- productName = CaseraTests;
- productReference = 1C685CD22EC5539000A9669B /* CaseraTests.xctest */;
+ productName = HoneyDueTests;
+ productReference = 1C685CD22EC5539000A9669B /* HoneyDueTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
- 1C81F2682EE416EE000739EA /* CaseraQLPreview */ = {
+ 1C81F2682EE416EE000739EA /* HoneyDueQLPreview */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 1C81F2782EE416EF000739EA /* Build configuration list for PBXNativeTarget "CaseraQLPreview" */;
+ buildConfigurationList = 1C81F2782EE416EF000739EA /* Build configuration list for PBXNativeTarget "HoneyDueQLPreview" */;
buildPhases = (
1C81F2652EE416EE000739EA /* Sources */,
1C81F2662EE416EE000739EA /* Frameworks */,
@@ -379,18 +321,18 @@
dependencies = (
);
fileSystemSynchronizedGroups = (
- 1C81F26C2EE416EE000739EA /* CaseraQLPreview */,
+ 1C81F26C2EE416EE000739EA /* HoneyDueQLPreview */,
);
- name = CaseraQLPreview;
+ name = HoneyDueQLPreview;
packageProductDependencies = (
);
- productName = CaseraQLPreview;
- productReference = 1C81F2692EE416EE000739EA /* CaseraQLPreview.appex */;
+ productName = HoneyDueQLPreview;
+ productReference = 1C81F2692EE416EE000739EA /* HoneyDueQLPreview.appex */;
productType = "com.apple.product-type.app-extension";
};
- 1C81F27F2EE41BB6000739EA /* CaseraQLThumbnail */ = {
+ 1C81F27F2EE41BB6000739EA /* HoneyDueQLThumbnail */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 1C81F28A2EE41BB6000739EA /* Build configuration list for PBXNativeTarget "CaseraQLThumbnail" */;
+ buildConfigurationList = 1C81F28A2EE41BB6000739EA /* Build configuration list for PBXNativeTarget "HoneyDueQLThumbnail" */;
buildPhases = (
1C81F27C2EE41BB6000739EA /* Sources */,
1C81F27D2EE41BB6000739EA /* Frameworks */,
@@ -401,18 +343,18 @@
dependencies = (
);
fileSystemSynchronizedGroups = (
- 1C81F2832EE41BB6000739EA /* CaseraQLThumbnail */,
+ 1C81F2832EE41BB6000739EA /* HoneyDueQLThumbnail */,
);
- name = CaseraQLThumbnail;
+ name = HoneyDueQLThumbnail;
packageProductDependencies = (
);
- productName = CaseraQLThumbnail;
- productReference = 1C81F2802EE41BB6000739EA /* CaseraQLThumbnail.appex */;
+ productName = HoneyDueQLThumbnail;
+ productReference = 1C81F2802EE41BB6000739EA /* HoneyDueQLThumbnail.appex */;
productType = "com.apple.product-type.app-extension";
};
- 1CBF1BEC2ECD9768001BF56C /* CaseraUITests */ = {
+ 1CBF1BEC2ECD9768001BF56C /* HoneyDueUITests */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 1CBF1BF52ECD9768001BF56C /* Build configuration list for PBXNativeTarget "CaseraUITests" */;
+ buildConfigurationList = 1CBF1BF52ECD9768001BF56C /* Build configuration list for PBXNativeTarget "HoneyDueUITests" */;
buildPhases = (
1CBF1BE92ECD9768001BF56C /* Sources */,
1CBF1BEA2ECD9768001BF56C /* Frameworks */,
@@ -424,18 +366,18 @@
1CBF1BF42ECD9768001BF56C /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
- 1CBF1BEE2ECD9768001BF56C /* CaseraUITests */,
+ 1CBF1BEE2ECD9768001BF56C /* HoneyDueUITests */,
);
- name = CaseraUITests;
+ name = HoneyDueUITests;
packageProductDependencies = (
);
- productName = CaseraUITests;
- productReference = 1CBF1BED2ECD9768001BF56C /* CaseraUITests.xctest */;
+ productName = HoneyDueUITests;
+ productReference = 1CBF1BED2ECD9768001BF56C /* HoneyDueUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
- D4ADB376A7A4CFB73469E173 /* Casera */ = {
+ D4ADB376A7A4CFB73469E173 /* HoneyDue */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 293B4412461C9407D900D07D /* Build configuration list for PBXNativeTarget "Casera" */;
+ buildConfigurationList = 293B4412461C9407D900D07D /* Build configuration list for PBXNativeTarget "HoneyDue" */;
buildPhases = (
F4215B70FD6989F87745D84C /* Compile Kotlin Framework */,
3B506EC7E4A1032BA1E06A37 /* Sources */,
@@ -453,12 +395,12 @@
fileSystemSynchronizedGroups = (
E822E6B231E7783DE992578C /* iosApp */,
);
- name = Casera;
+ name = HoneyDue;
packageProductDependencies = (
1C81F38F2EE69AF1000739EA /* PostHog */,
);
productName = iosApp;
- productReference = 96A3DDC05E14B3F83E56282F /* Casera.app */;
+ productReference = 96A3DDC05E14B3F83E56282F /* HoneyDue.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -510,12 +452,12 @@
projectDirPath = "";
projectRoot = "";
targets = (
- D4ADB376A7A4CFB73469E173 /* Casera */,
- 1C07893C2EBC218B00392B46 /* CaseraExtension */,
- 1C685CD12EC5539000A9669B /* CaseraTests */,
- 1CBF1BEC2ECD9768001BF56C /* CaseraUITests */,
- 1C81F2682EE416EE000739EA /* CaseraQLPreview */,
- 1C81F27F2EE41BB6000739EA /* CaseraQLThumbnail */,
+ D4ADB376A7A4CFB73469E173 /* HoneyDue */,
+ 1C07893C2EBC218B00392B46 /* HoneyDueExtension */,
+ 1C685CD12EC5539000A9669B /* HoneyDueTests */,
+ 1CBF1BEC2ECD9768001BF56C /* HoneyDueUITests */,
+ 1C81F2682EE416EE000739EA /* HoneyDueQLPreview */,
+ 1C81F27F2EE41BB6000739EA /* HoneyDueQLThumbnail */,
);
};
/* End PBXProject section */
@@ -635,27 +577,27 @@
/* Begin PBXTargetDependency section */
1C0789522EBC218D00392B46 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 1C07893C2EBC218B00392B46 /* CaseraExtension */;
+ target = 1C07893C2EBC218B00392B46 /* HoneyDueExtension */;
targetProxy = 1C0789512EBC218D00392B46 /* PBXContainerItemProxy */;
};
1C81F2762EE416EF000739EA /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 1C81F2682EE416EE000739EA /* CaseraQLPreview */;
+ target = 1C81F2682EE416EE000739EA /* HoneyDueQLPreview */;
targetProxy = 1C81F2752EE416EF000739EA /* PBXContainerItemProxy */;
};
1C81F2882EE41BB6000739EA /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 1C81F27F2EE41BB6000739EA /* CaseraQLThumbnail */;
+ target = 1C81F27F2EE41BB6000739EA /* HoneyDueQLThumbnail */;
targetProxy = 1C81F2872EE41BB6000739EA /* PBXContainerItemProxy */;
};
1CBF16012ECD8AE4001BF56C /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = D4ADB376A7A4CFB73469E173 /* Casera */;
+ target = D4ADB376A7A4CFB73469E173 /* HoneyDue */;
targetProxy = 1CBF16002ECD8AE4001BF56C /* PBXContainerItemProxy */;
};
1CBF1BF42ECD9768001BF56C /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = D4ADB376A7A4CFB73469E173 /* Casera */;
+ target = D4ADB376A7A4CFB73469E173 /* HoneyDue */;
targetProxy = 1CBF1BF32ECD9768001BF56C /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
@@ -677,8 +619,8 @@
INFOPLIST_FILE = iosApp/Info.plist;
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
INFOPLIST_KEY_LSSupportsOpeningDocumentsInPlace = NO;
- INFOPLIST_KEY_NSCameraUsageDescription = "Casera needs access to your camera to take photos of completed tasks";
- INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Casera needs access to your photo library to select photos of completed tasks";
+ INFOPLIST_KEY_NSCameraUsageDescription = "honeyDue needs access to your camera to take photos of completed tasks";
+ INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "honeyDue needs access to your photo library to select photos of completed tasks";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -688,7 +630,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = com.tt.casera.CaseraDev;
+ PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -700,15 +642,15 @@
buildSettings = {
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
- CODE_SIGN_ENTITLEMENTS = CaseraExtension.entitlements;
+ CODE_SIGN_ENTITLEMENTS = HoneyDueExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = V3PF3M6B6U;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = Casera/Info.plist;
- INFOPLIST_KEY_CFBundleDisplayName = Casera;
+ INFOPLIST_FILE = HoneyDue/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = honeyDue;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 26.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -718,7 +660,7 @@
);
MARKETING_VERSION = 1.0;
OTHER_SWIFT_FLAGS = "-DWIDGET_EXTENSION";
- PRODUCT_BUNDLE_IDENTIFIER = com.tt.casera.CaseraDev.CaseraDev;
+ PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueDev;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
@@ -735,15 +677,15 @@
buildSettings = {
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
- CODE_SIGN_ENTITLEMENTS = CaseraExtension.entitlements;
+ CODE_SIGN_ENTITLEMENTS = HoneyDueExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = V3PF3M6B6U;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = Casera/Info.plist;
- INFOPLIST_KEY_CFBundleDisplayName = Casera;
+ INFOPLIST_FILE = HoneyDue/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = honeyDue;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 26.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -753,7 +695,7 @@
);
MARKETING_VERSION = 1.0;
OTHER_SWIFT_FLAGS = "-DWIDGET_EXTENSION";
- PRODUCT_BUNDLE_IDENTIFIER = com.tt.casera.CaseraDev.CaseraDev;
+ PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueDev;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
@@ -777,7 +719,7 @@
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 26.1;
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.CaseraTests";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.HoneyDueTests";
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
@@ -786,8 +728,8 @@
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Casera.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Casera";
- TEST_TARGET_NAME = Casera;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HoneyDue.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/HoneyDue";
+ TEST_TARGET_NAME = HoneyDue;
};
name = Debug;
};
@@ -803,7 +745,7 @@
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 26.1;
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.CaseraTests";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.HoneyDueTests";
PRODUCT_NAME = "$(TARGET_NAME)";
STRING_CATALOG_GENERATE_SYMBOLS = NO;
SWIFT_APPROACHABLE_CONCURRENCY = YES;
@@ -812,8 +754,8 @@
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Casera.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Casera";
- TEST_TARGET_NAME = Casera;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HoneyDue.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/HoneyDue";
+ TEST_TARGET_NAME = HoneyDue;
};
name = Release;
};
@@ -826,8 +768,8 @@
DEVELOPMENT_TEAM = V3PF3M6B6U;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = CaseraQLPreview/Info.plist;
- INFOPLIST_KEY_CFBundleDisplayName = CaseraQLPreview;
+ INFOPLIST_FILE = HoneyDueQLPreview/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = HoneyDueQLPreview;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 26.1;
LD_RUNPATH_SEARCH_PATHS = (
@@ -836,7 +778,7 @@
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.tt.casera.CaseraDev.CaseraQLPreview;
+ PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueQLPreview;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
@@ -857,8 +799,8 @@
DEVELOPMENT_TEAM = V3PF3M6B6U;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = CaseraQLPreview/Info.plist;
- INFOPLIST_KEY_CFBundleDisplayName = CaseraQLPreview;
+ INFOPLIST_FILE = HoneyDueQLPreview/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = HoneyDueQLPreview;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 26.1;
LD_RUNPATH_SEARCH_PATHS = (
@@ -867,7 +809,7 @@
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.tt.casera.CaseraDev.CaseraQLPreview;
+ PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueQLPreview;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
@@ -888,8 +830,8 @@
DEVELOPMENT_TEAM = V3PF3M6B6U;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = CaseraQLThumbnail/Info.plist;
- INFOPLIST_KEY_CFBundleDisplayName = CaseraQLThumbnail;
+ INFOPLIST_FILE = HoneyDueQLThumbnail/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = HoneyDueQLThumbnail;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 26.1;
LD_RUNPATH_SEARCH_PATHS = (
@@ -898,7 +840,7 @@
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.tt.casera.CaseraDev.CaseraQLThumbnail;
+ PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueQLThumbnail;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
@@ -919,8 +861,8 @@
DEVELOPMENT_TEAM = V3PF3M6B6U;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = CaseraQLThumbnail/Info.plist;
- INFOPLIST_KEY_CFBundleDisplayName = CaseraQLThumbnail;
+ INFOPLIST_FILE = HoneyDueQLThumbnail/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = HoneyDueQLThumbnail;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 26.1;
LD_RUNPATH_SEARCH_PATHS = (
@@ -929,7 +871,7 @@
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = com.tt.casera.CaseraDev.CaseraQLThumbnail;
+ PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev.HoneyDueQLThumbnail;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
STRING_CATALOG_GENERATE_SYMBOLS = YES;
@@ -952,7 +894,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 26.1;
MACOSX_DEPLOYMENT_TARGET = 26.1;
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.CaseraUITests";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.HoneyDueUITests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = auto;
STRING_CATALOG_GENERATE_SYMBOLS = NO;
@@ -962,7 +904,7 @@
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2,7";
- TEST_TARGET_NAME = Casera;
+ TEST_TARGET_NAME = HoneyDue;
XROS_DEPLOYMENT_TARGET = 26.1;
};
name = Debug;
@@ -978,7 +920,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 26.1;
MACOSX_DEPLOYMENT_TARGET = 26.1;
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.CaseraUITests";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.t-t.HoneyDueUITests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = auto;
STRING_CATALOG_GENERATE_SYMBOLS = NO;
@@ -988,7 +930,7 @@
SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2,7";
- TEST_TARGET_NAME = Casera;
+ TEST_TARGET_NAME = HoneyDue;
XROS_DEPLOYMENT_TARGET = 26.1;
};
name = Release;
@@ -1045,7 +987,7 @@
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- PRODUCT_NAME = Casera;
+ PRODUCT_NAME = honeyDue;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
VALIDATE_PRODUCT = YES;
@@ -1111,7 +1053,7 @@
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
- PRODUCT_NAME = Casera;
+ PRODUCT_NAME = honeyDue;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -1134,8 +1076,8 @@
INFOPLIST_FILE = iosApp/Info.plist;
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
INFOPLIST_KEY_LSSupportsOpeningDocumentsInPlace = NO;
- INFOPLIST_KEY_NSCameraUsageDescription = "Casera needs access to your camera to take photos of completed tasks";
- INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Casera needs access to your photo library to select photos of completed tasks";
+ INFOPLIST_KEY_NSCameraUsageDescription = "honeyDue needs access to your camera to take photos of completed tasks";
+ INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "honeyDue needs access to your photo library to select photos of completed tasks";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -1145,7 +1087,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = com.tt.casera.CaseraDev;
+ PRODUCT_BUNDLE_IDENTIFIER = com.tt.honeyDue.HoneyDueDev;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -1155,7 +1097,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 1C0789542EBC218D00392B46 /* Build configuration list for PBXNativeTarget "CaseraExtension" */ = {
+ 1C0789542EBC218D00392B46 /* Build configuration list for PBXNativeTarget "HoneyDueExtension" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1C0789552EBC218D00392B46 /* Debug */,
@@ -1164,7 +1106,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 1C685CD82EC5539000A9669B /* Build configuration list for PBXNativeTarget "CaseraTests" */ = {
+ 1C685CD82EC5539000A9669B /* Build configuration list for PBXNativeTarget "HoneyDueTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1C685CD92EC5539000A9669B /* Debug */,
@@ -1173,7 +1115,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 1C81F2782EE416EF000739EA /* Build configuration list for PBXNativeTarget "CaseraQLPreview" */ = {
+ 1C81F2782EE416EF000739EA /* Build configuration list for PBXNativeTarget "HoneyDueQLPreview" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1C81F2792EE416EF000739EA /* Debug */,
@@ -1182,7 +1124,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 1C81F28A2EE41BB6000739EA /* Build configuration list for PBXNativeTarget "CaseraQLThumbnail" */ = {
+ 1C81F28A2EE41BB6000739EA /* Build configuration list for PBXNativeTarget "HoneyDueQLThumbnail" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1C81F28B2EE41BB6000739EA /* Debug */,
@@ -1191,7 +1133,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 1CBF1BF52ECD9768001BF56C /* Build configuration list for PBXNativeTarget "CaseraUITests" */ = {
+ 1CBF1BF52ECD9768001BF56C /* Build configuration list for PBXNativeTarget "HoneyDueUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1CBF1BF62ECD9768001BF56C /* Debug */,
@@ -1200,7 +1142,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 293B4412461C9407D900D07D /* Build configuration list for PBXNativeTarget "Casera" */ = {
+ 293B4412461C9407D900D07D /* Build configuration list for PBXNativeTarget "HoneyDue" */ = {
isa = XCConfigurationList;
buildConfigurations = (
E767E942685C7832D51FF978 /* Debug */,
diff --git a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/Casera.xcscheme b/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/Casera.xcscheme
index dbf5880..fae3c91 100644
--- a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/Casera.xcscheme
+++ b/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/Casera.xcscheme
@@ -1,7 +1,7 @@
+ version = "1.3">
@@ -34,8 +34,8 @@
@@ -56,8 +56,8 @@
@@ -72,8 +72,8 @@
diff --git a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraExtension.xcscheme b/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraExtension.xcscheme
index ccbc4fc..30f7a7a 100644
--- a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraExtension.xcscheme
+++ b/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraExtension.xcscheme
@@ -17,8 +17,8 @@
@@ -31,8 +31,8 @@
@@ -51,8 +51,8 @@
@@ -75,8 +75,8 @@
@@ -111,8 +111,8 @@
diff --git a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraUITests.xcscheme b/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraUITests.xcscheme
index bb62094..d9066bd 100644
--- a/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraUITests.xcscheme
+++ b/iosApp/iosApp.xcodeproj/xcshareddata/xcschemes/CaseraUITests.xcscheme
@@ -24,8 +24,8 @@
@@ -72,8 +72,8 @@
@@ -88,8 +88,8 @@
diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/icon.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/icon.png
index a5215d3..02d229d 100644
Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/icon.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/icon.png differ
diff --git a/iosApp/iosApp/Background/BackgroundTaskManager.swift b/iosApp/iosApp/Background/BackgroundTaskManager.swift
index 6146b77..4814c03 100644
--- a/iosApp/iosApp/Background/BackgroundTaskManager.swift
+++ b/iosApp/iosApp/Background/BackgroundTaskManager.swift
@@ -16,7 +16,7 @@ final class BackgroundTaskManager {
static let shared = BackgroundTaskManager()
/// Background task identifier - must match Info.plist BGTaskSchedulerPermittedIdentifiers
- static let taskIdentifier = "com.tt.casera.refresh"
+ static let taskIdentifier = "com.tt.honeyDue.refresh"
/// Time window for overnight refresh (12:00 AM - 4:00 AM)
private let refreshWindowStartHour = 0 // 12:00 AM
@@ -187,7 +187,7 @@ final class BackgroundTaskManager {
/// Force a background refresh for testing (only works in debug builds with Xcode)
/// Usage: In Xcode debugger console:
- /// e -l objc -- (void)[[BGTaskScheduler sharedScheduler] _simulateLaunchForTaskWithIdentifier:@"com.tt.casera.refresh"]
+ /// e -l objc -- (void)[[BGTaskScheduler sharedScheduler] _simulateLaunchForTaskWithIdentifier:@"com.tt.honeyDue.refresh"]
func debugInfo() -> String {
return """
Background Task Debug Info:
diff --git a/iosApp/iosApp/Contractor/ContractorSharingManager.swift b/iosApp/iosApp/Contractor/ContractorSharingManager.swift
index ab01410..56b81ea 100644
--- a/iosApp/iosApp/Contractor/ContractorSharingManager.swift
+++ b/iosApp/iosApp/Contractor/ContractorSharingManager.swift
@@ -1,7 +1,7 @@
import Foundation
import ComposeApp
-/// Manages contractor export and import via .casera files.
+/// Manages contractor export and import via .honeydue files.
/// Singleton that handles file creation for sharing and parsing for import.
@MainActor
class ContractorSharingManager: ObservableObject {
@@ -25,14 +25,14 @@ class ContractorSharingManager: ObservableObject {
// MARK: - Export
- /// Creates a shareable .casera file for a contractor.
+ /// Creates a shareable .honeydue file for a contractor.
/// - Parameter contractor: The contractor to export
/// - Returns: URL to the temporary file, or nil if creation failed
func createShareableFile(contractor: Contractor) -> URL? {
// Get current username for export metadata
let currentUsername = DataManagerObservable.shared.currentUser?.username ?? "Unknown"
- let jsonContent = CaseraShareCodec.shared.encodeContractorPackage(
+ let jsonContent = HoneyDueShareCodec.shared.encodeContractorPackage(
contractor: contractor,
exportedBy: currentUsername
)
@@ -42,7 +42,7 @@ class ContractorSharingManager: ObservableObject {
return nil
}
- let fileName = CaseraShareCodec.shared.safeShareFileName(displayName: contractor.name)
+ let fileName = HoneyDueShareCodec.shared.safeShareFileName(displayName: contractor.name)
let tempURL = FileManager.default.temporaryDirectory.appendingPathComponent(fileName)
do {
@@ -51,16 +51,16 @@ class ContractorSharingManager: ObservableObject {
AnalyticsManager.shared.track(.contractorShared)
return tempURL
} catch {
- print("ContractorSharingManager: Failed to write .casera file: \(error)")
+ print("ContractorSharingManager: Failed to write .honeydue file: \(error)")
return nil
}
}
// MARK: - Import
- /// Imports a contractor from a .casera file URL.
+ /// Imports a contractor from a .honeydue file URL.
/// - Parameters:
- /// - url: The URL to the .casera file
+ /// - url: The URL to the .honeydue file
/// - completion: Called with true on success, false on failure
func importContractor(from url: URL, completion: @escaping (Bool) -> Void) {
isImporting = true
@@ -136,7 +136,7 @@ class ContractorSharingManager: ObservableObject {
// MARK: - Swift Codable Structure
-/// Swift-native Codable structure for .casera file format.
+/// Swift-native Codable structure for .honeydue file format.
/// This mirrors the Kotlin SharedContractor model for JSON serialization.
struct SharedContractorExport: Codable {
let version: Int
diff --git a/iosApp/iosApp/Design/DesignSystem.swift b/iosApp/iosApp/Design/DesignSystem.swift
index fad0550..2d8e7aa 100644
--- a/iosApp/iosApp/Design/DesignSystem.swift
+++ b/iosApp/iosApp/Design/DesignSystem.swift
@@ -1,7 +1,7 @@
import SwiftUI
// MARK: - Design System
-// Modern, sleek design system for Casera with Light and Dark mode support
+// Modern, sleek design system for honeyDue with Light and Dark mode support
// MARK: - Colors
@@ -11,7 +11,7 @@ extension Color {
/// Shared App Group defaults for reading the active theme.
/// Thread-safe: UserDefaults is safe to read from any thread/actor.
private static let _themeDefaults: UserDefaults = {
- UserDefaults(suiteName: "group.com.tt.casera.CaseraDev") ?? .standard
+ UserDefaults(suiteName: "group.com.tt.honeyDue.HoneyDueDev") ?? .standard
}()
private static func themed(_ name: String) -> Color {
diff --git a/iosApp/iosApp/Helpers/L10n.swift b/iosApp/iosApp/Helpers/L10n.swift
index 66c62d5..601d097 100644
--- a/iosApp/iosApp/Helpers/L10n.swift
+++ b/iosApp/iosApp/Helpers/L10n.swift
@@ -48,7 +48,7 @@ enum L10n {
static var alreadyHaveAccount: String { String(localized: "auth_already_have_account") }
static var signIn: String { String(localized: "auth_sign_in") }
static var passwordsDontMatch: String { String(localized: "auth_passwords_dont_match") }
- static var joinCasera: String { String(localized: "auth_join_casera") }
+ static var joinhoneyDue: String { String(localized: "auth_join_honeydue") }
static var startManaging: String { String(localized: "auth_start_managing") }
static var accountInfo: String { String(localized: "auth_account_info") }
static var security: String { String(localized: "auth_security") }
diff --git a/iosApp/iosApp/Helpers/ThemeManager.swift b/iosApp/iosApp/Helpers/ThemeManager.swift
index daa6697..96c8959 100644
--- a/iosApp/iosApp/Helpers/ThemeManager.swift
+++ b/iosApp/iosApp/Helpers/ThemeManager.swift
@@ -60,7 +60,7 @@ enum ThemeID: String, CaseIterable, Codable {
}
// MARK: - Shared App Group UserDefaults
-private let appGroupID = "group.com.tt.casera.CaseraDev"
+private let appGroupID = "group.com.tt.honeyDue.HoneyDueDev"
private let sharedDefaults: UserDefaults = {
guard let defaults = UserDefaults(suiteName: appGroupID) else {
#if DEBUG
diff --git a/iosApp/iosApp/Helpers/WidgetDataManager.swift b/iosApp/iosApp/Helpers/WidgetDataManager.swift
index 0535ca5..b238b32 100644
--- a/iosApp/iosApp/Helpers/WidgetDataManager.swift
+++ b/iosApp/iosApp/Helpers/WidgetDataManager.swift
@@ -20,7 +20,7 @@ final class WidgetDataManager {
static let completedColumn = "completed_tasks"
static let cancelledColumn = "cancelled_tasks"
- private let appGroupIdentifier = "group.com.tt.casera.CaseraDev"
+ private let appGroupIdentifier = "group.com.tt.honeyDue.HoneyDueDev"
private let tasksFileName = "widget_tasks.json"
private let actionsFileName = "widget_pending_actions.json"
private let pendingTasksFileName = "widget_pending_tasks.json"
@@ -31,7 +31,7 @@ final class WidgetDataManager {
private let isPremiumKey = "widget_is_premium"
/// Serial queue for thread-safe file I/O operations
- private let fileQueue = DispatchQueue(label: "com.casera.widget.fileio")
+ private let fileQueue = DispatchQueue(label: "com.honeydue.widget.fileio")
private var sharedDefaults: UserDefaults? {
UserDefaults(suiteName: appGroupIdentifier)
@@ -283,7 +283,7 @@ final class WidgetDataManager {
// Reload widget to reflect the change
DispatchQueue.main.async {
- WidgetCenter.shared.reloadTimelines(ofKind: "Casera")
+ WidgetCenter.shared.reloadTimelines(ofKind: "honeyDue")
}
}
}
diff --git a/iosApp/iosApp/Info.plist b/iosApp/iosApp/Info.plist
index 916c3f7..9f89ab3 100644
--- a/iosApp/iosApp/Info.plist
+++ b/iosApp/iosApp/Info.plist
@@ -4,26 +4,26 @@
BGTaskSchedulerPermittedIdentifiers
- com.tt.casera.refresh
+ com.tt.honeyDue.refresh
- CASERA_IAP_ANNUAL_PRODUCT_ID
- com.example.casera.pro.annual
- CASERA_IAP_MONTHLY_PRODUCT_ID
- com.example.casera.pro.monthly
- CASERA_GOOGLE_WEB_CLIENT_ID
+ HONEYDUE_IAP_ANNUAL_PRODUCT_ID
+ com.tt.honeyDue.pro.annual
+ HONEYDUE_IAP_MONTHLY_PRODUCT_ID
+ com.tt.honeyDue.pro.monthly
+ HONEYDUE_GOOGLE_WEB_CLIENT_ID
CFBundleDocumentTypes
CFBundleTypeName
- Casera Contractor
+ honeyDue Contractor
CFBundleTypeRole
Editor
LSHandlerRank
Owner
LSItemContentTypes
- com.casera.contractor
+ com.honeydue.contractor
@@ -31,10 +31,10 @@
CFBundleURLName
- com.casera.app
+ com.honeydue.app
CFBundleURLSchemes
- casera
+ honeydue
@@ -57,19 +57,19 @@
public.content
UTTypeDescription
- Casera Contractor
+ honeyDue Contractor
UTTypeIconFiles
UTTypeIdentifier
- com.casera.contractor
+ com.honeydue.contractor
UTTypeTagSpecification
public.filename-extension
- casera
+ honeydue
public.mime-type
- application/x-casera
+ application/x-honeydue
diff --git a/iosApp/iosApp/Localizable.xcstrings b/iosApp/iosApp/Localizable.xcstrings
index 551b4f7..81c003a 100644
--- a/iosApp/iosApp/Localizable.xcstrings
+++ b/iosApp/iosApp/Localizable.xcstrings
@@ -172,61 +172,61 @@
"de" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"ko" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"nl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"pt" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"zh" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
}
}
@@ -1106,67 +1106,67 @@
}
}
},
- "auth_join_casera" : {
+ "auth_join_honeydue" : {
"extractionState" : "manual",
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Bei Casera anmelden"
+ "value" : "Bei honeyDue anmelden"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Join Casera"
+ "value" : "Join honeyDue"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Únete a Casera"
+ "value" : "Únete a honeyDue"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Rejoindre Casera"
+ "value" : "Rejoindre honeyDue"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Unisciti a Casera"
+ "value" : "Unisciti a honeyDue"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Caseraに参加"
+ "value" : "honeyDueに参加"
}
},
"ko" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera 가입"
+ "value" : "honeyDue 가입"
}
},
"nl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Word lid van Casera"
+ "value" : "Word lid van honeyDue"
}
},
"pt" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Junte-se à Casera"
+ "value" : "Junte-se à honeyDue"
}
},
"zh" : {
"stringUnit" : {
"state" : "translated",
- "value" : "加入Casera"
+ "value" : "加入honeyDue"
}
}
}
@@ -1437,61 +1437,61 @@
"de" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"ko" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"nl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"pt" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"zh" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
}
}
@@ -3090,25 +3090,25 @@
"it" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Accedi per continuare con Casera"
+ "value" : "Accedi per continuare con honeyDue"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Caseraを続けるにはログインしてください"
+ "value" : "honeyDueを続けるにはログインしてください"
}
},
"ko" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera를 계속 사용하려면 로그인하세요"
+ "value" : "honeyDue를 계속 사용하려면 로그인하세요"
}
},
"nl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Log in om door te gaan met Casera"
+ "value" : "Log in om door te gaan met honeyDue"
}
},
"pt" : {
@@ -3120,7 +3120,7 @@
"zh" : {
"stringUnit" : {
"state" : "translated",
- "value" : "登录以继续使用Casera"
+ "value" : "登录以继续使用honeyDue"
}
}
}
@@ -4258,11 +4258,11 @@
"comment" : "A label displayed above the caption of an image in the photo viewer.",
"isCommentAutoGenerated" : true
},
- "Casera" : {
+ "honeyDue" : {
"comment" : "The name of the app.",
"isCommentAutoGenerated" : true
},
- "CASERA PRO" : {
+ "HONEYDUE PRO" : {
},
"Change" : {
@@ -17411,7 +17411,7 @@
"Google Sign-In Error" : {
},
- "Help improve Casera by sharing anonymous usage data" : {
+ "Help improve honeyDue by sharing anonymous usage data" : {
},
"Here are tasks recommended for your area.\nPick the ones you'd like to track!" : {
@@ -17422,11 +17422,11 @@
"isCommentAutoGenerated" : true
},
"I have a code to join" : {
- "comment" : "A button label that instructs the user to join an existing Casera account.",
+ "comment" : "A button label that instructs the user to join an existing honeyDue account.",
"isCommentAutoGenerated" : true
},
"I'm Ready!" : {
- "comment" : "A button label that indicates the user is ready to use Casera.",
+ "comment" : "A button label that indicates the user is ready to use honeyDue.",
"isCommentAutoGenerated" : true
},
"Image %lld of %lld" : {
@@ -17461,7 +17461,7 @@
"comment" : "A button label that instructs the user to join an existing residence.",
"isCommentAutoGenerated" : true
},
- "Join Casera" : {
+ "Join honeyDue" : {
"comment" : "A title for the registration screen.",
"isCommentAutoGenerated" : true
},
@@ -17499,11 +17499,11 @@
"Logging in..." : {
},
- "Manage at casera.app" : {
+ "Manage at honeydue.app" : {
},
- "Manage your subscription at casera.app" : {
- "comment" : "A text instruction that directs them to manage their subscription on casera.app.",
+ "Manage your subscription at honeydue.app" : {
+ "comment" : "A text instruction that directs them to manage their subscription on honeydue.app.",
"isCommentAutoGenerated" : true
},
"Manage your subscription on your Android device" : {
@@ -17513,7 +17513,7 @@
"comment" : "A button label that says \"Mark Task In Progress\".",
"isCommentAutoGenerated" : true
},
- "MyCrib Icon Animations" : {
+ "HoneyDue Icon Animations" : {
"comment" : "The title of the playground interface.",
"isCommentAutoGenerated" : true
},
@@ -17568,8 +17568,8 @@
"comment" : "A button that dismisses the success dialog.",
"isCommentAutoGenerated" : true
},
- "Open casera.app" : {
- "comment" : "A button label that opens the casera.app settings page.",
+ "Open honeydue.app" : {
+ "comment" : "A button label that opens the honeydue.app settings page.",
"isCommentAutoGenerated" : true
},
"or" : {
@@ -17737,61 +17737,61 @@
"de" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"it" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"ko" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"nl" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"pt" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
},
"zh" : {
"stringUnit" : {
"state" : "translated",
- "value" : "Casera"
+ "value" : "honeyDue"
}
}
}
@@ -24837,7 +24837,7 @@
"comment" : "A label displayed above the picker for selecting the notification time.",
"isCommentAutoGenerated" : true
},
- "Send a .casera file via Messages, Email, or AirDrop. They just tap to join." : {
+ "Send a .honeydue file via Messages, Email, or AirDrop. They just tap to join." : {
},
"Send Invite Link" : {
@@ -30179,7 +30179,7 @@
"comment" : "A footer label within the \"Forgot Password?\" view, instructing the user to check their email for a verification code.",
"isCommentAutoGenerated" : true
},
- "Welcome to Casera" : {
+ "Welcome to honeyDue" : {
"comment" : "The title of the welcome screen in the preview.",
"isCommentAutoGenerated" : true
},
diff --git a/iosApp/iosApp/Login/GoogleSignInManager.swift b/iosApp/iosApp/Login/GoogleSignInManager.swift
index e0eee2b..2cdb348 100644
--- a/iosApp/iosApp/Login/GoogleSignInManager.swift
+++ b/iosApp/iosApp/Login/GoogleSignInManager.swift
@@ -21,7 +21,7 @@ final class GoogleSignInManager: NSObject, ObservableObject, ASWebAuthentication
private var codeVerifier: String?
private var oauthState: String?
- private let redirectScheme = "casera"
+ private let redirectScheme = "honeydue"
private var redirectURI: String { "\(redirectScheme):/oauth2callback" }
// MARK: - Public
@@ -247,7 +247,7 @@ final class GoogleSignInManager: NSObject, ObservableObject, ASWebAuthentication
}
private func resolvedClientID() -> String? {
- if let fromInfo = Bundle.main.object(forInfoDictionaryKey: "CASERA_GOOGLE_WEB_CLIENT_ID") as? String {
+ if let fromInfo = Bundle.main.object(forInfoDictionaryKey: "HONEYDUE_GOOGLE_WEB_CLIENT_ID") as? String {
let trimmed = fromInfo.trimmingCharacters(in: .whitespacesAndNewlines)
if !trimmed.isEmpty {
return trimmed
diff --git a/iosApp/iosApp/MIGRATION_SUMMARY.md b/iosApp/iosApp/MIGRATION_SUMMARY.md
index c94c385..3ba0afe 100644
--- a/iosApp/iosApp/MIGRATION_SUMMARY.md
+++ b/iosApp/iosApp/MIGRATION_SUMMARY.md
@@ -1,7 +1,7 @@
# iOS Shared Utilities Migration Summary
## Overview
-Successfully migrated the iOS codebase at `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/` to use shared utilities from `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/Shared/`.
+Successfully migrated the iOS codebase at `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/` to use shared utilities from `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/Shared/`.
## Migration Date
December 17, 2025
diff --git a/iosApp/iosApp/Onboarding/OnboardingSubscriptionView.swift b/iosApp/iosApp/Onboarding/OnboardingSubscriptionView.swift
index a5af0a4..d351397 100644
--- a/iosApp/iosApp/Onboarding/OnboardingSubscriptionView.swift
+++ b/iosApp/iosApp/Onboarding/OnboardingSubscriptionView.swift
@@ -139,7 +139,7 @@ struct OnboardingSubscriptionContent: View {
HStack(spacing: 6) {
Image(systemName: "sparkles")
.foregroundColor(Color.appAccent)
- Text("CASERA PRO")
+ Text("HONEYDUE PRO")
.font(.system(size: 14, weight: .black))
.foregroundColor(Color.appAccent)
Image(systemName: "sparkles")
diff --git a/iosApp/iosApp/Onboarding/OnboardingValuePropsView.swift b/iosApp/iosApp/Onboarding/OnboardingValuePropsView.swift
index 63f0afc..c04af2f 100644
--- a/iosApp/iosApp/Onboarding/OnboardingValuePropsView.swift
+++ b/iosApp/iosApp/Onboarding/OnboardingValuePropsView.swift
@@ -1,6 +1,6 @@
import SwiftUI
-/// Screen 2: Features showcase - Wow the user with what Casera can do
+/// Screen 2: Features showcase - Wow the user with what honeyDue can do
struct OnboardingValuePropsContent: View {
var onContinue: () -> Void
diff --git a/iosApp/iosApp/Onboarding/OnboardingWelcomeView.swift b/iosApp/iosApp/Onboarding/OnboardingWelcomeView.swift
index 28c75d6..470b455 100644
--- a/iosApp/iosApp/Onboarding/OnboardingWelcomeView.swift
+++ b/iosApp/iosApp/Onboarding/OnboardingWelcomeView.swift
@@ -95,7 +95,7 @@ struct OnboardingWelcomeView: View {
// Welcome text
VStack(spacing: 10) {
- Text("Welcome to Casera")
+ Text("Welcome to honeyDue")
.font(.system(size: 32, weight: .bold, design: .rounded))
.foregroundColor(Color.appTextPrimary)
.accessibilityIdentifier(AccessibilityIdentifiers.Onboarding.welcomeTitle)
diff --git a/iosApp/iosApp/Profile/ProfileTabView.swift b/iosApp/iosApp/Profile/ProfileTabView.swift
index 719ce13..fa97fca 100644
--- a/iosApp/iosApp/Profile/ProfileTabView.swift
+++ b/iosApp/iosApp/Profile/ProfileTabView.swift
@@ -130,11 +130,11 @@ struct ProfileTabView: View {
if subscription.subscriptionSource == "stripe" {
// Web/Stripe subscription - direct to web portal
Button(action: {
- if let url = URL(string: "https://casera.app/settings") {
+ if let url = URL(string: "https://honeyDue.treytartt.com/settings") {
UIApplication.shared.open(url)
}
}) {
- Label("Manage at casera.app", systemImage: "globe")
+ Label("Manage at honeyDue.treytartt.com", systemImage: "globe")
.foregroundColor(Color.appTextPrimary)
}
} else if subscription.subscriptionSource == "android" {
@@ -230,7 +230,7 @@ struct ProfileTabView: View {
Text("Share Analytics")
.font(.body)
.foregroundStyle(Color.appTextPrimary)
- Text("Help improve Casera by sharing anonymous usage data")
+ Text("Help improve honeyDue by sharing anonymous usage data")
.font(.caption)
.foregroundStyle(Color.appTextSecondary)
}
@@ -325,8 +325,8 @@ struct ProfileTabView: View {
}
private func sendSupportEmail() {
- let email = "caseraSupport@treymail.com"
- let subject = "Casera Support Request"
+ let email = "honeydue@treymail.com"
+ let subject = "honeyDue Support Request"
let urlString = "mailto:\(email)?subject=\(subject.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ?? subject)"
if let url = URL(string: urlString) {
diff --git a/iosApp/iosApp/PushNotifications/PushNotificationManager.swift b/iosApp/iosApp/PushNotifications/PushNotificationManager.swift
index 4c3507c..6a2191c 100644
--- a/iosApp/iosApp/PushNotifications/PushNotificationManager.swift
+++ b/iosApp/iosApp/PushNotifications/PushNotificationManager.swift
@@ -15,8 +15,8 @@ class PushNotificationManager: NSObject, ObservableObject {
@Published var pendingNavigationResidenceId: Int?
@Published var pendingNavigationDocumentId: Int?
- private let registeredTokenKey = "com.casera.registeredDeviceToken"
- private let registeredUserIdKey = "com.casera.registeredUserId"
+ private let registeredTokenKey = "com.honeydue.registeredDeviceToken"
+ private let registeredUserIdKey = "com.honeydue.registeredUserId"
/// The last token that was successfully registered with the backend
private var lastRegisteredToken: String? {
diff --git a/iosApp/iosApp/Register/RegisterView.swift b/iosApp/iosApp/Register/RegisterView.swift
index abd65b3..6488757 100644
--- a/iosApp/iosApp/Register/RegisterView.swift
+++ b/iosApp/iosApp/Register/RegisterView.swift
@@ -54,7 +54,7 @@ struct RegisterView: View {
}
VStack(spacing: 8) {
- Text(L10n.Auth.joinCasera)
+ Text(L10n.Auth.joinhoneyDue)
.font(.system(size: 26, weight: .bold, design: .rounded))
.foregroundColor(Color.appTextPrimary)
diff --git a/iosApp/iosApp/Residence/ResidenceSharingManager.swift b/iosApp/iosApp/Residence/ResidenceSharingManager.swift
index c3ec40a..7444feb 100644
--- a/iosApp/iosApp/Residence/ResidenceSharingManager.swift
+++ b/iosApp/iosApp/Residence/ResidenceSharingManager.swift
@@ -1,7 +1,7 @@
import Foundation
import ComposeApp
-/// Manages residence share package creation and import via .casera files.
+/// Manages residence share package creation and import via .honeydue files.
/// For residences, the share code is generated server-side (unlike contractors which are exported client-side).
@MainActor
class ResidenceSharingManager: ObservableObject {
@@ -35,7 +35,7 @@ class ResidenceSharingManager: ObservableObject {
// MARK: - Export (Share)
- /// Creates a shareable .casera file for a residence.
+ /// Creates a shareable .honeydue file for a residence.
/// This calls the backend to generate a one-time share code, then packages it.
/// - Parameter residence: The residence to share
/// - Returns: URL to the temporary file, or nil if creation failed
@@ -64,7 +64,7 @@ class ResidenceSharingManager: ObservableObject {
return nil
}
- let jsonContent = CaseraShareCodec.shared.encodeSharedResidence(sharedResidence: sharedResidence)
+ let jsonContent = HoneyDueShareCodec.shared.encodeSharedResidence(sharedResidence: sharedResidence)
guard let jsonData = jsonContent.data(using: .utf8) else {
#if DEBUG
print("ResidenceSharingManager: Failed to encode residence package as UTF-8")
@@ -73,7 +73,7 @@ class ResidenceSharingManager: ObservableObject {
return nil
}
- let fileName = CaseraShareCodec.shared.safeShareFileName(displayName: residence.name)
+ let fileName = HoneyDueShareCodec.shared.safeShareFileName(displayName: residence.name)
let tempURL = FileManager.default.temporaryDirectory.appendingPathComponent(fileName)
do {
@@ -83,7 +83,7 @@ class ResidenceSharingManager: ObservableObject {
return tempURL
} catch {
#if DEBUG
- print("ResidenceSharingManager: Failed to write .casera file: \(error)")
+ print("ResidenceSharingManager: Failed to write .honeydue file: \(error)")
#endif
errorMessage = "Failed to save share file"
return nil
@@ -92,10 +92,10 @@ class ResidenceSharingManager: ObservableObject {
// MARK: - Import
- /// Imports a residence share from a .casera file URL.
+ /// Imports a residence share from a .honeydue file URL.
/// This validates the share code with the server and adds the user to the residence.
/// - Parameters:
- /// - url: The URL to the .casera file
+ /// - url: The URL to the .honeydue file
/// - completion: Called with true on success, false on failure
func importResidence(from url: URL, completion: @escaping (Bool) -> Void) {
isImporting = true
@@ -164,7 +164,7 @@ class ResidenceSharingManager: ObservableObject {
// MARK: - Swift Codable Structure
-/// Swift-native Codable structure for .casera residence share format.
+/// Swift-native Codable structure for .honeydue residence share format.
/// This mirrors the Kotlin SharedResidence model for JSON serialization.
struct SharedResidenceExport: Codable {
let version: Int
diff --git a/iosApp/iosApp/Shared/REFACTORING_SUMMARY.md b/iosApp/iosApp/Shared/REFACTORING_SUMMARY.md
index 53c3fdf..fb6ded7 100644
--- a/iosApp/iosApp/Shared/REFACTORING_SUMMARY.md
+++ b/iosApp/iosApp/Shared/REFACTORING_SUMMARY.md
@@ -2,7 +2,7 @@
## Executive Summary
-This document summarizes the comprehensive analysis of the iOS codebase at `/Users/treyt/Desktop/code/MyCrib/MyCribKMM/iosApp/iosApp/` and provides a complete set of shared utilities to eliminate code duplication.
+This document summarizes the comprehensive analysis of the iOS codebase at `/Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM/iosApp/iosApp/` and provides a complete set of shared utilities to eliminate code duplication.
## Status
diff --git a/iosApp/iosApp/Shared/SHARED_UTILITIES.md b/iosApp/iosApp/Shared/SHARED_UTILITIES.md
index 29474d2..c228ce2 100644
--- a/iosApp/iosApp/Shared/SHARED_UTILITIES.md
+++ b/iosApp/iosApp/Shared/SHARED_UTILITIES.md
@@ -562,7 +562,7 @@ VStack {
All shared utilities should be tested before using in production. Run the iOS app build to verify:
```bash
-cd /Users/treyt/Desktop/code/MyCrib/MyCribKMM
+cd /Users/treyt/Desktop/code/HoneyDue/HoneyDueKMM
open iosApp/iosApp.xcodeproj
# Build and run (Cmd+R)
```
diff --git a/iosApp/iosApp/Shared/Utilities/KeychainHelper.swift b/iosApp/iosApp/Shared/Utilities/KeychainHelper.swift
index edadb5c..3562edf 100644
--- a/iosApp/iosApp/Shared/Utilities/KeychainHelper.swift
+++ b/iosApp/iosApp/Shared/Utilities/KeychainHelper.swift
@@ -7,7 +7,7 @@ import ComposeApp
final class KeychainHelper: NSObject, KeychainDelegate {
static let shared = KeychainHelper()
- private let service = "com.tt.casera"
+ private let service = "com.tt.honeyDue"
func save(key: String, value: String) -> Bool {
guard let data = value.data(using: .utf8) else { return false }
diff --git a/iosApp/iosApp/Subscription/FeatureComparisonView.swift b/iosApp/iosApp/Subscription/FeatureComparisonView.swift
index a1b3c65..7660d3f 100644
--- a/iosApp/iosApp/Subscription/FeatureComparisonView.swift
+++ b/iosApp/iosApp/Subscription/FeatureComparisonView.swift
@@ -300,17 +300,17 @@ struct CrossPlatformSubscriptionNotice: View {
.foregroundColor(Color.appTextPrimary)
if source == "stripe" {
- Text("Manage your subscription at casera.app")
+ Text("Manage your subscription at honeyDue.treytartt.com")
.font(.subheadline)
.foregroundColor(Color.appTextSecondary)
.multilineTextAlignment(.center)
Button(action: {
- if let url = URL(string: "https://casera.app/settings") {
+ if let url = URL(string: "https://honeyDue.treytartt.com/settings") {
UIApplication.shared.open(url)
}
}) {
- Label("Open casera.app", systemImage: "globe")
+ Label("Open honeyDue.treytartt.com", systemImage: "globe")
.fontWeight(.semibold)
.frame(maxWidth: .infinity)
.foregroundColor(Color.appTextOnPrimary)
diff --git a/iosApp/iosApp/Subscription/StoreKitManager.swift b/iosApp/iosApp/Subscription/StoreKitManager.swift
index 84f63df..44b2e83 100644
--- a/iosApp/iosApp/Subscription/StoreKitManager.swift
+++ b/iosApp/iosApp/Subscription/StoreKitManager.swift
@@ -9,18 +9,18 @@ class StoreKitManager: ObservableObject {
static let shared = StoreKitManager()
// Product IDs can be configured via Info.plist keys:
- // CASERA_IAP_MONTHLY_PRODUCT_ID / CASERA_IAP_ANNUAL_PRODUCT_ID.
+ // HONEYDUE_IAP_MONTHLY_PRODUCT_ID / HONEYDUE_IAP_ANNUAL_PRODUCT_ID.
// Falls back to local StoreKit config IDs for development.
// Canonical source: SubscriptionProducts in commonMain (Kotlin shared code).
// Keep these in sync with SubscriptionProducts.MONTHLY / SubscriptionProducts.ANNUAL.
private let fallbackProductIDs = [
- "com.example.casera.pro.monthly",
- "com.example.casera.pro.annual"
+ "com.tt.honeyDue.pro.monthly",
+ "com.tt.honeyDue.pro.annual"
]
private var configuredProductIDs: [String] {
- let monthly = Bundle.main.object(forInfoDictionaryKey: "CASERA_IAP_MONTHLY_PRODUCT_ID") as? String
- let annual = Bundle.main.object(forInfoDictionaryKey: "CASERA_IAP_ANNUAL_PRODUCT_ID") as? String
+ let monthly = Bundle.main.object(forInfoDictionaryKey: "HONEYDUE_IAP_MONTHLY_PRODUCT_ID") as? String
+ let annual = Bundle.main.object(forInfoDictionaryKey: "HONEYDUE_IAP_ANNUAL_PRODUCT_ID") as? String
return [monthly, annual]
.compactMap { $0?.trimmingCharacters(in: .whitespacesAndNewlines) }
.filter { !$0.isEmpty }
@@ -61,7 +61,7 @@ class StoreKitManager: ObservableObject {
do {
if configuredProductIDs.isEmpty {
- print("⚠️ StoreKit: Using fallback product IDs (configure CASERA_IAP_MONTHLY_PRODUCT_ID/CASERA_IAP_ANNUAL_PRODUCT_ID in Info.plist for production)")
+ print("⚠️ StoreKit: Using fallback product IDs (configure HONEYDUE_IAP_MONTHLY_PRODUCT_ID/HONEYDUE_IAP_ANNUAL_PRODUCT_ID in Info.plist for production)")
}
let loadedProducts = try await Product.products(for: productIDs)
products = loadedProducts.sorted { $0.price < $1.price }
diff --git a/iosApp/iosApp/Subviews/Auth/LoginHeader.swift b/iosApp/iosApp/Subviews/Auth/LoginHeader.swift
index 919d415..2fa734e 100644
--- a/iosApp/iosApp/Subviews/Auth/LoginHeader.swift
+++ b/iosApp/iosApp/Subviews/Auth/LoginHeader.swift
@@ -9,7 +9,7 @@ struct LoginHeader: View {
.frame(width: 80, height: 80)
.foregroundColor(Color.appPrimary)
- Text("Casera")
+ Text("honeyDue")
.font(.largeTitle)
.fontWeight(.bold)
.foregroundColor(Color.appTextPrimary)
diff --git a/iosApp/iosApp/Subviews/Auth/RegisterHeader.swift b/iosApp/iosApp/Subviews/Auth/RegisterHeader.swift
index c26d00c..a33bfd6 100644
--- a/iosApp/iosApp/Subviews/Auth/RegisterHeader.swift
+++ b/iosApp/iosApp/Subviews/Auth/RegisterHeader.swift
@@ -9,7 +9,7 @@ struct RegisterHeader: View {
.frame(width: 64, height: 64)
.foregroundColor(Color.appPrimary)
- Text("Join Casera")
+ Text("Join honeyDue")
.font(.largeTitle)
.fontWeight(.bold)
.foregroundColor(Color.appTextPrimary)
diff --git a/iosApp/iosApp/Subviews/Common/MyCribIconView.swift b/iosApp/iosApp/Subviews/Common/HoneyDueIconView.swift
similarity index 97%
rename from iosApp/iosApp/Subviews/Common/MyCribIconView.swift
rename to iosApp/iosApp/Subviews/Common/HoneyDueIconView.swift
index 94af582..72b9c43 100644
--- a/iosApp/iosApp/Subviews/Common/MyCribIconView.swift
+++ b/iosApp/iosApp/Subviews/Common/HoneyDueIconView.swift
@@ -148,8 +148,8 @@ struct BackgroundShape: Shape {
}
}
-/// MyCrib icon view with all paths for animation
-struct MyCribIconView: View {
+/// HoneyDue icon view with all paths for animation
+struct HoneyDueIconView: View {
// Animation progress values (0 to 1)
var houseLeftProgress: CGFloat = 1.0
var houseRightProgress: CGFloat = 1.0
@@ -237,7 +237,7 @@ struct MyCribIconView: View {
}
/// Animated version with built-in draw animation
-struct AnimatedMyCribIconView: View {
+struct AnimatedHoneyDueIconView: View {
@State private var houseLeftProgress: CGFloat = 0
@State private var houseRightProgress: CGFloat = 0
@State private var windowScale: CGFloat = 0
@@ -249,7 +249,7 @@ struct AnimatedMyCribIconView: View {
var showBackground: Bool = true
var body: some View {
- MyCribIconView(
+ HoneyDueIconView(
houseLeftProgress: houseLeftProgress,
houseRightProgress: houseRightProgress,
windowScale: windowScale,
@@ -295,26 +295,26 @@ struct AnimatedMyCribIconView: View {
}
#Preview("Static Icon") {
- MyCribIconView()
+ HoneyDueIconView()
.frame(width: 200, height: 200)
.padding()
}
#Preview("Animated Icon") {
- AnimatedMyCribIconView()
+ AnimatedHoneyDueIconView()
.frame(width: 200, height: 200)
.padding()
}
#Preview("Icon Without Background") {
- MyCribIconView(showBackground: false)
+ HoneyDueIconView(showBackground: false)
.frame(width: 200, height: 200)
.padding()
.background(Color.orange)
}
#Preview("Custom Colors") {
- MyCribIconView(
+ HoneyDueIconView(
backgroundColor: .blue,
foregroundColor: .white
)
diff --git a/iosApp/iosApp/Subviews/Residence/ShareCodeCard.swift b/iosApp/iosApp/Subviews/Residence/ShareCodeCard.swift
index 70b01b1..228a566 100644
--- a/iosApp/iosApp/Subviews/Residence/ShareCodeCard.swift
+++ b/iosApp/iosApp/Subviews/Residence/ShareCodeCard.swift
@@ -42,7 +42,7 @@ struct ShareCodeCard: View {
.buttonStyle(.borderedProminent)
.disabled(isGeneratingPackage)
- Text("Send a .casera file via Messages, Email, or AirDrop. They just tap to join.")
+ Text("Send a .honeydue file via Messages, Email, or AirDrop. They just tap to join.")
.font(.caption)
.foregroundColor(Color.appTextSecondary)
}
diff --git a/iosApp/iosApp/iOSApp.swift b/iosApp/iosApp/iOSApp.swift
index 38085e8..4eda952 100644
--- a/iosApp/iosApp/iOSApp.swift
+++ b/iosApp/iosApp/iOSApp.swift
@@ -13,11 +13,11 @@ struct iOSApp: App {
/// Tracks foreground refresh tasks so they can be cancelled on subsequent transitions
@State private var foregroundTask: Task?
@State private var pendingImportURL: URL?
- @State private var pendingImportType: CaseraPackageType = .contractor
+ @State private var pendingImportType: HoneyDuePackageType = .contractor
@State private var showImportConfirmation: Bool = false
- /// Type of casera package being imported
- enum CaseraPackageType {
+ /// Type of honeydue package being imported
+ enum HoneyDuePackageType {
case contractor
case residence
}
@@ -193,14 +193,14 @@ struct iOSApp: App {
print("URL received: \(url)")
#endif
- // Handle .casera file imports
- if url.pathExtension.lowercased() == "casera" {
- handleCaseraFileImport(url: url)
+ // Handle .honeydue file imports
+ if url.pathExtension.lowercased() == "honeydue" {
+ handleHoneyDueFileImport(url: url)
return
}
- // Handle casera:// deep links
- if url.scheme == "casera" {
+ // Handle honeydue:// deep links
+ if url.scheme == "honeydue" {
handleDeepLink(url: url)
return
}
@@ -210,10 +210,10 @@ struct iOSApp: App {
#endif
}
- /// Handles .casera file imports - detects type and routes accordingly
- private func handleCaseraFileImport(url: URL) {
+ /// Handles .honeydue file imports - detects type and routes accordingly
+ private func handleHoneyDueFileImport(url: URL) {
#if DEBUG
- print("Casera file received: \(url)")
+ print("honeyDue file received: \(url)")
#endif
// Check if user is authenticated
@@ -231,7 +231,7 @@ struct iOSApp: App {
// Copy to temp location so import works after security scope ends
let tempURL = FileManager.default.temporaryDirectory
.appendingPathComponent(UUID().uuidString)
- .appendingPathExtension("casera")
+ .appendingPathExtension("honeydue")
try data.write(to: tempURL)
do {
@@ -239,11 +239,11 @@ struct iOSApp: App {
let typeString = json["type"] as? String {
pendingImportType = typeString == "residence" ? .residence : .contractor
} else {
- print("iOSApp: Casera file is valid JSON but missing 'type' field, defaulting to contractor")
+ print("iOSApp: honeyDue file is valid JSON but missing 'type' field, defaulting to contractor")
pendingImportType = .contractor
}
} catch {
- print("iOSApp: Failed to parse casera file JSON: \(error)")
+ print("iOSApp: Failed to parse honeydue file JSON: \(error)")
if accessing {
url.stopAccessingSecurityScopedResource()
}
@@ -254,7 +254,7 @@ struct iOSApp: App {
pendingImportURL = tempURL
} catch {
#if DEBUG
- print("Failed to read casera file: \(error)")
+ print("Failed to read honeydue file: \(error)")
#endif
pendingImportType = .contractor
pendingImportURL = url
@@ -267,7 +267,7 @@ struct iOSApp: App {
showImportConfirmation = true
}
- /// Handles casera:// deep links
+ /// Handles honeydue:// deep links
private func handleDeepLink(url: URL) {
guard let components = URLComponents(url: url, resolvingAgainstBaseURL: true) else { return }
let host = url.host
diff --git a/iosApp/iosApp/iosApp.entitlements b/iosApp/iosApp/iosApp.entitlements
index b64e948..ba67575 100644
--- a/iosApp/iosApp/iosApp.entitlements
+++ b/iosApp/iosApp/iosApp.entitlements
@@ -10,7 +10,7 @@
com.apple.security.application-groups
- group.com.tt.casera.CaseraDev
+ group.com.tt.honeyDue.HoneyDueDev
diff --git a/iosApp/push_test_payloads/README.md b/iosApp/push_test_payloads/README.md
index 7a86b26..3df3d0a 100644
--- a/iosApp/push_test_payloads/README.md
+++ b/iosApp/push_test_payloads/README.md
@@ -38,7 +38,7 @@ The `category` field in `aps` maps to these iOS notification categories:
```json
{
- "Simulator Target Bundle": "com.tt.casera.CaseraDev",
+ "Simulator Target Bundle": "com.tt.honeyDue.honeyDueDev",
"aps": {
"alert": {
"title": "Notification Title",
diff --git a/iosApp/push_test_payloads/task_assigned.apns b/iosApp/push_test_payloads/task_assigned.apns
index 3a0e792..3258d22 100644
--- a/iosApp/push_test_payloads/task_assigned.apns
+++ b/iosApp/push_test_payloads/task_assigned.apns
@@ -1,5 +1,5 @@
{
- "Simulator Target Bundle": "com.tt.casera.CaseraDev",
+ "Simulator Target Bundle": "com.tt.honeyDue.HoneyDueDev",
"aps": {
"alert": {
"title": "Task Assigned",
diff --git a/iosApp/push_test_payloads/task_cancelled.apns b/iosApp/push_test_payloads/task_cancelled.apns
index 802735e..d771ebb 100644
--- a/iosApp/push_test_payloads/task_cancelled.apns
+++ b/iosApp/push_test_payloads/task_cancelled.apns
@@ -1,5 +1,5 @@
{
- "Simulator Target Bundle": "com.tt.casera.CaseraDev",
+ "Simulator Target Bundle": "com.tt.honeyDue.HoneyDueDev",
"aps": {
"alert": {
"title": "Task Cancelled",
diff --git a/iosApp/push_test_payloads/task_completed.apns b/iosApp/push_test_payloads/task_completed.apns
index 15e4ac6..82e6fe1 100644
--- a/iosApp/push_test_payloads/task_completed.apns
+++ b/iosApp/push_test_payloads/task_completed.apns
@@ -1,5 +1,5 @@
{
- "Simulator Target Bundle": "com.tt.casera.CaseraDev",
+ "Simulator Target Bundle": "com.tt.honeyDue.HoneyDueDev",
"aps": {
"alert": {
"title": "Task Completed",
diff --git a/iosApp/push_test_payloads/task_due_soon.apns b/iosApp/push_test_payloads/task_due_soon.apns
index 030cba6..99b4233 100644
--- a/iosApp/push_test_payloads/task_due_soon.apns
+++ b/iosApp/push_test_payloads/task_due_soon.apns
@@ -1,5 +1,5 @@
{
- "Simulator Target Bundle": "com.tt.casera.CaseraDev",
+ "Simulator Target Bundle": "com.tt.honeyDue.HoneyDueDev",
"aps": {
"alert": {
"title": "Task Due Soon",
diff --git a/iosApp/push_test_payloads/task_generic_free_user.apns b/iosApp/push_test_payloads/task_generic_free_user.apns
index 7362584..13b7163 100644
--- a/iosApp/push_test_payloads/task_generic_free_user.apns
+++ b/iosApp/push_test_payloads/task_generic_free_user.apns
@@ -1,9 +1,9 @@
{
- "Simulator Target Bundle": "com.tt.casera.CaseraDev",
+ "Simulator Target Bundle": "com.tt.honeyDue.HoneyDueDev",
"aps": {
"alert": {
- "title": "Casera",
- "body": "Something in Casera needs your attention"
+ "title": "honeyDue",
+ "body": "Something in honeyDue needs your attention"
},
"sound": "default",
"badge": 1,
diff --git a/iosApp/push_test_payloads/task_in_progress.apns b/iosApp/push_test_payloads/task_in_progress.apns
index 951be00..3d9dc67 100644
--- a/iosApp/push_test_payloads/task_in_progress.apns
+++ b/iosApp/push_test_payloads/task_in_progress.apns
@@ -1,5 +1,5 @@
{
- "Simulator Target Bundle": "com.tt.casera.CaseraDev",
+ "Simulator Target Bundle": "com.tt.honeyDue.HoneyDueDev",
"aps": {
"alert": {
"title": "Task In Progress",
diff --git a/iosApp/push_test_payloads/task_overdue.apns b/iosApp/push_test_payloads/task_overdue.apns
index 7da985b..5fcac02 100644
--- a/iosApp/push_test_payloads/task_overdue.apns
+++ b/iosApp/push_test_payloads/task_overdue.apns
@@ -1,5 +1,5 @@
{
- "Simulator Target Bundle": "com.tt.casera.CaseraDev",
+ "Simulator Target Bundle": "com.tt.honeyDue.HoneyDueDev",
"aps": {
"alert": {
"title": "Task Overdue",
diff --git a/iosApp/test_push.apns b/iosApp/test_push.apns
index e25c7b6..2c3bcd6 100644
--- a/iosApp/test_push.apns
+++ b/iosApp/test_push.apns
@@ -1,5 +1,5 @@
{
- "Simulator Target Bundle": "com.tt.casera.CaseraDev",
+ "Simulator Target Bundle": "com.tt.honeyDue.HoneyDueDev",
"aps": {
"alert": {
"title": "Task Reminder",
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 452f833..874fff3 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,4 +1,4 @@
-rootProject.name = "Casera"
+rootProject.name = "honeyDue"
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {