From 9703a42d644eb17beaabebabb3fa1abc81aa24bd Mon Sep 17 00:00:00 2001 From: Nana <10011001nana@gmail.com> Date: Wed, 23 Apr 2025 12:17:15 +0300 Subject: [PATCH] init --- .gitignore | 18 + README.md | 14 + build.gradle.kts | 11 + composeApp/build.gradle.kts | 161 +++++++ .../src/androidMain/AndroidManifest.xml | 26 ++ .../org/example/presenceapp/MainActivity.kt | 35 ++ .../example/presenceapp/Platform.android.kt | 9 + .../presenceapp/PlatformContext.android.kt | 12 + .../data/local/storage/SettingsStorage.kt | 19 + .../attendance/AttendanceStorage.android.kt | 32 ++ .../AttendanceStorageProvider.android.kt | 9 + .../storage/login/AndroidTokenStorage.kt | 32 ++ .../example/presenceapp/di/AndroidModule.kt | 18 + .../ui/settings/SettingsManager.android.kt | 31 ++ .../presenceapp/ui/theme/Theme.android.kt | 44 ++ .../themeManager/ThemeManager.android.kt | 34 ++ .../drawable-v24/ic_launcher_foreground.xml | 30 ++ .../res/drawable/ic_launcher_background.xml | 170 ++++++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3593 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5339 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2636 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3388 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4926 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7472 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7909 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 11873 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10652 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 16570 bytes .../src/androidMain/res/values/strings.xml | 3 + .../composeResources/drawable/arrow_back.xml | 13 + .../drawable/compose-multiplatform.xml | 36 ++ .../composeResources/drawable/info.xml | 9 + .../composeResources/drawable/is_here.xml | 9 + .../composeResources/drawable/isnt_here.xml | 9 + .../composeResources/drawable/schedule.xml | 9 + .../composeResources/drawable/settings.xml | 9 + .../composeResources/font/montserrat.ttf | Bin 0 -> 330948 bytes .../font/montserrat_medium.ttf | Bin 0 -> 330872 bytes .../kotlin/org/example/presenceapp/App.kt | 16 + .../org/example/presenceapp/Platform.kt | 7 + .../example/presenceapp/PlatformContext.kt | 8 + .../example/presenceapp/data/common/Mapper.kt | 120 ++++++ .../dto/attendance/AttendanceRequestDto.kt | 19 + .../dto/attendance/AttendanceResponseDto.kt | 28 ++ .../data/common/dto/auth/AuthRequestDto.kt | 9 + .../data/common/dto/auth/AuthResponseDto.kt | 43 ++ .../data/common/dto/group/StudentDto.kt | 15 + .../common/dto/schedule/ScheduleRequestDto.kt | 8 + .../dto/schedule/ScheduleResponseDto.kt | 18 + .../presenceapp/data/local/LocalDataSource.kt | 27 ++ .../data/local/storage/SettingsStorage.kt | 8 + .../storage/attendance/AttendanceStorage.kt | 9 + .../attendance/AttendanceStorageProvider.kt | 7 + .../data/local/storage/login/AuthManager.kt | 9 + .../data/local/storage/login/TokenStorage.kt | 7 + .../data/remote/api/AttendanceApi.kt | 28 ++ .../presenceapp/data/remote/api/AuthApi.kt | 11 + .../presenceapp/data/remote/api/GroupApi.kt | 18 + .../data/remote/impl/AttendanceApiImpl.kt | 26 ++ .../data/remote/impl/AuthApiImpl.kt | 9 + .../data/remote/impl/ScheduleApiImpl.kt | 13 + .../data/remote/network/KtorfitClient.kt | 46 ++ .../repository/AttendanceNetRepository.kt | 55 +++ .../data/repository/AuthRepository.kt | 20 + .../data/repository/ScheduleNetRepository.kt | 17 + .../repository/settings/SettingsRepository.kt | 8 + .../settings/SettingsRepositoryImpl.kt | 24 ++ .../example/presenceapp/di/NetworkModule.kt | 33 ++ .../domain/command/GroupCommand.kt | 5 + .../domain/command/LoginCommand.kt | 6 + .../attendance/AddAttendanceCommand.kt | 10 + .../attendance/AddPresettingCommand.kt | 10 + .../attendance/GetAttendanceCommand.kt | 8 + .../attendance/GetPresettingCommand.kt | 8 + .../presenceapp/domain/common/SomeStudents.kt | 33 ++ .../domain/common/ToDayMonthString.kt | 36 ++ .../presenceapp/domain/entities/Attendance.kt | 19 + .../presenceapp/domain/entities/DayData.kt | 9 + .../presenceapp/domain/entities/DaysOfWeek.kt | 16 + .../domain/entities/LoginResponse.kt | 35 ++ .../presenceapp/domain/entities/Presetting.kt | 11 + .../domain/entities/ResponseState.kt | 17 + .../presenceapp/domain/entities/Schedule.kt | 15 + .../presenceapp/domain/entities/UserInfo.kt | 7 + .../domain/repo/LoginRepository.kt | 8 + .../domain/repo/ScheduleRepository.kt | 8 + .../repo/attendance/AttendanceRepository.kt | 10 + .../attendance/AttendanceTypeRepository.kt | 7 + .../repo/attendance/PresettingRepository.kt | 10 + .../domain/usecases/AttendanceUseCase.kt | 52 +++ .../domain/usecases/LoginUseCase.kt | 21 + .../domain/usecases/ScheduleUseCase.kt | 21 + .../ui/attendance/AttendanceScreen.kt | 0 .../ui/attendance/AttendanceScreenModel.kt | 0 .../attendance/components/AttendanceColumn.kt | 0 .../components/AttendanceToString.kt | 0 .../presenceapp/ui/calendar/CalendarScreen.kt | 0 .../ui/calendar/CalendarScreenModel.kt | 0 .../ui/calendar/components/CalendarDayCell.kt | 0 .../ui/calendar/components/CalendarGrid.kt | 0 .../ui/calendar/components/CalendarMonth.kt | 0 .../ui/calendar/components/CalendarUtils.kt | 0 .../calendar/components/CalendarWeekDays.kt | 0 .../presenceapp/ui/commons/CommonBottomBar.kt | 0 .../presenceapp/ui/commons/CommonButton.kt | 0 .../presenceapp/ui/commons/CommonDataText.kt | 0 .../presenceapp/ui/commons/CommonDialog.kt | 0 .../ui/commons/CommonIconButton.kt | 0 .../presenceapp/ui/commons/CommonLabel.kt | 0 .../presenceapp/ui/commons/CommonMainText.kt | 0 .../ui/commons/CommonMediumText.kt | 0 .../ui/commons/CommonRegularText.kt | 0 .../presenceapp/ui/commons/CommonTopBar.kt | 0 .../presenceapp/ui/commons/ErrorDialog.kt | 0 .../example/presenceapp/ui/info/InfoScreen.kt | 0 .../presenceapp/ui/info/InfoScreenModel.kt | 0 .../presenceapp/ui/info/InfoScreenState.kt | 0 .../ui/info/components/InfoCard.kt | 0 .../presenceapp/ui/login/LoginScreen.kt | 0 .../presenceapp/ui/login/LoginScreenState.kt | 0 .../presenceapp/ui/login/LoginViewModel.kt | 0 .../ui/login/components/LoginButton.kt | 0 .../ui/login/components/LoginCheckBox.kt | 0 .../ui/login/components/LoginTextField.kt | 0 .../presenceapp/ui/schedule/ScheduleScreen.kt | 0 .../ui/schedule/ScheduleScreenModel.kt | 0 .../ui/schedule/ScheduleScreenState.kt | 0 .../components/EmptyScheduleLessonsItem.kt | 0 .../components/ScheduleDaySelector.kt | 0 .../ui/schedule/components/ScheduleDayText.kt | 0 .../schedule/components/ScheduleLessonItem.kt | 0 .../schedule/components/ScheduleLessonList.kt | 0 .../example/presenceapp/ui/settings/Preset.kt | 0 .../ui/settings/SettingsManager.kt | 0 .../presenceapp/ui/settings/SettingsScreen.kt | 0 .../ui/settings/SettingsScreenModel.kt | 0 .../components/SettingsReasonOption.kt | 0 .../org/example/presenceapp/ui/theme/Theme.kt | 0 .../ui/theme/themeManager/ThemeManager.kt | 0 .../ui/theme/themeManager/ThemeState.kt | 0 .../ui/theme/themeManager/ThemeTypes.kt | 0 .../presenceapp/ui/types/ButtonType.kt | 0 .../presenceapp/ui/types/ScreenType.kt | 0 .../presenceapp/ui/weeks/WeeksScreen.kt | 0 .../presenceapp/ui/weeks/WeeksScreenState.kt | 0 .../presenceapp/ui/weeks/WeeksViewModel.kt | 0 .../ui/weeks/components/MonthHeader.kt | 0 .../ui/weeks/components/ScheduleCard.kt | 0 composeApp/src/iosMain/c_interop/Uikit.def | 2 + .../example/presenceapp/MainViewController.kt | 5 + .../org/example/presenceapp/Platform.ios.kt | 9 + .../presenceapp/PlatformContext.ios.kt | 10 + .../data/local/storage/SettingsStorage.kt | 16 + .../attendance/AttendanceStorage.ios.kt | 30 ++ .../AttendanceStorageProvider.ios.kt | 9 + .../org/example/presenceapp/di/iOSModule.kt | 7 + .../ui/settings/SettingsManager.ios.kt | 27 ++ .../example/presenceapp/ui/theme/Theme.ios.kt | 14 + .../ui/theme/themeManager/ThemeManager.ios.kt | 39 ++ gradle.properties | 10 + gradle/libs.versions.toml | 127 ++++++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43504 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 252 +++++++++++ gradlew.bat | 94 +++++ iosApp/Configuration/Config.xcconfig | 3 + iosApp/iosApp.xcodeproj/project.pbxproj | 393 ++++++++++++++++++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 14 + .../AppIcon.appiconset/app-icon-1024.png | Bin 0 -> 67285 bytes iosApp/iosApp/Assets.xcassets/Contents.json | 6 + iosApp/iosApp/ContentView.swift | 21 + iosApp/iosApp/Info.plist | 50 +++ .../Preview Assets.xcassets/Contents.json | 6 + iosApp/iosApp/ThemeObserver.swift | 18 + iosApp/iosApp/iOSApp.swift | 10 + settings.gradle.kts | 33 ++ 179 files changed, 3083 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 build.gradle.kts create mode 100644 composeApp/build.gradle.kts create mode 100644 composeApp/src/androidMain/AndroidManifest.xml create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/MainActivity.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/Platform.android.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/PlatformContext.android.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.android.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.android.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/login/AndroidTokenStorage.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/di/AndroidModule.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.android.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/theme/Theme.android.kt create mode 100644 composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.android.kt create mode 100644 composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 composeApp/src/androidMain/res/drawable/ic_launcher_background.xml create mode 100644 composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 composeApp/src/androidMain/res/values/strings.xml create mode 100644 composeApp/src/commonMain/composeResources/drawable/arrow_back.xml create mode 100644 composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml create mode 100644 composeApp/src/commonMain/composeResources/drawable/info.xml create mode 100644 composeApp/src/commonMain/composeResources/drawable/is_here.xml create mode 100644 composeApp/src/commonMain/composeResources/drawable/isnt_here.xml create mode 100644 composeApp/src/commonMain/composeResources/drawable/schedule.xml create mode 100644 composeApp/src/commonMain/composeResources/drawable/settings.xml create mode 100644 composeApp/src/commonMain/composeResources/font/montserrat.ttf create mode 100644 composeApp/src/commonMain/composeResources/font/montserrat_medium.ttf create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/App.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/Platform.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/PlatformContext.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/Mapper.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/attendance/AttendanceRequestDto.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/attendance/AttendanceResponseDto.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/auth/AuthRequestDto.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/auth/AuthResponseDto.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/group/StudentDto.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/schedule/ScheduleRequestDto.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/schedule/ScheduleResponseDto.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/LocalDataSource.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/login/AuthManager.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/login/TokenStorage.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/AttendanceApi.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/AuthApi.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/GroupApi.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/AttendanceApiImpl.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/AuthApiImpl.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/ScheduleApiImpl.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/network/KtorfitClient.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/AttendanceNetRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/AuthRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/ScheduleNetRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/settings/SettingsRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/settings/SettingsRepositoryImpl.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/di/NetworkModule.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/GroupCommand.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/LoginCommand.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/AddAttendanceCommand.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/AddPresettingCommand.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/GetAttendanceCommand.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/GetPresettingCommand.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/common/SomeStudents.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/common/ToDayMonthString.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Attendance.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/DayData.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/DaysOfWeek.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/LoginResponse.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Presetting.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/ResponseState.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Schedule.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/UserInfo.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/LoginRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/ScheduleRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/AttendanceRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/AttendanceTypeRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/PresettingRepository.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/AttendanceUseCase.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/LoginUseCase.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/ScheduleUseCase.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/AttendanceScreen.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/AttendanceScreenModel.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/components/AttendanceColumn.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/components/AttendanceToString.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/CalendarScreen.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/CalendarScreenModel.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarDayCell.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarGrid.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarMonth.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarUtils.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarWeekDays.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonBottomBar.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonButton.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonDataText.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonDialog.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonIconButton.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonLabel.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonMainText.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonMediumText.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonRegularText.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonTopBar.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/ErrorDialog.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/InfoScreen.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/InfoScreenModel.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/InfoScreenState.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/components/InfoCard.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/LoginScreen.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/LoginScreenState.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/LoginViewModel.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/components/LoginButton.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/components/LoginCheckBox.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/components/LoginTextField.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/ScheduleScreen.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/ScheduleScreenModel.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/ScheduleScreenState.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/EmptyScheduleLessonsItem.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleDaySelector.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleDayText.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleLessonItem.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleLessonList.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/Preset.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/SettingsScreen.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/SettingsScreenModel.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/components/SettingsReasonOption.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/Theme.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeState.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeTypes.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/types/ButtonType.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/types/ScreenType.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/WeeksScreen.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/WeeksScreenState.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/WeeksViewModel.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/components/MonthHeader.kt create mode 100644 composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/components/ScheduleCard.kt create mode 100644 composeApp/src/iosMain/c_interop/Uikit.def create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/MainViewController.kt create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/Platform.ios.kt create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/PlatformContext.ios.kt create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.ios.kt create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.ios.kt create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/di/iOSModule.kt create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.ios.kt create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/theme/Theme.ios.kt create mode 100644 composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.ios.kt create mode 100644 gradle.properties create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 iosApp/Configuration/Config.xcconfig create mode 100644 iosApp/iosApp.xcodeproj/project.pbxproj create mode 100644 iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png create mode 100644 iosApp/iosApp/Assets.xcassets/Contents.json create mode 100644 iosApp/iosApp/ContentView.swift create mode 100644 iosApp/iosApp/Info.plist create mode 100644 iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 iosApp/iosApp/ThemeObserver.swift create mode 100644 iosApp/iosApp/iOSApp.swift create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7d9c0e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +*.iml +.kotlin +.gradle +**/build/ +xcuserdata +!src/**/build/ +local.properties +.idea +.DS_Store +captures +.externalNativeBuild +.cxx +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcodeproj/project.xcworkspace/ +!*.xcworkspace/contents.xcworkspacedata +**/xcshareddata/WorkspaceSettings.xcsettings diff --git a/README.md b/README.md new file mode 100644 index 0000000..1ba257b --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +This is a Kotlin Multiplatform project targeting Android, iOS. + +* `/composeApp` is for code that will be shared across your Compose Multiplatform applications. + It contains several subfolders: + - `commonMain` is for code that’s common for all targets. + - Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name. + For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app, + `iosMain` would be the right folder for such calls. + +* `/iosApp` contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform, + you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project. + + +Learn more about [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html)… \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..1ecfdb5 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + // this is necessary to avoid the plugins to be loaded multiple times + // in each subproject's classloader + alias(libs.plugins.androidApplication) apply false + alias(libs.plugins.androidLibrary) apply false + alias(libs.plugins.composeMultiplatform) apply false + alias(libs.plugins.composeCompiler) apply false + alias(libs.plugins.kotlinMultiplatform) apply false + alias(libs.plugins.kotlinSerialization) apply false + alias(libs.plugins.ksp) apply false +} \ No newline at end of file diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts new file mode 100644 index 0000000..e6c3582 --- /dev/null +++ b/composeApp/build.gradle.kts @@ -0,0 +1,161 @@ +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + alias(libs.plugins.kotlinMultiplatform) + alias(libs.plugins.androidApplication) + alias(libs.plugins.composeMultiplatform) + alias(libs.plugins.composeCompiler) + alias(libs.plugins.kotlinSerialization) + alias(libs.plugins.ksp) + alias(libs.plugins.ktorfit) +} + +compose.resources { + publicResClass = false + packageOfResClass = "com.presenceapp.composeapp.resources" + generateResClass = auto +} + +kotlin { + androidTarget { + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + jvmTarget.set(JvmTarget.JVM_11) + } + } + + listOf( + iosX64(), + iosArm64(), + iosSimulatorArm64() + ).forEach { iosTarget -> + iosTarget.binaries.framework { + baseName = "ComposeApp" + isStatic = true + } + + iosTarget.compilations.getByName("main") { + cinterops { + val uikit by creating { + defFile(file("src/iosMain/c_interop/Uikit.def")) + } + } + } + } + + sourceSets { + val androidMain by getting { + dependencies { + implementation(compose.preview) + implementation(libs.androidx.activity.compose) + implementation(libs.androidx.lifecycle.viewmodel) + implementation(libs.androidx.lifecycle.runtime.compose) + implementation(libs.androidx.datastore.preferences) + implementation(libs.androidx.datastore.preferences.core) + implementation(libs.androidx.startup.runtime) + + // ktor + implementation(libs.ktor.client.okhttp) + + // koin + implementation(libs.koin.android) + implementation(libs.koin.androidx.compose) + implementation(libs.koin.ktor) + } + } + + val commonMain by getting { + resources.srcDirs("src/commonMain/composeResources") + dependencies { + implementation(compose.runtime) + implementation(compose.foundation) + implementation(compose.material3) + implementation(compose.ui) + implementation(compose.components.resources) + implementation(compose.components.uiToolingPreview) + implementation(libs.kotlinx.serialization.json) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.kotlinx.datetime) + + // voyager + implementation(libs.voyager.navigator) + implementation(libs.voyager.screenmodel) + implementation(libs.voyager.koin) + + // ktor + implementation(libs.ktor.client.core) + implementation(libs.ktor.client.websockets) + implementation(libs.ktor.client.content.negotiation) + implementation(libs.ktor.client.logging) + implementation(libs.ktor.client.cio) + implementation(libs.ktor.serialization.kotlinx.json) + + // ktorfit + implementation(libs.ktorfit) + + // koin + implementation(libs.koin.core) + implementation(libs.koin.compose) + + // logging + implementation(libs.kotlin.logging) + + // settings + implementation(libs.multiplatform.settings) + } + } + + iosMain.dependencies { + // ktor + implementation(libs.ktor.client.darwin) + + // koin + implementation(libs.koin.core.native) + + implementation(libs.kotlinx.coroutines.core.v173nativemt) + implementation(libs.kermit) + } + } +} + +android { + namespace = "org.example.presenceapp" + compileSdk = libs.versions.android.compileSdk.get().toInt() + + defaultConfig { + applicationId = "org.example.presenceapp" + minSdk = libs.versions.android.minSdk.get().toInt() + targetSdk = libs.versions.android.targetSdk.get().toInt() + versionCode = 1 + versionName = "1.0" + } + packaging { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + } + } + buildTypes { + getByName("release") { + isMinifyEnabled = false + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} + +dependencies { + implementation(libs.androidx.ui.android) + implementation(libs.androidx.annotation.jvm) + implementation(libs.androidx.ui.text.android) + implementation(libs.androidx.material3.android) + implementation(libs.androidx.foundation.layout.android) + debugImplementation(compose.uiTooling) + + add("kspCommonMainMetadata", libs.ktorfit.ksp) + add("kspAndroid", libs.ktorfit.ksp) + add("kspIosX64", libs.ktorfit.ksp) + add("kspIosArm64", libs.ktorfit.ksp) +} \ No newline at end of file diff --git a/composeApp/src/androidMain/AndroidManifest.xml b/composeApp/src/androidMain/AndroidManifest.xml new file mode 100644 index 0000000..480cf08 --- /dev/null +++ b/composeApp/src/androidMain/AndroidManifest.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/MainActivity.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/MainActivity.kt new file mode 100644 index 0000000..05c432e --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/MainActivity.kt @@ -0,0 +1,35 @@ +package org.example.presenceapp + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import org.example.presenceapp.di.androidModule +import org.example.presenceapp.di.networkModule +import org.koin.android.ext.koin.androidContext +import org.koin.core.context.GlobalContext.startKoin +import org.koin.core.logger.Level +import org.koin.core.logger.PrintLogger + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + startKoin { + logger(PrintLogger(Level.DEBUG)) + androidContext(applicationContext) + modules(networkModule + androidModule) + } + + setContent { + App() + } + } +} + +@Preview +@Composable +fun AppAndroidPreview() { + App() +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/Platform.android.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/Platform.android.kt new file mode 100644 index 0000000..6536f4e --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/Platform.android.kt @@ -0,0 +1,9 @@ +package org.example.presenceapp + +import android.os.Build + +class AndroidPlatform : Platform { + override val name: String = "Android ${Build.VERSION.SDK_INT}" +} + +actual fun getPlatform(): Platform = AndroidPlatform() \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/PlatformContext.android.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/PlatformContext.android.kt new file mode 100644 index 0000000..8771a15 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/PlatformContext.android.kt @@ -0,0 +1,12 @@ +package org.example.presenceapp + +import android.content.Context +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalContext + +actual class PlatformContext(val context: Context) + +@Composable +actual fun getPlatformContext(): PlatformContext { + return PlatformContext(LocalContext.current) +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt new file mode 100644 index 0000000..586457a --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt @@ -0,0 +1,19 @@ +package org.example.presenceapp.data.local.storage + +import android.content.Context +import android.content.SharedPreferences +import org.example.presenceapp.PlatformContext + +actual class SettingsStorage actual constructor(private val context: PlatformContext) { + private val sharedPreferences: SharedPreferences by lazy { + context.context.getSharedPreferences("app_settings", Context.MODE_PRIVATE) + } + + actual suspend fun put(key: String, value: String) { + sharedPreferences.edit().putString(key, value).apply() + } + + actual suspend fun get(key: String, defaultValue: String): String { + return sharedPreferences.getString(key, defaultValue) ?: defaultValue + } +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.android.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.android.kt new file mode 100644 index 0000000..5500874 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.android.kt @@ -0,0 +1,32 @@ +package org.example.presenceapp.data.local.storage.attendance + +import android.content.Context +import androidx.datastore.preferences.core.edit +import androidx.datastore.preferences.core.stringPreferencesKey +import androidx.datastore.preferences.preferencesDataStore +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.map +import kotlinx.serialization.json.Json +import org.example.presenceapp.domain.entities.Attendance + +private val Context.attendanceDataStore by preferencesDataStore(name = "attendance_prefs") + +class AttendanceStorageAndroid(private val context: Context): AttendanceStorage { + + private val ATTENDANCE_KEY = stringPreferencesKey("attendance_map") + + override suspend fun saveAttendanceMap(map: Map) { + val json = Json.encodeToString(map) + context.attendanceDataStore.edit { prefs -> + prefs[ATTENDANCE_KEY] = json + } + } + + override fun attendanceMapFlow(): Flow> { + return context.attendanceDataStore.data.map { prefs -> + prefs[ATTENDANCE_KEY]?.let { + Json.decodeFromString>(it) + } ?: emptyMap() + } + } +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.android.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.android.kt new file mode 100644 index 0000000..81f345e --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.android.kt @@ -0,0 +1,9 @@ +package org.example.presenceapp.data.local.storage.attendance + +import org.example.presenceapp.PlatformContext + +actual class AttendanceStorageProvider actual constructor(private val context: PlatformContext) { + actual fun provide(): AttendanceStorage { + return AttendanceStorageAndroid(context.context) + } +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/login/AndroidTokenStorage.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/login/AndroidTokenStorage.kt new file mode 100644 index 0000000..03f4b17 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/data/local/storage/login/AndroidTokenStorage.kt @@ -0,0 +1,32 @@ +package org.example.presenceapp.data.local.storage.login + +import android.content.Context +import androidx.datastore.core.DataStore +import androidx.datastore.preferences.core.Preferences +import androidx.datastore.preferences.core.edit +import androidx.datastore.preferences.core.stringPreferencesKey +import androidx.datastore.preferences.preferencesDataStore +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.map +import org.example.project.data.local.TokenStorage + +class AndroidTokenStorage(private val context: Context): TokenStorage { + private val Context.dataStore: DataStore by preferencesDataStore(name = "auth_store") + private val tokenKey = stringPreferencesKey("auth_token") + + override suspend fun getToken(): String? { + return context.dataStore.data + .map { preferences -> preferences[tokenKey] } + .first() + } + override suspend fun setToken(token: String) { + context.dataStore.edit { preferences -> + preferences[tokenKey] = token + } + } + override suspend fun deleteToken() { + context.dataStore.edit { preferences -> + preferences.remove(tokenKey) + } + } +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/di/AndroidModule.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/di/AndroidModule.kt new file mode 100644 index 0000000..a79dc6f --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/di/AndroidModule.kt @@ -0,0 +1,18 @@ +package org.example.presenceapp.di + +import org.example.presenceapp.data.local.LocalDataSource +import org.example.presenceapp.data.local.storage.attendance.AttendanceStorage +import org.example.presenceapp.data.local.storage.attendance.AttendanceStorageAndroid +import org.example.presenceapp.data.local.storage.login.AndroidTokenStorage +import org.example.presenceapp.data.local.storage.login.AuthManager +import org.example.project.data.local.TokenStorage +import org.koin.android.ext.koin.androidContext +import org.koin.dsl.module + +val androidModule = module { + single { AndroidTokenStorage(androidContext()) } + single { AuthManager(get()) } + + single { AttendanceStorageAndroid(androidContext()) } + single { LocalDataSource(get()) } +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.android.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.android.kt new file mode 100644 index 0000000..59679ef --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.android.kt @@ -0,0 +1,31 @@ +package org.example.presenceapp.ui.settings + +import android.content.Context +import android.content.SharedPreferences +import androidx.compose.runtime.Composable +import androidx.core.content.edit +import org.example.presenceapp.PlatformContext +import org.example.presenceapp.getPlatformContext + +actual class SettingsManager actual constructor(platformContext: PlatformContext) { + private val sharedPreferences: SharedPreferences = + platformContext.context.getSharedPreferences("app_preferences", Context.MODE_PRIVATE) + + actual fun isDialogShown(): Boolean { + return sharedPreferences.getBoolean(KEY_DIALOG_SHOWN, false) + } + + actual fun setDialogShown() { + sharedPreferences.edit() { putBoolean(KEY_DIALOG_SHOWN, true) } + } + + companion object { + private const val KEY_DIALOG_SHOWN = "dialog_shown" + } +} + +@Composable +actual fun getSettingsManager(): SettingsManager { + val platformContext = getPlatformContext() + return SettingsManager(platformContext) +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/theme/Theme.android.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/theme/Theme.android.kt new file mode 100644 index 0000000..6b41ee9 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/theme/Theme.android.kt @@ -0,0 +1,44 @@ +package org.example.presenceapp.ui.theme + +import android.content.ComponentCallbacks +import android.content.Context +import android.content.res.Configuration +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.platform.LocalContext +import org.example.presenceapp.ui.theme.themeManager.AndroidThemeManager +import org.example.presenceapp.ui.theme.themeManager.ThemeState + +@Composable +actual fun rememberThemeState(): ThemeState { + val context = LocalContext.current + val configuration = remember { mutableStateOf(context.resources.configuration) } + + DisposableEffect(Unit) { + val listener = object: ComponentCallbacks { + override fun onConfigurationChanged(newConfig: Configuration) { + configuration.value = newConfig + } + override fun onLowMemory() {} + } + + context.registerComponentCallbacks(listener) + onDispose { + context.unregisterComponentCallbacks(listener) + } + } + + return remember { + ThemeState( + themeManager = AndroidThemeManager(context), + isSystemDark = isSystemDark(context) + ) + } +} + +private fun isSystemDark(context: Context): Boolean { + val configuration = context.resources.configuration + return (configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES +} \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.android.kt b/composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.android.kt new file mode 100644 index 0000000..28ac646 --- /dev/null +++ b/composeApp/src/androidMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.android.kt @@ -0,0 +1,34 @@ +package org.example.presenceapp.ui.theme.themeManager + +import android.content.Context +import androidx.appcompat.app.AppCompatDelegate + +class AndroidThemeManager( + private val context: Context +) : ThemeManager { + private val prefs = context.getSharedPreferences("theme_prefs", Context.MODE_PRIVATE) + + override fun getCurrentTheme(): ThemeTypes { + return try { + ThemeTypes.valueOf( + prefs.getString("app_theme", ThemeTypes.SYSTEM.name) ?: ThemeTypes.SYSTEM.name + ) + } catch (e: Exception) { + ThemeTypes.SYSTEM + } + } + + override fun setTheme(theme: ThemeTypes) { + prefs.edit().putString("app_theme", theme.name).apply() + applyThemeImmediately(context, theme) + } + + private fun applyThemeImmediately(context: Context, theme: ThemeTypes) { + val mode = when (theme) { + ThemeTypes.LIGHT -> AppCompatDelegate.MODE_NIGHT_NO + ThemeTypes.DARK -> AppCompatDelegate.MODE_NIGHT_YES + ThemeTypes.SYSTEM -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM + } + AppCompatDelegate.setDefaultNightMode(mode) + } +} \ No newline at end of file diff --git a/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml b/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/composeApp/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml b/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..e93e11a --- /dev/null +++ b/composeApp/src/androidMain/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml b/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml b/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a571e60098c92c2baca8a5df62f2929cbff01b52 GIT binary patch literal 3593 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 P00000NkvXXu0mjfP=x?Y literal 0 HcmV?d00001 diff --git a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..61da551c5594a1f9d26193983d2cd69189014603 GIT binary patch literal 5339 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 literal 0 HcmV?d00001 diff --git a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b216f2d313cc673d8b8c4da591c174ebed52795c GIT binary patch literal 11873 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 literal 0 HcmV?d00001 diff --git a/composeApp/src/androidMain/res/values/strings.xml b/composeApp/src/androidMain/res/values/strings.xml new file mode 100644 index 0000000..21310d0 --- /dev/null +++ b/composeApp/src/androidMain/res/values/strings.xml @@ -0,0 +1,3 @@ + + PresenceApp + \ No newline at end of file diff --git a/composeApp/src/commonMain/composeResources/drawable/arrow_back.xml b/composeApp/src/commonMain/composeResources/drawable/arrow_back.xml new file mode 100644 index 0000000..1f68399 --- /dev/null +++ b/composeApp/src/commonMain/composeResources/drawable/arrow_back.xml @@ -0,0 +1,13 @@ + + + diff --git a/composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml b/composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml new file mode 100644 index 0000000..c0bcfb2 --- /dev/null +++ b/composeApp/src/commonMain/composeResources/drawable/compose-multiplatform.xml @@ -0,0 +1,36 @@ + + + + + + + + \ No newline at end of file diff --git a/composeApp/src/commonMain/composeResources/drawable/info.xml b/composeApp/src/commonMain/composeResources/drawable/info.xml new file mode 100644 index 0000000..5ea0de9 --- /dev/null +++ b/composeApp/src/commonMain/composeResources/drawable/info.xml @@ -0,0 +1,9 @@ + + + diff --git a/composeApp/src/commonMain/composeResources/drawable/is_here.xml b/composeApp/src/commonMain/composeResources/drawable/is_here.xml new file mode 100644 index 0000000..62bbd7d --- /dev/null +++ b/composeApp/src/commonMain/composeResources/drawable/is_here.xml @@ -0,0 +1,9 @@ + + + diff --git a/composeApp/src/commonMain/composeResources/drawable/isnt_here.xml b/composeApp/src/commonMain/composeResources/drawable/isnt_here.xml new file mode 100644 index 0000000..0c42a52 --- /dev/null +++ b/composeApp/src/commonMain/composeResources/drawable/isnt_here.xml @@ -0,0 +1,9 @@ + + + diff --git a/composeApp/src/commonMain/composeResources/drawable/schedule.xml b/composeApp/src/commonMain/composeResources/drawable/schedule.xml new file mode 100644 index 0000000..d8de2b8 --- /dev/null +++ b/composeApp/src/commonMain/composeResources/drawable/schedule.xml @@ -0,0 +1,9 @@ + + + diff --git a/composeApp/src/commonMain/composeResources/drawable/settings.xml b/composeApp/src/commonMain/composeResources/drawable/settings.xml new file mode 100644 index 0000000..ee3bfcc --- /dev/null +++ b/composeApp/src/commonMain/composeResources/drawable/settings.xml @@ -0,0 +1,9 @@ + + + diff --git a/composeApp/src/commonMain/composeResources/font/montserrat.ttf b/composeApp/src/commonMain/composeResources/font/montserrat.ttf new file mode 100644 index 0000000000000000000000000000000000000000..48ba65ed33dff18e74c62b0f08d8165db64a3085 GIT binary patch literal 330948 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

$JBKc4(%@}E;wQ~ahhnbLAf%#@K+@~7;ba%0M$ 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


sQQo^)p_<~$js%pv+isRedPgtAX$UP=k0 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 LNvTQ3d&B<+rysaJ literal 0 HcmV?d00001 diff --git a/composeApp/src/commonMain/composeResources/font/montserrat_medium.ttf b/composeApp/src/commonMain/composeResources/font/montserrat_medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dfbcfe4f25b6754e907e8e51c87c386baa377d1d GIT binary patch literal 330872 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%0AG42owgC<2hCRgv@_qTe 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

XT-7-nCl-pIyz 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 literal 0 HcmV?d00001 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/App.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/App.kt new file mode 100644 index 0000000..ae79935 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/App.kt @@ -0,0 +1,16 @@ +package org.example.presenceapp + +import androidx.compose.runtime.Composable +import cafe.adriel.voyager.navigator.Navigator +import org.example.presenceapp.ui.schedule.ScheduleScreen +import org.example.presenceapp.ui.theme.AppTheme +import org.example.project.ui.login.LoginScreen +import org.jetbrains.compose.ui.tooling.preview.Preview + +@Composable +@Preview +fun App() { + AppTheme { + Navigator(LoginScreen()) + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/Platform.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/Platform.kt new file mode 100644 index 0000000..50e45f3 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/Platform.kt @@ -0,0 +1,7 @@ +package org.example.presenceapp + +interface Platform { + val name: String +} + +expect fun getPlatform(): Platform \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/PlatformContext.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/PlatformContext.kt new file mode 100644 index 0000000..90a3a37 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/PlatformContext.kt @@ -0,0 +1,8 @@ +package org.example.presenceapp + +import androidx.compose.runtime.Composable + +expect class PlatformContext + +@Composable +expect fun getPlatformContext(): PlatformContext \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/Mapper.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/Mapper.kt new file mode 100644 index 0000000..d8f23e8 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/Mapper.kt @@ -0,0 +1,120 @@ +package org.example.presenceapp.data.common + +import org.example.presenceapp.data.common.dto.attendance.AttendanceRequestDto +import org.example.presenceapp.data.common.dto.attendance.AttendanceResponseDto +import org.example.presenceapp.data.common.dto.attendance.PresettingRequestDto +import org.example.presenceapp.data.common.dto.attendance.PresettingResponseDto +import org.example.presenceapp.data.common.dto.auth.AuthRequestDto +import org.example.presenceapp.data.common.dto.auth.AuthResponseDto +import org.example.presenceapp.data.common.dto.auth.GroupDto +import org.example.presenceapp.data.common.dto.auth.ResponsibleDto +import org.example.presenceapp.data.common.dto.auth.ResponsibleTypeDto +import org.example.presenceapp.data.common.dto.auth.RoleResponseDto +import org.example.presenceapp.data.common.dto.auth.UserResponseDto +import org.example.presenceapp.data.common.dto.schedule.ScheduleRequestDto +import org.example.presenceapp.data.common.dto.schedule.ScheduleResponseDto +import org.example.presenceapp.data.common.dto.schedule.SubjectResponseDto +import org.example.presenceapp.domain.command.attendance.AddAttendanceCommand +import org.example.presenceapp.domain.command.attendance.AddPresettingCommand +import org.example.presenceapp.domain.command.GroupCommand +import org.example.presenceapp.domain.command.LoginCommand +import org.example.presenceapp.domain.entities.Attendance +import org.example.presenceapp.domain.entities.AttendanceType +import org.example.presenceapp.domain.entities.GroupResponse +import org.example.presenceapp.domain.entities.LoginResponse +import org.example.presenceapp.domain.entities.Presetting +import org.example.presenceapp.domain.entities.Responsible +import org.example.presenceapp.domain.entities.ResponsibleType +import org.example.presenceapp.domain.entities.RoleResponse +import org.example.presenceapp.domain.entities.Schedule +import org.example.presenceapp.domain.entities.Subject +import org.example.presenceapp.domain.entities.UserResponse + +fun LoginCommand.toDto(): AuthRequestDto = AuthRequestDto( + login = email, + password = password +) + +fun GroupCommand.toDto(): ScheduleRequestDto = ScheduleRequestDto(groupId) + +fun AddAttendanceCommand.toDto(): AttendanceRequestDto = AttendanceRequestDto( + studentId = studentId, + scheduleId = scheduleId, + attendanceTypeId = attendanceTypeId, + attendanceDate = attendanceDate +) + +fun AddPresettingCommand.toDto(): PresettingRequestDto = PresettingRequestDto( + attendanceTypeId = attendanceTypeId, + startAt = startAt, + endAt = endAt +) + + + +fun ScheduleResponseDto.toEntity(): Schedule = Schedule( + subject = subject.toEntity(), + audience = audience, + dayOfWeek = dayOfWeek, + lessonNumber = lessonNumber, + id = id +) + +fun SubjectResponseDto.toEntity(): Subject = Subject( + id = id, + name = name +) + +fun AuthResponseDto.toEntity(): LoginResponse = LoginResponse( + token = token, + user = user.toEntity() +) + +fun UserResponseDto.toEntity(): UserResponse = UserResponse( + uuid = uuid, + email = email, + number = number, + fio = fio, + role = role.toEntity(), + responsible = responsible.map { it.toEntity() } +) + +fun ResponsibleDto.toEntity(): Responsible = Responsible( + group = group.toEntity(), + responsibleType = responsibleType.toEntity() +) + +fun GroupDto.toEntity(): GroupResponse = GroupResponse( + id = id, + name = name +) + +fun ResponsibleTypeDto.toEntity(): ResponsibleType = ResponsibleType( + id = id, + name = name +) + +fun RoleResponseDto.toEntity(): RoleResponse = RoleResponse( + id = id, + name = name +) + +fun AttendanceResponseDto.toEntity(): Attendance = Attendance( + attendanceTypeId = attendanceId, + studentId = studentId, + scheduleId = scheduleId, + date = attendanceDate, + type = attendanceTypeId +) + +fun AttendanceResponseDto.toAttendanceType(): AttendanceType = AttendanceType( + id = attendanceTypeId, + name = "" +) +fun PresettingResponseDto.toEntity(): Presetting = Presetting( + id = id, + attendanceType = attendanceType.toAttendanceType(), + studentId = studentId, + startAt = startAt, + endAt = endAt +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/attendance/AttendanceRequestDto.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/attendance/AttendanceRequestDto.kt new file mode 100644 index 0000000..59f5e72 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/attendance/AttendanceRequestDto.kt @@ -0,0 +1,19 @@ +package org.example.presenceapp.data.common.dto.attendance + +import kotlinx.datetime.LocalDate +import kotlinx.serialization.Serializable + +@Serializable +data class AttendanceRequestDto( + val studentId: Int, + val scheduleId: Int, + val attendanceTypeId: Int, + val attendanceDate: LocalDate +) + +@Serializable +data class PresettingRequestDto( + val attendanceTypeId: Int, + val startAt: LocalDate, + val endAt: LocalDate?, +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/attendance/AttendanceResponseDto.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/attendance/AttendanceResponseDto.kt new file mode 100644 index 0000000..5894106 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/attendance/AttendanceResponseDto.kt @@ -0,0 +1,28 @@ +package org.example.presenceapp.data.common.dto.attendance + +import kotlinx.datetime.LocalDate +import kotlinx.serialization.Serializable + +@Serializable +data class AttendanceResponseDto( + val attendanceId: Int, + val scheduleId: Int, + val attendanceTypeId: Int, + val attendanceDate: LocalDate, + val studentId: Int +) + +@Serializable +data class AttendanceTypeResponseDto( + val id: Int, + val name: String, +) + +@Serializable +data class PresettingResponseDto( + val id: Int, + val attendanceType: AttendanceResponseDto, + val studentId: Int, + val startAt: LocalDate, + val endAt: LocalDate, +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/auth/AuthRequestDto.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/auth/AuthRequestDto.kt new file mode 100644 index 0000000..e796984 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/auth/AuthRequestDto.kt @@ -0,0 +1,9 @@ +package org.example.presenceapp.data.common.dto.auth + +import kotlinx.serialization.Serializable + +@Serializable +data class AuthRequestDto( + val login: String, + val password: String +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/auth/AuthResponseDto.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/auth/AuthResponseDto.kt new file mode 100644 index 0000000..484928a --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/auth/AuthResponseDto.kt @@ -0,0 +1,43 @@ +package org.example.presenceapp.data.common.dto.auth + +import kotlinx.serialization.Serializable + +@Serializable +data class AuthResponseDto( + val user: UserResponseDto, + val token: String +) + +@Serializable +data class UserResponseDto( + val uuid: String, + val email: String, + val number: String, + val fio: String, + val role: RoleResponseDto, + var responsible: List = emptyList() +) + +@Serializable +data class RoleResponseDto( + val id: Int, + val name: String +) + +@Serializable +data class GroupDto( + val id: Int, + val name: String +) + +@Serializable +data class ResponsibleTypeDto( + val id: Int, + val name: String +) + +@Serializable +data class ResponsibleDto( + val group: GroupDto, + val responsibleType: ResponsibleTypeDto +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/group/StudentDto.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/group/StudentDto.kt new file mode 100644 index 0000000..05c7989 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/group/StudentDto.kt @@ -0,0 +1,15 @@ +package org.example.presenceapp.data.common.dto.group + +import kotlinx.datetime.LocalDate +import kotlinx.serialization.Serializable + +@Serializable +data class StudentResponseDto( + val studentId: Int, + val uuid: String, + val email: String, + val number: String, + val fio: String, + val enrollDate: LocalDate, + val expulsionDate: LocalDate? = null +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/schedule/ScheduleRequestDto.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/schedule/ScheduleRequestDto.kt new file mode 100644 index 0000000..32826ee --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/schedule/ScheduleRequestDto.kt @@ -0,0 +1,8 @@ +package org.example.presenceapp.data.common.dto.schedule + +import kotlinx.serialization.Serializable + +@Serializable +data class ScheduleRequestDto( + val groupId: Int +) diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/schedule/ScheduleResponseDto.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/schedule/ScheduleResponseDto.kt new file mode 100644 index 0000000..459739c --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/common/dto/schedule/ScheduleResponseDto.kt @@ -0,0 +1,18 @@ +package org.example.presenceapp.data.common.dto.schedule + +import kotlinx.serialization.Serializable + +@Serializable +data class ScheduleResponseDto( + val id: Int, + val lessonNumber: Int, + val audience: String, + val subject: SubjectResponseDto, + val dayOfWeek: Int, +) + +@Serializable +data class SubjectResponseDto( + val id: Int, + val name: String +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/LocalDataSource.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/LocalDataSource.kt new file mode 100644 index 0000000..1697f8a --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/LocalDataSource.kt @@ -0,0 +1,27 @@ +package org.example.presenceapp.data.local + +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.map +import org.example.presenceapp.data.local.storage.attendance.AttendanceStorage +import org.example.presenceapp.domain.entities.AbsenceReason +import org.example.presenceapp.domain.entities.Attendance +import org.example.presenceapp.domain.entities.AttendanceType + +class LocalDataSource(private val attendanceStorage: AttendanceStorage) { + suspend fun saveAttendance(map: Map) { + attendanceStorage.saveAttendanceMap(map) + } + + fun observeAttendance(): Flow> { + return attendanceStorage.attendanceMapFlow() + .map { attendanceMap -> + attendanceMap + } + .catch { e -> + println("Error reading attendance: ${e.message}") + emit(emptyMap()) + } + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt new file mode 100644 index 0000000..ff2fb49 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt @@ -0,0 +1,8 @@ +package org.example.presenceapp.data.local.storage + +import org.example.presenceapp.PlatformContext + +expect class SettingsStorage(context: PlatformContext) { + suspend fun put(key: String, value: String) + suspend fun get(key: String, defaultValue: String): String +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.kt new file mode 100644 index 0000000..5d80c32 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.kt @@ -0,0 +1,9 @@ +package org.example.presenceapp.data.local.storage.attendance + +import kotlinx.coroutines.flow.Flow +import org.example.presenceapp.domain.entities.Attendance + +interface AttendanceStorage { + suspend fun saveAttendanceMap(map: Map) + fun attendanceMapFlow(): Flow> +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.kt new file mode 100644 index 0000000..8e1f5e8 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.kt @@ -0,0 +1,7 @@ +package org.example.presenceapp.data.local.storage.attendance + +import org.example.presenceapp.PlatformContext + +expect class AttendanceStorageProvider(context: PlatformContext) { + fun provide(): AttendanceStorage +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/login/AuthManager.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/login/AuthManager.kt new file mode 100644 index 0000000..dc1b195 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/login/AuthManager.kt @@ -0,0 +1,9 @@ +package org.example.presenceapp.data.local.storage.login + +import org.example.project.data.local.TokenStorage + +class AuthManager(private val tokenStorage: TokenStorage) { + suspend fun setToken(token: String) = tokenStorage.setToken(token) + suspend fun deleteToken() = tokenStorage.deleteToken() + suspend fun getToken(): String? = tokenStorage.getToken() +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/login/TokenStorage.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/login/TokenStorage.kt new file mode 100644 index 0000000..13e1817 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/local/storage/login/TokenStorage.kt @@ -0,0 +1,7 @@ +package org.example.project.data.local + +interface TokenStorage { + suspend fun getToken(): String? + suspend fun setToken(token: String) + suspend fun deleteToken() +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/AttendanceApi.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/AttendanceApi.kt new file mode 100644 index 0000000..5e2efe1 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/AttendanceApi.kt @@ -0,0 +1,28 @@ +package org.example.presenceapp.data.remote.api + +import de.jensklingenberg.ktorfit.http.Body +import de.jensklingenberg.ktorfit.http.GET +import de.jensklingenberg.ktorfit.http.POST +import de.jensklingenberg.ktorfit.http.Path +import org.example.presenceapp.data.common.dto.attendance.AttendanceRequestDto +import org.example.presenceapp.data.common.dto.attendance.AttendanceResponseDto +import org.example.presenceapp.data.common.dto.attendance.AttendanceTypeResponseDto +import org.example.presenceapp.data.common.dto.attendance.PresettingResponseDto +import org.example.presenceapp.domain.command.attendance.AddPresettingCommand + +interface AttendanceApi { + @POST("api/v1/presence") + suspend fun addAttendance(@Body commands: List): List + + @GET("api/v1/presence/dictionary/attendance_type") + suspend fun getAttendanceTypes(): List + + @GET("api/v1/presence/{groupId}") + suspend fun getAttendance(@Path("groupId") groupId: Int): List + + @POST("api/v1/presence/presetting") + suspend fun addPresetting(@Body command: AddPresettingCommand): Boolean + + @GET("api/v1/presence/presetting/{groupId}") + suspend fun getPresetting(@Path("groupId") groupId: Int): List +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/AuthApi.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/AuthApi.kt new file mode 100644 index 0000000..b7fd262 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/AuthApi.kt @@ -0,0 +1,11 @@ +package org.example.presenceapp.data.remote.api + +import de.jensklingenberg.ktorfit.http.Body +import de.jensklingenberg.ktorfit.http.POST +import org.example.presenceapp.data.common.dto.auth.AuthRequestDto +import org.example.presenceapp.data.common.dto.auth.AuthResponseDto + +interface AuthApi { + @POST("api/v1/auth/login") + suspend fun login(@Body request: AuthRequestDto): AuthResponseDto +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/GroupApi.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/GroupApi.kt new file mode 100644 index 0000000..de84433 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/api/GroupApi.kt @@ -0,0 +1,18 @@ +package org.example.presenceapp.data.remote.api + +import de.jensklingenberg.ktorfit.http.GET +import de.jensklingenberg.ktorfit.http.Path +import org.example.presenceapp.data.common.dto.attendance.AttendanceResponseDto +import org.example.presenceapp.data.common.dto.group.StudentResponseDto +import org.example.presenceapp.data.common.dto.schedule.ScheduleResponseDto + +interface GroupApi { + @GET("api/v1/group/{id}/schedule") + suspend fun getSchedule(@Path id: Int): List + + @GET("api/v1/group/{id}/students") + suspend fun getStudents(@Path id: Int): List + + @GET("api/v1/group/{id}/presence") + suspend fun getPresence(@Path id: Int): List +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/AttendanceApiImpl.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/AttendanceApiImpl.kt new file mode 100644 index 0000000..522f0b0 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/AttendanceApiImpl.kt @@ -0,0 +1,26 @@ +package org.example.presenceapp.data.remote.impl + +import org.example.presenceapp.data.common.dto.attendance.AttendanceResponseDto +import org.example.presenceapp.data.common.dto.attendance.AttendanceTypeResponseDto +import org.example.presenceapp.data.common.dto.attendance.PresettingResponseDto +import org.example.presenceapp.data.common.toDto +import org.example.presenceapp.data.remote.api.AttendanceApi +import org.example.presenceapp.domain.command.attendance.AddAttendanceCommand +import org.example.presenceapp.domain.command.attendance.AddPresettingCommand + +class AttendanceApiImpl(private val attendanceApi: AttendanceApi) { + suspend fun addAttendance(commands: List): List = + attendanceApi.addAttendance(commands.map { it.toDto() }) + + suspend fun getAttendance(groupId: Int): List = + attendanceApi.getAttendance(groupId) + + suspend fun getAttendanceTypes(): List = + attendanceApi.getAttendanceTypes() + + suspend fun addPresetting(command: AddPresettingCommand): Boolean = + attendanceApi.addPresetting(command) + + suspend fun getPresetting(groupId: Int): List = + attendanceApi.getPresetting(groupId) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/AuthApiImpl.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/AuthApiImpl.kt new file mode 100644 index 0000000..d804f4c --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/AuthApiImpl.kt @@ -0,0 +1,9 @@ +package org.example.presenceapp.data.remote.impl + +import org.example.presenceapp.data.remote.api.AuthApi +import org.example.presenceapp.data.common.dto.auth.AuthRequestDto +import org.example.presenceapp.data.common.dto.auth.AuthResponseDto + +class AuthApiImpl(private val authApi: AuthApi) { + suspend fun login(requestDto: AuthRequestDto): AuthResponseDto = authApi.login(requestDto) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/ScheduleApiImpl.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/ScheduleApiImpl.kt new file mode 100644 index 0000000..4ecf352 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/impl/ScheduleApiImpl.kt @@ -0,0 +1,13 @@ +package org.example.presenceapp.data.remote.impl + +import org.example.presenceapp.data.common.dto.attendance.AttendanceResponseDto +import org.example.presenceapp.data.common.dto.group.StudentResponseDto +import org.example.presenceapp.data.common.dto.schedule.ScheduleRequestDto +import org.example.presenceapp.data.common.dto.schedule.ScheduleResponseDto +import org.example.presenceapp.data.remote.api.GroupApi + +class ScheduleApiImpl(private val groupApi: GroupApi) { + suspend fun getSchedule(scheduleRequestDto: ScheduleRequestDto): List = groupApi.getSchedule(scheduleRequestDto.groupId) + suspend fun getStudent(scheduleRequestDto: ScheduleRequestDto): List = groupApi.getStudents(scheduleRequestDto.groupId) + suspend fun getAttendance(scheduleRequestDto: ScheduleRequestDto): List = groupApi.getPresence(scheduleRequestDto.groupId) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/network/KtorfitClient.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/network/KtorfitClient.kt new file mode 100644 index 0000000..b5c5e19 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/remote/network/KtorfitClient.kt @@ -0,0 +1,46 @@ +package org.example.presenceapp.data.remote.network + +import de.jensklingenberg.ktorfit.Ktorfit +import io.ktor.client.HttpClient +import io.ktor.client.plugins.DefaultRequest +import io.ktor.client.plugins.contentnegotiation.ContentNegotiation +import io.ktor.client.request.header +import io.ktor.http.ContentType +import io.ktor.http.HttpHeaders +import io.ktor.serialization.kotlinx.json.json +import kotlinx.serialization.json.Json +import org.example.presenceapp.data.remote.api.AuthApi +import org.example.presenceapp.data.remote.api.GroupApi +import org.example.presenceapp.data.remote.api.AttendanceApi + +object KtorfitClient { + private const val BASE_URL = "http://185.207.0.137:8080/" + private val json = Json { ignoreUnknownKeys = true } + + private val ktorClient = HttpClient { + install(ContentNegotiation) { + json(json) + } + install(DefaultRequest) { + header(HttpHeaders.ContentType, ContentType.Application.Json) + } + } + + val instance: Ktorfit = Ktorfit.Builder() + .baseUrl(BASE_URL) + .httpClient(ktorClient) + .build() + + + fun createAuthApi(): AuthApi { + return instance.create() + } + + fun createScheduleApi(): GroupApi { + return instance.create() + } + + fun createAttendanceApi(): AttendanceApi { + return instance.create() + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/AttendanceNetRepository.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/AttendanceNetRepository.kt new file mode 100644 index 0000000..fde4d08 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/AttendanceNetRepository.kt @@ -0,0 +1,55 @@ +package org.example.presenceapp.data.repository + +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.map +import org.example.presenceapp.data.common.toDto +import org.example.presenceapp.data.common.toEntity +import org.example.presenceapp.data.local.LocalDataSource +import org.example.presenceapp.data.remote.impl.AttendanceApiImpl +import org.example.presenceapp.domain.command.attendance.AddAttendanceCommand +import org.example.presenceapp.domain.command.attendance.AddPresettingCommand +import org.example.presenceapp.domain.command.attendance.GetAttendanceCommand +import org.example.presenceapp.domain.command.attendance.GetPresettingCommand +import org.example.presenceapp.domain.entities.Attendance +import org.example.presenceapp.domain.entities.Presetting +import org.example.presenceapp.domain.repo.attendance.AttendanceRepository +import org.example.presenceapp.domain.repo.attendance.PresettingRepository + +class AttendanceNetRepository( + private val localDataSource: LocalDataSource, + private val attendanceApiImpl: AttendanceApiImpl +): AttendanceRepository, PresettingRepository { + suspend fun saveAttendanceLocally(attendance: Map) { + localDataSource.saveAttendance(attendance) + } + + fun observeLocalAttendance(): Flow> { + return localDataSource.observeAttendance() + .map { attendanceMap -> + attendanceMap + } + .catch { e -> + emit(emptyMap()) + } + } + + override suspend fun addAttendance(addAttendanceCommand: AddAttendanceCommand): List { + val result = attendanceApiImpl.addAttendance(listOf(addAttendanceCommand)) + return result.map { it.toEntity() } + } + + override suspend fun getAttendance(getAttendanceCommand: GetAttendanceCommand): List { + val result = attendanceApiImpl.getAttendance(getAttendanceCommand.groupId) + return result.map { it.toEntity() } + } + + override suspend fun addPresetting(addPresettingCommand: AddPresettingCommand): Boolean { + return attendanceApiImpl.addPresetting(addPresettingCommand) + } + + override suspend fun getPresetting(getPresettingCommand: GetPresettingCommand): List { + val result = attendanceApiImpl.getPresetting(getPresettingCommand.groupId) + return result.map { it.toEntity() } + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/AuthRepository.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/AuthRepository.kt new file mode 100644 index 0000000..6ce3b1f --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/AuthRepository.kt @@ -0,0 +1,20 @@ +package org.example.presenceapp.data.repository + +import org.example.presenceapp.data.common.toDto +import org.example.presenceapp.data.common.toEntity +import org.example.presenceapp.data.remote.impl.AuthApiImpl +import org.example.presenceapp.domain.command.LoginCommand +import org.example.presenceapp.domain.entities.LoginResponse +import org.example.presenceapp.domain.repo.LoginRepository +import org.example.presenceapp.data.local.storage.login.AuthManager + +class AuthRepository( + private val authApiImpl: AuthApiImpl, + private val authManager: AuthManager, +): LoginRepository { + override suspend fun login(loginCommand: LoginCommand): LoginResponse { + val result = authApiImpl.login(loginCommand.toDto()) + authManager.setToken(result.token) + return result.toEntity() + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/ScheduleNetRepository.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/ScheduleNetRepository.kt new file mode 100644 index 0000000..2bf2db0 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/ScheduleNetRepository.kt @@ -0,0 +1,17 @@ +package org.example.presenceapp.data.repository + +import org.example.presenceapp.data.common.toDto +import org.example.presenceapp.data.common.toEntity +import org.example.presenceapp.data.remote.impl.ScheduleApiImpl +import org.example.presenceapp.domain.command.GroupCommand +import org.example.presenceapp.domain.entities.Schedule +import org.example.presenceapp.domain.repo.ScheduleRepository + +class ScheduleNetRepository( + private val scheduleApiImpl: ScheduleApiImpl +): ScheduleRepository { + override suspend fun getSchedule(groupCommand: GroupCommand): List { + val result = scheduleApiImpl.getSchedule(groupCommand.toDto()) + return result.map { it.toEntity() } + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/settings/SettingsRepository.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/settings/SettingsRepository.kt new file mode 100644 index 0000000..f766123 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/settings/SettingsRepository.kt @@ -0,0 +1,8 @@ +package org.example.presenceapp.data.repository.settings + +import org.example.presenceapp.domain.entities.AttendanceType + +interface SettingsRepository { + suspend fun getDefaultAttendanceStatus(): AttendanceType + suspend fun setDefaultAttendanceStatus(type: AttendanceType) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/settings/SettingsRepositoryImpl.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/settings/SettingsRepositoryImpl.kt new file mode 100644 index 0000000..d4fe695 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/data/repository/settings/SettingsRepositoryImpl.kt @@ -0,0 +1,24 @@ +package org.example.presenceapp.data.repository.settings + +import org.example.presenceapp.data.local.storage.SettingsStorage +import org.example.presenceapp.domain.entities.AttendanceType + +class SettingsRepositoryImpl( + private val settingsStorage: SettingsStorage +) : SettingsRepository { + + override suspend fun getDefaultAttendanceStatus(): AttendanceType { + val statusString = settingsStorage.get( + key = "default_attendance_status", + defaultValue = AttendanceType.ABSENT.name + ) + return enumValueOf(statusString) + } + + override suspend fun setDefaultAttendanceStatus(type: AttendanceType) { + settingsStorage.put( + key = "default_attendance_status", + value = type.name + ) + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/di/NetworkModule.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/di/NetworkModule.kt new file mode 100644 index 0000000..028850f --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/di/NetworkModule.kt @@ -0,0 +1,33 @@ +package org.example.presenceapp.di + +import de.jensklingenberg.ktorfit.Ktorfit +import org.example.presenceapp.data.remote.api.AuthApi +import org.example.presenceapp.data.remote.api.GroupApi +import org.example.presenceapp.data.remote.api.createAuthApi +import org.example.presenceapp.data.remote.api.createGroupApi +import org.example.presenceapp.data.remote.impl.AuthApiImpl +import org.example.presenceapp.data.remote.impl.ScheduleApiImpl +import org.example.presenceapp.data.remote.network.KtorfitClient +import org.example.presenceapp.data.repository.AuthRepository +import org.example.presenceapp.data.repository.ScheduleNetRepository +import org.example.presenceapp.domain.repo.LoginRepository +import org.example.presenceapp.domain.repo.ScheduleRepository +import org.example.presenceapp.domain.usecases.LoginUseCase +import org.example.project.ui.login.LoginViewModel +import org.koin.dsl.module + +val networkModule = module { + single { KtorfitClient.instance } + single { get().createAuthApi() } + single { get().createGroupApi() } + + single { AuthApiImpl(get()) } + single { AuthRepository(get(), get()) } + + single { LoginUseCase(get()) } + + single { ScheduleApiImpl(get()) } + single { ScheduleNetRepository (get()) } + + factory { LoginViewModel(get(), get()) } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/GroupCommand.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/GroupCommand.kt new file mode 100644 index 0000000..867fdde --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/GroupCommand.kt @@ -0,0 +1,5 @@ +package org.example.presenceapp.domain.command + +data class GroupCommand( + val groupId: Int +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/LoginCommand.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/LoginCommand.kt new file mode 100644 index 0000000..d39d20b --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/LoginCommand.kt @@ -0,0 +1,6 @@ +package org.example.presenceapp.domain.command + +data class LoginCommand( + val email: String, + val password: String +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/AddAttendanceCommand.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/AddAttendanceCommand.kt new file mode 100644 index 0000000..ad43d5f --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/AddAttendanceCommand.kt @@ -0,0 +1,10 @@ +package org.example.presenceapp.domain.command.attendance + +import kotlinx.datetime.LocalDate + +data class AddAttendanceCommand( + val attendanceDate: LocalDate, + val studentId: Int, + val attendanceTypeId: Int, + val scheduleId: Int +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/AddPresettingCommand.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/AddPresettingCommand.kt new file mode 100644 index 0000000..7c90f8d --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/AddPresettingCommand.kt @@ -0,0 +1,10 @@ +package org.example.presenceapp.domain.command.attendance + +import kotlinx.datetime.LocalDate + +data class AddPresettingCommand( + val attendanceTypeId: Int, + val studentId: Int, + val startAt: LocalDate, + val endAt: LocalDate, +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/GetAttendanceCommand.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/GetAttendanceCommand.kt new file mode 100644 index 0000000..90fb99a --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/GetAttendanceCommand.kt @@ -0,0 +1,8 @@ +package org.example.presenceapp.domain.command.attendance + +import kotlinx.datetime.LocalDate + +data class GetAttendanceCommand( + val groupId: Int, + val beforeAt: LocalDate? +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/GetPresettingCommand.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/GetPresettingCommand.kt new file mode 100644 index 0000000..7fd7256 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/command/attendance/GetPresettingCommand.kt @@ -0,0 +1,8 @@ +package org.example.presenceapp.domain.command.attendance + +import kotlinx.datetime.LocalDate + +data class GetPresettingCommand( + val groupId: Int, + val endAt: LocalDate? +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/common/SomeStudents.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/common/SomeStudents.kt new file mode 100644 index 0000000..14abfd9 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/common/SomeStudents.kt @@ -0,0 +1,33 @@ +package org.example.presenceapp.domain.common + +import org.example.presenceapp.domain.entities.Schedule + +data class Student( + val id: String, + val name: String +) + +class SomeStudents { + val students = listOf( + Student(id = "1", name = "Васильев Кирилл"), + Student(id = "2", name = "Игнатова Вероника"), + Student(id = "3", name = "Латышева Екатерина"), + Student(id = "4", name = "Ермолаев Егор"), + Student(id = "5", name = "Фролов Владимир"), + Student(id = "6", name = "Чеботарева Анастасия"), + Student(id = "7", name = "Попова Виктория"), + Student(id = "8", name = "Соловьева Лейла"), + Student(id = "9", name = "Орлова Анжелика"), + Student(id = "10", name = "Осипова Татьяна"), + Student(id = "11", name = "Николаева Ева"), + Student(id = "12", name = "Федосеева Майя") + ) +} + +object SampleData { + val lessonTimes = listOf("9:00", "9:55", "10:50", "11:55", "13:00", "14:00", "14:55", "15:45") +} + +object SelectedLessonHolder { + var selectedLesson: Schedule? = null +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/common/ToDayMonthString.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/common/ToDayMonthString.kt new file mode 100644 index 0000000..4a48fde --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/common/ToDayMonthString.kt @@ -0,0 +1,36 @@ +package org.example.project.domain.models + +import kotlinx.datetime.LocalDate +import kotlinx.datetime.Month +import kotlinx.datetime.number + + +fun Week.formatWeek(): String { + val start = "${startDate.dayOfMonth.toString().padStart(2, '0')}.${startDate.month.number.toString().padStart(2, '0')}" + val end = "${endDate.dayOfMonth.toString().padStart(2, '0')}.${endDate.month.number.toString().padStart(2, '0')}" + return "$start - $end" +} + + +val russianMonths = mapOf( + Month.JANUARY to "Январь", + Month.FEBRUARY to "Февраль", + Month.MARCH to "Март", + Month.APRIL to "Апрель", + Month.MAY to "Май", + Month.JUNE to "Июнь", + Month.JULY to "Июль", + Month.AUGUST to "Август", + Month.SEPTEMBER to "Сентябрь", + Month.OCTOBER to "Октябрь", + Month.NOVEMBER to "Ноябрь", + Month.DECEMBER to "Декабрь" +) + +fun Month.toRussianName(): String = russianMonths[this] ?: name + + +fun LocalDate.formatDay(): String { + val currentDay = "${dayOfMonth.toString().padStart(2, '0')}.${month.number.toString().padStart(2, '0')}" + return currentDay +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Attendance.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Attendance.kt new file mode 100644 index 0000000..4b3a59d --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Attendance.kt @@ -0,0 +1,19 @@ +package org.example.presenceapp.domain.entities + +import kotlinx.datetime.LocalDate +import kotlinx.serialization.Serializable + +@Serializable +data class Attendance( + val studentId: Int, + val attendanceTypeId: Int, + val scheduleId: Int, + val date: LocalDate, + val type: Int, +) + +@Serializable +data class AttendanceType( + val id: Int, + var name: String = "" +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/DayData.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/DayData.kt new file mode 100644 index 0000000..3341234 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/DayData.kt @@ -0,0 +1,9 @@ +package org.example.presenceapp.domain.entities + +import kotlinx.datetime.LocalDate + +data class DayData( + val date: LocalDate, + val isCurrentMonth: Boolean, + val attendance: AttendanceType? +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/DaysOfWeek.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/DaysOfWeek.kt new file mode 100644 index 0000000..f45fb8d --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/DaysOfWeek.kt @@ -0,0 +1,16 @@ +package org.example.project.domain.models + +import kotlinx.datetime.LocalDate +import kotlinx.datetime.Month + +data class MonthWithWeeks( + val month: Month, + val year: Int, + val weeks: List +) + +data class Week( + val startDate: LocalDate, + val endDate: LocalDate, +) + diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/LoginResponse.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/LoginResponse.kt new file mode 100644 index 0000000..9588471 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/LoginResponse.kt @@ -0,0 +1,35 @@ +package org.example.presenceapp.domain.entities + +data class LoginResponse ( + val user: UserResponse, + val token: String +) + +data class UserResponse( + val uuid: String, + val email: String, + val number: String, + val fio: String, + val role: RoleResponse, + var responsible: List +) + +data class RoleResponse( + val id: Int, + val name: String +) + +data class GroupResponse( + val id: Int, + val name: String +) + +data class ResponsibleType( + val id: Int, + val name: String +) + +data class Responsible( + val group: GroupResponse, + val responsibleType: ResponsibleType +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Presetting.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Presetting.kt new file mode 100644 index 0000000..c6eef6b --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Presetting.kt @@ -0,0 +1,11 @@ +package org.example.presenceapp.domain.entities + +import kotlinx.datetime.LocalDate + +data class Presetting( + val id: Int, + val studentId: Int, + val attendanceType: AttendanceType, + val startAt: LocalDate, + val endAt: LocalDate +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/ResponseState.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/ResponseState.kt new file mode 100644 index 0000000..83b6af0 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/ResponseState.kt @@ -0,0 +1,17 @@ +package org.example.presenceapp.domain.entities + +sealed class ResponseState { + class Error(val error: String): ResponseState() + class Success(val data: T): ResponseState() +} + +sealed class Either { + class Left(val value: A): Either() + class Right(val value: B): Either() +} + +enum class ServiceError { + NOT_FOUND, + UNAUTHORIZED, + NOT_CREATED +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Schedule.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Schedule.kt new file mode 100644 index 0000000..438e121 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/Schedule.kt @@ -0,0 +1,15 @@ +package org.example.presenceapp.domain.entities + +data class Schedule( + val id: Int, + val lessonNumber: Int, + val audience: String, + val subject: Subject, + val dayOfWeek: Int, +) +data class Subject( + val id: Int, + val name: String +) + + diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/UserInfo.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/UserInfo.kt new file mode 100644 index 0000000..fe4cfd3 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/entities/UserInfo.kt @@ -0,0 +1,7 @@ +package org.example.presenceapp.domain.entities + +object UserInfo { + var userName: String = "" + var userGroup: String = "" + var userRole: String = "" +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/LoginRepository.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/LoginRepository.kt new file mode 100644 index 0000000..50b65df --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/LoginRepository.kt @@ -0,0 +1,8 @@ +package org.example.presenceapp.domain.repo + +import org.example.presenceapp.domain.command.LoginCommand +import org.example.presenceapp.domain.entities.LoginResponse + +interface LoginRepository { + suspend fun login(loginCommand: LoginCommand): LoginResponse +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/ScheduleRepository.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/ScheduleRepository.kt new file mode 100644 index 0000000..310104b --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/ScheduleRepository.kt @@ -0,0 +1,8 @@ +package org.example.presenceapp.domain.repo + +import org.example.presenceapp.domain.command.GroupCommand +import org.example.presenceapp.domain.entities.Schedule + +interface ScheduleRepository { + suspend fun getSchedule(groupCommand: GroupCommand): List +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/AttendanceRepository.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/AttendanceRepository.kt new file mode 100644 index 0000000..b1998c2 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/AttendanceRepository.kt @@ -0,0 +1,10 @@ +package org.example.presenceapp.domain.repo.attendance + +import org.example.presenceapp.domain.command.attendance.AddAttendanceCommand +import org.example.presenceapp.domain.command.attendance.GetAttendanceCommand +import org.example.presenceapp.domain.entities.Attendance + +interface AttendanceRepository { + suspend fun addAttendance(addAttendanceCommand: AddAttendanceCommand): List + suspend fun getAttendance(getAttendanceCommand: GetAttendanceCommand): List +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/AttendanceTypeRepository.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/AttendanceTypeRepository.kt new file mode 100644 index 0000000..6e20f04 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/AttendanceTypeRepository.kt @@ -0,0 +1,7 @@ +package org.example.presenceapp.domain.repo.attendance + +import org.example.presenceapp.domain.entities.AttendanceType + +interface AttendanceTypeRepository { + suspend fun getAttendanceTypes(): List +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/PresettingRepository.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/PresettingRepository.kt new file mode 100644 index 0000000..21cd972 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/repo/attendance/PresettingRepository.kt @@ -0,0 +1,10 @@ +package org.example.presenceapp.domain.repo.attendance + +import org.example.presenceapp.domain.command.attendance.AddPresettingCommand +import org.example.presenceapp.domain.command.attendance.GetPresettingCommand +import org.example.presenceapp.domain.entities.Presetting + +interface PresettingRepository { + suspend fun addPresetting(addPresettingCommand: AddPresettingCommand): Boolean + suspend fun getPresetting(getPresettingCommand: GetPresettingCommand): List +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/AttendanceUseCase.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/AttendanceUseCase.kt new file mode 100644 index 0000000..4901bf8 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/AttendanceUseCase.kt @@ -0,0 +1,52 @@ +package org.example.presenceapp.domain.usecases + +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flow +import org.example.presenceapp.domain.command.attendance.AddAttendanceCommand +import org.example.presenceapp.domain.command.attendance.AddPresettingCommand +import org.example.presenceapp.domain.command.attendance.GetAttendanceCommand +import org.example.presenceapp.domain.command.attendance.GetPresettingCommand +import org.example.presenceapp.domain.entities.Attendance +import org.example.presenceapp.domain.entities.Either +import org.example.presenceapp.domain.entities.Presetting +import org.example.presenceapp.domain.repo.attendance.AttendanceRepository + +class AttendanceUseCase( + private val attendanceRepository: AttendanceRepository +) { + fun addAttendance(addAttendanceCommand: AddAttendanceCommand): Flow> = flow { + return@flow try { + val result = attendanceRepository.addAttendance(addAttendanceCommand) + emit(Either.Right(result)) + } catch (e:Exception) { + emit(Either.Left(e)) + } + } + + fun getAttendance(getAttendanceCommand: GetAttendanceCommand): Flow>> = flow { + return@flow try { + val result = attendanceRepository.getAttendance(getAttendanceCommand) + emit(Either.Right(result)) + } catch (e:Exception) { + emit(Either.Left(e)) + } + } + + fun addPresetting(addPresettingCommand: AddPresettingCommand): Flow> = flow { + return@flow try { + val result = attendanceRepository.addPresetting(addPresettingCommand) + emit(Either.Right(result)) + } catch (e:Exception) { + emit(Either.Left(e)) + } + } + + fun getPresetting(getPresettingCommand: GetPresettingCommand): Flow>> = flow { + return@flow try { + val result = attendanceRepository.getPresetting(getPresettingCommand) + emit(Either.Right(result)) + } catch (e:Exception) { + emit(Either.Left(e)) + } + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/LoginUseCase.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/LoginUseCase.kt new file mode 100644 index 0000000..015e5ed --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/LoginUseCase.kt @@ -0,0 +1,21 @@ +package org.example.presenceapp.domain.usecases + +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flow +import org.example.presenceapp.domain.entities.Either +import org.example.presenceapp.domain.command.LoginCommand +import org.example.presenceapp.domain.entities.LoginResponse +import org.example.presenceapp.domain.repo.LoginRepository + +class LoginUseCase( + private val loginRepository: LoginRepository +) { + fun login(loginCommand: LoginCommand): Flow> = flow { + return@flow try { + val result = loginRepository.login(loginCommand) + emit(Either.Right(result)) + } catch (e:Exception) { + emit(Either.Left(e)) + } + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/ScheduleUseCase.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/ScheduleUseCase.kt new file mode 100644 index 0000000..0e86022 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/org/example/presenceapp/domain/usecases/ScheduleUseCase.kt @@ -0,0 +1,21 @@ +package org.example.presenceapp.domain.usecases + +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flow +import org.example.presenceapp.domain.command.GroupCommand +import org.example.presenceapp.domain.entities.Either +import org.example.presenceapp.domain.entities.Schedule +import org.example.presenceapp.domain.repo.ScheduleRepository + +class ScheduleUseCase( + private val scheduleRepository: ScheduleRepository +) { + fun getSchedule(groupCommand: GroupCommand): Flow>> = flow { + return@flow try { + val result = scheduleRepository.getSchedule(groupCommand) + emit(Either.Right(result)) + } catch (e: Exception) { + emit(Either.Left(e)) + } + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/AttendanceScreen.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/AttendanceScreen.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/AttendanceScreenModel.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/AttendanceScreenModel.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/components/AttendanceColumn.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/components/AttendanceColumn.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/components/AttendanceToString.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/attendance/components/AttendanceToString.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/CalendarScreen.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/CalendarScreen.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/CalendarScreenModel.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/CalendarScreenModel.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarDayCell.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarDayCell.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarGrid.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarGrid.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarMonth.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarMonth.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarUtils.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarUtils.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarWeekDays.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/calendar/components/CalendarWeekDays.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonBottomBar.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonBottomBar.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonButton.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonButton.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonDataText.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonDataText.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonDialog.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonDialog.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonIconButton.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonIconButton.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonLabel.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonLabel.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonMainText.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonMainText.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonMediumText.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonMediumText.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonRegularText.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonRegularText.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonTopBar.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/CommonTopBar.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/ErrorDialog.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/commons/ErrorDialog.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/InfoScreen.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/InfoScreen.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/InfoScreenModel.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/InfoScreenModel.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/InfoScreenState.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/InfoScreenState.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/components/InfoCard.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/info/components/InfoCard.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/LoginScreen.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/LoginScreen.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/LoginScreenState.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/LoginScreenState.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/LoginViewModel.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/LoginViewModel.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/components/LoginButton.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/components/LoginButton.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/components/LoginCheckBox.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/components/LoginCheckBox.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/components/LoginTextField.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/login/components/LoginTextField.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/ScheduleScreen.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/ScheduleScreen.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/ScheduleScreenModel.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/ScheduleScreenModel.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/ScheduleScreenState.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/ScheduleScreenState.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/EmptyScheduleLessonsItem.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/EmptyScheduleLessonsItem.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleDaySelector.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleDaySelector.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleDayText.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleDayText.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleLessonItem.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleLessonItem.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleLessonList.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/schedule/components/ScheduleLessonList.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/Preset.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/Preset.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/SettingsScreen.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/SettingsScreen.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/SettingsScreenModel.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/SettingsScreenModel.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/components/SettingsReasonOption.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/settings/components/SettingsReasonOption.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/Theme.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/Theme.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeState.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeState.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeTypes.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeTypes.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/types/ButtonType.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/types/ButtonType.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/types/ScreenType.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/types/ScreenType.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/WeeksScreen.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/WeeksScreen.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/WeeksScreenState.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/WeeksScreenState.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/WeeksViewModel.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/WeeksViewModel.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/components/MonthHeader.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/components/MonthHeader.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/components/ScheduleCard.kt b/composeApp/src/commonMain/kotlin/org/example/presenceapp/ui/weeks/components/ScheduleCard.kt new file mode 100644 index 0000000..e69de29 diff --git a/composeApp/src/iosMain/c_interop/Uikit.def b/composeApp/src/iosMain/c_interop/Uikit.def new file mode 100644 index 0000000..f5ae0c8 --- /dev/null +++ b/composeApp/src/iosMain/c_interop/Uikit.def @@ -0,0 +1,2 @@ +language = Objective-C +modules = UIKit \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/MainViewController.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/MainViewController.kt new file mode 100644 index 0000000..a8fcd5c --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/MainViewController.kt @@ -0,0 +1,5 @@ +package org.example.presenceapp + +import androidx.compose.ui.window.ComposeUIViewController + +fun MainViewController() = ComposeUIViewController { App() } \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/Platform.ios.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/Platform.ios.kt new file mode 100644 index 0000000..1fa812b --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/Platform.ios.kt @@ -0,0 +1,9 @@ +package org.example.presenceapp + +import platform.UIKit.UIDevice + +class IOSPlatform: Platform { + override val name: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion +} + +actual fun getPlatform(): Platform = IOSPlatform() \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/PlatformContext.ios.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/PlatformContext.ios.kt new file mode 100644 index 0000000..db10ccf --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/PlatformContext.ios.kt @@ -0,0 +1,10 @@ +package org.example.presenceapp + +import androidx.compose.runtime.Composable + +actual class PlatformContext + +@Composable +actual fun getPlatformContext(): PlatformContext { + return PlatformContext() +} \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt new file mode 100644 index 0000000..ba50644 --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/SettingsStorage.kt @@ -0,0 +1,16 @@ +package org.example.presenceapp.data.local.storage + +import org.example.presenceapp.PlatformContext +import platform.Foundation.NSUserDefaults + +actual class SettingsStorage actual constructor(private val context: PlatformContext) { + private val userDefaults = NSUserDefaults.standardUserDefaults() + + actual suspend fun put(key: String, value: String) { + userDefaults.setObject(value, forKey = key) + } + + actual suspend fun get(key: String, defaultValue: String): String { + return userDefaults.stringForKey(key) ?: defaultValue + } +} \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.ios.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.ios.kt new file mode 100644 index 0000000..133c9c4 --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorage.ios.kt @@ -0,0 +1,30 @@ +package org.example.presenceapp.data.local.storage.attendance + +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flow +import kotlinx.serialization.json.Json +import org.example.presenceapp.domain.entities.Attendance +import platform.Foundation.NSUserDefaults + +class AttendanceStorageIos: AttendanceStorage { + + private val defaults = NSUserDefaults.standardUserDefaults + + override suspend fun saveAttendanceMap(map: Map) { + val json = Json.encodeToString(map) + defaults.setObject(json, forKey = "attendance_map") + } + + override fun attendanceMapFlow(): Flow> { + return flow { + val json = defaults.stringForKey("attendance_map") + emit( + if (json != null) { + Json.decodeFromString>(json) + } else { + emptyMap() + } + ) + } + } +} \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.ios.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.ios.kt new file mode 100644 index 0000000..7480594 --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/data/local/storage/attendance/AttendanceStorageProvider.ios.kt @@ -0,0 +1,9 @@ +package org.example.presenceapp.data.local.storage.attendance + +import org.example.presenceapp.PlatformContext + +actual class AttendanceStorageProvider actual constructor(context: PlatformContext) { + actual fun provide(): AttendanceStorage { + return AttendanceStorageIos() + } +} \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/di/iOSModule.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/di/iOSModule.kt new file mode 100644 index 0000000..c149a0b --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/di/iOSModule.kt @@ -0,0 +1,7 @@ +package org.example.presenceapp.di + +import org.koin.dsl.module + +val iosModule = module { + +} \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.ios.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.ios.kt new file mode 100644 index 0000000..87feb9e --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/settings/SettingsManager.ios.kt @@ -0,0 +1,27 @@ +package org.example.presenceapp.ui.settings + +import androidx.compose.runtime.Composable +import org.example.presenceapp.PlatformContext +import platform.Foundation.NSUserDefaults + +actual class SettingsManager actual constructor(platformContext: PlatformContext) { + private val userDefaults = NSUserDefaults.standardUserDefaults() + + actual fun isDialogShown(): Boolean { + return userDefaults.boolForKey(KEY_DIALOG_SHOWN) ?: false + } + + actual fun setDialogShown() { + userDefaults.setBool(true, forKey = KEY_DIALOG_SHOWN) + } + + companion object { + private const val KEY_DIALOG_SHOWN = "dialog_shown" + } +} + +@Composable +actual fun getSettingsManager(): SettingsManager { + val platformContext = PlatformContext() + return SettingsManager(platformContext) +} \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/theme/Theme.ios.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/theme/Theme.ios.kt new file mode 100644 index 0000000..d96f89b --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/theme/Theme.ios.kt @@ -0,0 +1,14 @@ +package org.example.presenceapp.ui.theme + +import androidx.compose.runtime.Composable +import org.example.presenceapp.ui.theme.themeManager.IosThemeManager +import org.example.presenceapp.ui.theme.themeManager.ThemeObserver +import org.example.presenceapp.ui.theme.themeManager.ThemeState + +@Composable +actual fun rememberThemeState(): ThemeState { + return ThemeState( + themeManager = IosThemeManager(), + isSystemDark = ThemeObserver.isDarkMode() + ) +} \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.ios.kt b/composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.ios.kt new file mode 100644 index 0000000..0589d0d --- /dev/null +++ b/composeApp/src/iosMain/kotlin/org/example/presenceapp/ui/theme/themeManager/ThemeManager.ios.kt @@ -0,0 +1,39 @@ +package org.example.presenceapp.ui.theme.themeManager + +import platform.Foundation.setValue +import platform.UIKit.UIApplication +import platform.UIKit.UIUserInterfaceStyle +import platform.UIKit.UIWindow + +@Suppress("CONFLICTING_OVERLOADS") +fun UIWindow.setOverrideUserInterfaceStyle(style: UIUserInterfaceStyle) { + this.setValue(style, forKey = "overrideUserInterfaceStyle") +} + +class IosThemeManager: ThemeManager { + private var currentTheme: ThemeTypes = ThemeTypes.SYSTEM + + override fun getCurrentTheme() = currentTheme + override fun setTheme(theme: ThemeTypes) { + currentTheme = theme + updateAllWindowsTheme(theme) + } + + private fun updateAllWindowsTheme(theme: ThemeTypes) { + val style = when (theme) { + ThemeTypes.LIGHT -> UIUserInterfaceStyle.UIUserInterfaceStyleLight + ThemeTypes.DARK -> UIUserInterfaceStyle.UIUserInterfaceStyleDark + ThemeTypes.SYSTEM -> UIUserInterfaceStyle.UIUserInterfaceStyleUnspecified + } + + (UIApplication.sharedApplication.windows as? List)?.forEach { window -> + window.setOverrideUserInterfaceStyle(style) + } + } +} + +external class ThemeObserver: platform.darwin.NSObject { + companion object { + fun isDarkMode(): Boolean + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..964007c --- /dev/null +++ b/gradle.properties @@ -0,0 +1,10 @@ +#Kotlin +kotlin.code.style=official +kotlin.daemon.jvmargs=-Xmx2048M + +#Gradle +org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8 + +#Android +android.nonTransitiveRClass=true +android.useAndroidX=true \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..d08a6ff --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,127 @@ +[versions] +agp = "8.5.2" +android-compileSdk = "35" +android-minSdk = "24" +android-targetSdk = "35" +androidx-activityCompose = "1.10.1" +androidx-appcompat = "1.7.0" +androidx-constraintlayout = "2.2.1" +androidx-core-ktx = "1.15.0" +androidx-espresso-core = "3.6.1" +androidx-lifecycle = "2.8.4" +androidx-material = "1.12.0" +androidx-test-junit = "1.2.1" +compose-multiplatform = "1.7.3" +datastorePreferences = "1.1.4" +junit = "4.13.2" +kermit = "2.0.0" +kotlin = "2.1.10" +kotlinLogging = "2.1.21" +kotlinxCoroutinesCore = "1.7.3-native-mt" +logbackClassic = "1.2.9" +material3Android = "1.3.1" +compose-ui = "1.7.3" +multiplatformSettings = "1.1.1" +resources = "1.7.3" + +kotlinxSerialization = "1.8.0" +kotlinx-coroutines = "1.10.1" +slf4jApi = "2.0.16" +startupRuntime = "1.2.0" +voyager = "1.1.0-beta02" +ktor = "3.1.2" +ktorfit = "2.5.0" +koin = "3.5.3" +koin-compose = "1.0.4" +ksp = "2.1.10-1.0.31" +kotlinx-datetime = "0.6.0" +uiAndroid = "1.7.8" +annotationJvm = "1.9.1" +uiTextAndroid = "1.7.8" +foundationLayoutAndroid = "1.7.8" + + + +[libraries] +androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastorePreferences" } +androidx-datastore-preferences-core = { module = "androidx.datastore:datastore-preferences-core", version.ref = "datastorePreferences" } +androidx-startup-runtime = { module = "androidx.startup:startup-runtime", version.ref = "startupRuntime" } +kermit = { module = "co.touchlab:kermit", version.ref = "kermit" } +kotlin-logging = { module = "io.github.microutils:kotlin-logging", version.ref = "kotlinLogging" } +kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } +kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" } +junit = { group = "junit", name = "junit", version.ref = "junit" } +androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" } +androidx-test-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-junit" } +androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-espresso-core" } +androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" } +androidx-material = { group = "com.google.android.material", name = "material", version.ref = "androidx-material" } +androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" } +androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" } +androidx-lifecycle-viewmodel = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-viewmodel", version.ref = "androidx-lifecycle" } +androidx-lifecycle-runtime-compose = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } +androidx-material3-android = { group = "androidx.compose.material3", name = "material3-android", version.ref = "material3Android" } +compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose-ui" } +kotlinx-coroutines-core-v173nativemt = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutinesCore" } +logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logbackClassic" } +multiplatform-settings = { module = "com.russhwolf:multiplatform-settings", version.ref = "multiplatformSettings" } +resources = { module = "org.jetbrains.compose.resources:resources", version.ref = "resources" } + +# serialization +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerialization" } + +# coroutines +kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } + +# voyager +slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4jApi" } +voyager-navigator = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" } +voyager-screenmodel = { module = "cafe.adriel.voyager:voyager-screenmodel", version.ref = "voyager" } +voyager-koin = { module = "cafe.adriel.voyager:voyager-koin", version.ref = "voyager" } + +# ktor +ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } +ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.ref = "ktor" } +ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" } +ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" } +ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" } +ktor-client-json = { module = "io.ktor:ktor-client-json", version.ref = "ktor" } +ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" } +ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" } +ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } + +# ktorfit +ktorfit = { module = "de.jensklingenberg.ktorfit:ktorfit-lib", version.ref = "ktorfit" } +ktorfit-ksp = { module = "de.jensklingenberg.ktorfit:ktorfit-ksp", version.ref = "ktorfit" } + +# koin +koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" } +koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" } +koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin" } +koin-ktor = { module = "io.insert-koin:koin-ktor", version.ref = "koin" } +koin-core-native = { module = "io.insert-koin:koin-core", version.ref = "koin" } +koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koin-compose" } + +# date time +kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" } + +androidx-ui-android = { group = "androidx.compose.ui", name = "ui-android", version.ref = "uiAndroid" } +androidx-annotation-jvm = { group = "androidx.annotation", name = "annotation-jvm", version.ref = "annotationJvm" } +androidx-ui-text-android = { group = "androidx.compose.ui", name = "ui-text-android", version.ref = "uiTextAndroid" } +androidx-foundation-layout-android = { group = "androidx.compose.foundation", name = "foundation-layout-android", version.ref = "foundationLayoutAndroid" } + + + +[plugins] +androidApplication = { id = "com.android.application", version.ref = "agp" } +androidLibrary = { id = "com.android.library", version.ref = "agp" } +composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" } +composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } + +# ksp +ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } + +# ktorfit +ktorfit = { id = "de.jensklingenberg.ktorfit", version.ref = "ktorfit" } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2c3521197d7c4586c843d1d3e9090525f1898cde GIT binary patch literal 43504 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 yu?e%!_ptzGB|8GrCfu%p?(_ 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 TZiJi*F`$tkWLn) literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..09523c0 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..f5feea6 --- /dev/null +++ b/gradlew @@ -0,0 +1,252 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..9d21a21 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/iosApp/Configuration/Config.xcconfig b/iosApp/Configuration/Config.xcconfig new file mode 100644 index 0000000..219172e --- /dev/null +++ b/iosApp/Configuration/Config.xcconfig @@ -0,0 +1,3 @@ +TEAM_ID= +BUNDLE_ID=org.example.presenceapp.PresenceApp +APP_NAME=PresenceApp \ No newline at end of file diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj new file mode 100644 index 0000000..b7d9d2e --- /dev/null +++ b/iosApp/iosApp.xcodeproj/project.pbxproj @@ -0,0 +1,393 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557BA273AAA24004C7B11 /* Assets.xcassets */; }; + 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */; }; + 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2152FB032600AC8F00CF470E /* iOSApp.swift */; }; + 7555FF83242A565900829871 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7555FF82242A565900829871 /* ContentView.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 058557BA273AAA24004C7B11 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 2152FB032600AC8F00CF470E /* iOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iOSApp.swift; sourceTree = ""; }; + 7555FF7B242A565900829871 /* PresenceApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PresenceApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 7555FF82242A565900829871 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 7555FF8C242A565B00829871 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AB3632DC29227652001CCB65 /* Config.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + B92378962B6B1156000C7307 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 058557D7273AAEEB004C7B11 /* Preview Content */ = { + isa = PBXGroup; + children = ( + 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + 42799AB246E5F90AF97AA0EF /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + 7555FF72242A565900829871 = { + isa = PBXGroup; + children = ( + AB1DB47929225F7C00F7AF9C /* Configuration */, + 7555FF7D242A565900829871 /* iosApp */, + 7555FF7C242A565900829871 /* Products */, + 42799AB246E5F90AF97AA0EF /* Frameworks */, + ); + sourceTree = ""; + }; + 7555FF7C242A565900829871 /* Products */ = { + isa = PBXGroup; + children = ( + 7555FF7B242A565900829871 /* PresenceApp.app */, + ); + name = Products; + sourceTree = ""; + }; + 7555FF7D242A565900829871 /* iosApp */ = { + isa = PBXGroup; + children = ( + 058557BA273AAA24004C7B11 /* Assets.xcassets */, + 7555FF82242A565900829871 /* ContentView.swift */, + 7555FF8C242A565B00829871 /* Info.plist */, + 2152FB032600AC8F00CF470E /* iOSApp.swift */, + 058557D7273AAEEB004C7B11 /* Preview Content */, + ); + path = iosApp; + sourceTree = ""; + }; + AB1DB47929225F7C00F7AF9C /* Configuration */ = { + isa = PBXGroup; + children = ( + AB3632DC29227652001CCB65 /* Config.xcconfig */, + ); + path = Configuration; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 7555FF7A242A565900829871 /* iosApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */; + buildPhases = ( + F36B1CEB2AD83DDC00CB74D5 /* Compile Kotlin Framework */, + 7555FF77242A565900829871 /* Sources */, + B92378962B6B1156000C7307 /* Frameworks */, + 7555FF79242A565900829871 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = iosApp; + packageProductDependencies = ( + ); + productName = iosApp; + productReference = 7555FF7B242A565900829871 /* PresenceApp.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 7555FF73242A565900829871 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 1130; + LastUpgradeCheck = 1540; + ORGANIZATIONNAME = orgName; + TargetAttributes = { + 7555FF7A242A565900829871 = { + CreatedOnToolsVersion = 11.3.1; + }; + }; + }; + buildConfigurationList = 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 7555FF72242A565900829871; + packageReferences = ( + ); + productRefGroup = 7555FF7C242A565900829871 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 7555FF7A242A565900829871 /* iosApp */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 7555FF79242A565900829871 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */, + 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + F36B1CEB2AD83DDC00CB74D5 /* Compile Kotlin Framework */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Compile Kotlin Framework"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [ \"YES\" = \"$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED\" ]; then\n echo \"Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \\\"YES\\\"\"\n exit 0\nfi\ncd \"$SRCROOT/..\"\n./gradlew :composeApp:embedAndSignAppleFrameworkForXcode\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 7555FF77242A565900829871 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */, + 7555FF83242A565900829871 /* ContentView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 7555FFA3242A565B00829871 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.3; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 7555FFA4242A565B00829871 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AB3632DC29227652001CCB65 /* Config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.3; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 7555FFA6242A565B00829871 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; + DEVELOPMENT_TEAM = "${TEAM_ID}"; + ENABLE_PREVIEWS = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)\n$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)", + ); + INFOPLIST_FILE = iosApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; + PRODUCT_NAME = "${APP_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 7555FFA7242A565B00829871 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\""; + DEVELOPMENT_TEAM = "${TEAM_ID}"; + ENABLE_PREVIEWS = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../shared/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)\n$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)", + ); + INFOPLIST_FILE = iosApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.3; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "${BUNDLE_ID}${TEAM_ID}"; + PRODUCT_NAME = "${APP_NAME}"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 7555FF76242A565900829871 /* Build configuration list for PBXProject "iosApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7555FFA3242A565B00829871 /* Debug */, + 7555FFA4242A565B00829871 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 7555FFA5242A565B00829871 /* Build configuration list for PBXNativeTarget "iosApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7555FFA6242A565B00829871 /* Debug */, + 7555FFA7242A565B00829871 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 7555FF73242A565900829871 /* Project object */; +} \ No newline at end of file diff --git a/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json b/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..ee7e3ca --- /dev/null +++ b/iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..8edf56e --- /dev/null +++ b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images" : [ + { + "filename" : "app-icon-1024.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..53fc536fb9ac5c1dbb27c7e1da13db3760070a11 GIT binary patch literal 67285 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 BXNCX( literal 0 HcmV?d00001 diff --git a/iosApp/iosApp/Assets.xcassets/Contents.json b/iosApp/iosApp/Assets.xcassets/Contents.json new file mode 100644 index 0000000..4aa7c53 --- /dev/null +++ b/iosApp/iosApp/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/iosApp/iosApp/ContentView.swift b/iosApp/iosApp/ContentView.swift new file mode 100644 index 0000000..3cd5c32 --- /dev/null +++ b/iosApp/iosApp/ContentView.swift @@ -0,0 +1,21 @@ +import UIKit +import SwiftUI +import ComposeApp + +struct ComposeView: UIViewControllerRepresentable { + func makeUIViewController(context: Context) -> UIViewController { + MainViewControllerKt.MainViewController() + } + + func updateUIViewController(_ uiViewController: UIViewController, context: Context) {} +} + +struct ContentView: View { + var body: some View { + ComposeView() + .ignoresSafeArea(.keyboard) // Compose has own keyboard handler + } +} + + + diff --git a/iosApp/iosApp/Info.plist b/iosApp/iosApp/Info.plist new file mode 100644 index 0000000..412e378 --- /dev/null +++ b/iosApp/iosApp/Info.plist @@ -0,0 +1,50 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + + UILaunchScreen + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json b/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 0000000..4aa7c53 --- /dev/null +++ b/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} \ No newline at end of file diff --git a/iosApp/iosApp/ThemeObserver.swift b/iosApp/iosApp/ThemeObserver.swift new file mode 100644 index 0000000..f5eae32 --- /dev/null +++ b/iosApp/iosApp/ThemeObserver.swift @@ -0,0 +1,18 @@ +import UIKit + +@objc public class ThemeObserver: NSObject { + @objc public static func isDarkMode() -> Bool { + if #available(iOS 12.0, *) { + return UITraitCollection.current.userInterfaceStyle == .dark + } + return false + } +} + +@objc public static func setTheme(theme: String) { + UserDefaults.standard.set(theme, forKey: "appTheme") +} + +@objc public static func getTheme() -> String { + return UserDefaults.standard.string(forKey: "appTheme") ?? "SYSTEM" +} \ No newline at end of file diff --git a/iosApp/iosApp/iOSApp.swift b/iosApp/iosApp/iOSApp.swift new file mode 100644 index 0000000..d83dca6 --- /dev/null +++ b/iosApp/iosApp/iOSApp.swift @@ -0,0 +1,10 @@ +import SwiftUI + +@main +struct iOSApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..eb79f3d --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,33 @@ +rootProject.name = "PresenceApp" +enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") + +pluginManagement { + repositories { + google { + mavenContent { + includeGroupAndSubgroups("androidx") + includeGroupAndSubgroups("com.android") + includeGroupAndSubgroups("com.google") + } + } + mavenCentral() + gradlePluginPortal() + maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") + } +} + +dependencyResolutionManagement { + repositories { + google { + mavenContent { + includeGroupAndSubgroups("androidx") + includeGroupAndSubgroups("com.android") + includeGroupAndSubgroups("com.google") + } + } + mavenCentral() + maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") + } +} + +include(":composeApp") \ No newline at end of file