From 0e9ec5c187a3f232476e54d5f43187f5215481a1 Mon Sep 17 00:00:00 2001 From: "Andrew K. Choi" Date: Tue, 7 Oct 2025 16:24:56 +0900 Subject: [PATCH] UI refactor --- .idea/deploymentTargetSelector.xml | 4 +- app/build.gradle.kts | 34 +- .../com/example/womansafe/MainActivity.kt | 14 + .../example/womansafe/data/api/CalendarApi.kt | 54 + .../womansafe/data/api/WomanSafeApi.kt | 48 +- .../womansafe/data/local/CalendarDao.kt | 86 ++ .../womansafe/data/local/CalendarDatabase.kt | 48 + .../data/local/CalendarTypeConverters.kt | 112 ++ .../example/womansafe/data/model/ApiModels.kt | 12 +- .../womansafe/data/model/CalendarModels.kt | 126 +- .../womansafe/data/model/CycleModels.kt | 128 ++ .../data/model/calendar/CalendarEntry.kt | 26 + .../model/calendar/CalendarEntryRequest.kt | 17 + .../data/model/calendar/CalendarEvent.kt | 26 + .../data/model/calendar/ConfidenceLevel.kt | 10 + .../data/model/calendar/CycleData.kt | 29 + .../data/model/calendar/CyclePrediction.kt | 17 + .../data/model/calendar/CycleStatistics.kt | 16 + .../data/model/calendar/EntryType.kt | 13 + .../data/model/calendar/FlowIntensity.kt | 12 + .../data/model/calendar/HealthInsight.kt | 22 + .../data/model/calendar/InsightType.kt | 17 + .../womansafe/data/model/calendar/Mood.kt | 20 + .../data/model/calendar/SkinCondition.kt | 14 + .../womansafe/data/model/calendar/Symptom.kt | 23 + .../womansafe/data/network/NetworkClient.kt | 58 +- .../data/repository/ApiRepository.kt | 42 +- .../data/repository/CalendarRepository.kt | 298 ++++ .../components/CalendarEventDetailDialog.kt | 303 ++++ .../example/womansafe/ui/icons/CustomIcons.kt | 38 + .../womansafe/ui/screens/AuthScreen.kt | 4 +- .../ui/screens/CalendarEntryScreen.kt | 487 ++++++ .../ui/screens/CalendarInsightsScreen.kt | 542 +++++++ .../womansafe/ui/screens/CalendarScreen.kt | 1363 +++++++---------- .../ui/screens/ContactPickerScreen.kt | 224 +++ .../ui/screens/EmergencyContactsScreen.kt | 95 +- .../ui/screens/EnhancedCalendarScreen.kt | 1312 ++++++++++++++++ .../womansafe/ui/screens/MainScreen.kt | 57 +- .../example/womansafe/ui/theme/AppColors.kt | 33 + .../womansafe/ui/viewmodel/AuthViewModel.kt | 123 +- .../ui/viewmodel/CalendarViewModel.kt | 733 +++------ .../ui/viewmodel/EnhancedCalendarViewModel.kt | 348 +++++ .../example/womansafe/util/ContactsHelper.kt | 107 ++ .../womansafe/util/PermissionManager.kt | 124 ++ .../womansafe/util/PreferenceManager.kt | 68 + .../example/womansafe/util/TouchEventFix.kt | 25 + .../com/example/womansafe/utils/DateUtils.kt | 59 + build.gradle.kts | 1 - gradle/libs.versions.toml | 6 +- 49 files changed, 5971 insertions(+), 1407 deletions(-) create mode 100644 app/src/main/java/com/example/womansafe/data/api/CalendarApi.kt create mode 100644 app/src/main/java/com/example/womansafe/data/local/CalendarDao.kt create mode 100644 app/src/main/java/com/example/womansafe/data/local/CalendarDatabase.kt create mode 100644 app/src/main/java/com/example/womansafe/data/local/CalendarTypeConverters.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/CycleModels.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/CalendarEntry.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/CalendarEntryRequest.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/CalendarEvent.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/ConfidenceLevel.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/CycleData.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/CyclePrediction.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/CycleStatistics.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/EntryType.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/FlowIntensity.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/HealthInsight.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/InsightType.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/Mood.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/SkinCondition.kt create mode 100644 app/src/main/java/com/example/womansafe/data/model/calendar/Symptom.kt create mode 100644 app/src/main/java/com/example/womansafe/data/repository/CalendarRepository.kt create mode 100644 app/src/main/java/com/example/womansafe/ui/components/CalendarEventDetailDialog.kt create mode 100644 app/src/main/java/com/example/womansafe/ui/icons/CustomIcons.kt create mode 100644 app/src/main/java/com/example/womansafe/ui/screens/CalendarEntryScreen.kt create mode 100644 app/src/main/java/com/example/womansafe/ui/screens/CalendarInsightsScreen.kt create mode 100644 app/src/main/java/com/example/womansafe/ui/screens/ContactPickerScreen.kt create mode 100644 app/src/main/java/com/example/womansafe/ui/screens/EnhancedCalendarScreen.kt create mode 100644 app/src/main/java/com/example/womansafe/ui/theme/AppColors.kt create mode 100644 app/src/main/java/com/example/womansafe/ui/viewmodel/EnhancedCalendarViewModel.kt create mode 100644 app/src/main/java/com/example/womansafe/util/ContactsHelper.kt create mode 100644 app/src/main/java/com/example/womansafe/util/PermissionManager.kt create mode 100644 app/src/main/java/com/example/womansafe/util/PreferenceManager.kt create mode 100644 app/src/main/java/com/example/womansafe/util/TouchEventFix.kt create mode 100644 app/src/main/java/com/example/womansafe/utils/DateUtils.kt diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index 8627841..8c7731f 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,10 +4,10 @@