├── .gitignore ├── LICENSE ├── README.md ├── androidApp ├── build.gradle.kts ├── proguard-rules.pro └── src │ ├── fdroid │ ├── AndroidManifest.xml │ └── java │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ ├── application │ │ └── UniversalPushClientFactory.kt │ │ └── data │ │ └── remote │ │ ├── AppServiceImpl.kt │ │ └── CrashlyticsServiceImpl.kt │ ├── github │ ├── AndroidManifest.xml │ └── java │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ ├── application │ │ └── BaseFlavorApplication.kt │ │ ├── data │ │ ├── AnalyticsServiceImpl.kt │ │ ├── AppServiceImpl.kt │ │ └── CrashlyticsServiceImpl.kt │ │ └── presentation │ │ └── services │ │ ├── FirebaseMessagingService.kt │ │ ├── HmsMessagingService.kt │ │ └── RuStoreMessagingService.kt │ ├── huawei │ ├── AndroidManifest.xml │ └── java │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ ├── application │ │ └── BaseFlavorApplication.kt │ │ ├── data │ │ ├── AnalyticsServiceImpl.kt │ │ ├── AppServiceImpl.kt │ │ └── CrashlyticsServiceImpl.kt │ │ └── presentation │ │ └── services │ │ └── HmsMessagingService.kt │ ├── main │ ├── AndroidManifest.xml │ ├── ic_launcher-playstore.png │ ├── java │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ ├── application │ │ │ └── StudyAssistantApp.kt │ │ │ └── presentation │ │ │ └── ui │ │ │ └── MainActivity.kt │ └── res │ │ ├── drawable │ │ ├── ic_launcher_foreground.xml │ │ └── ic_launcher_notification.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── values-night │ │ └── themes.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── ic_launcher_background.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml │ └── rustore │ ├── AndroidManifest.xml │ └── java │ └── ru │ └── aleshin │ └── studyassistant │ ├── application │ └── BaseFlavorApplication.kt │ ├── data │ ├── AnalyticsServiceImpl.kt │ ├── AppServiceImpl.kt │ └── CrashlyticsServiceImpl.kt │ └── presentation │ └── services │ ├── FirebaseMessagingService.kt │ ├── HmsMessagingService.kt │ └── RuStoreMessagingService.kt ├── build.gradle.kts ├── code_of_conduct.md ├── config ├── detekt │ └── detekt.yml └── images │ ├── play_store_app_icon_1024x1024.png │ ├── play_store_app_icon_1024x1024_rounded.png │ ├── play_store_app_icon_512x512.png │ ├── play_store_app_icon_512x512_rounded.png │ └── screenshots │ ├── ConfirmEmail_dark_en.png │ ├── Editor_Class_Subject_dark_en.png │ ├── Editor_Class_Subject_dark_ru.png │ ├── Editor_Class_dark_en.png │ ├── Editor_Class_dark_ru.png │ ├── Editor_Daily_dark_en.png │ ├── Editor_Daily_dark_ru.png │ ├── Editor_Employee_dark_en.png │ ├── Editor_Employee_dark_ru.png │ ├── Editor_Homework_2_dark_en.png │ ├── Editor_Homework_2_dark_ru.png │ ├── Editor_Homework_dark_en.png │ ├── Editor_Homework_dark_ru.png │ ├── Editor_Subject_dark_en.png │ ├── Editor_Subject_dark_ru.png │ ├── Editor_Week_dark_en.png │ ├── Editor_Week_dark_ru.png │ ├── Employee_dark_en.png │ ├── Employee_dark_ru.png │ ├── Forgot_dark_en.png │ ├── Friends_dark_en.png │ ├── Friends_dark_ru.png │ ├── Homeworks_dark_en.png │ ├── Homeworks_dark_ru.png │ ├── Login_dark_en.png │ ├── Organizations_2_dark_en.png │ ├── Organizations_2_dark_ru.png │ ├── Organizations_dark_en.png │ ├── Organizations_dark_ru.png │ ├── Profile_dark_en.png │ ├── Profile_dark_ru.png │ ├── Register_dark_en.png │ ├── Schedule_Details_Vertical_dark_en.png │ ├── Schedule_Details_Vertical_dark_ru.png │ ├── Schedule_Details_dark_en.png │ ├── Schedule_Details_dark_ru.png │ ├── Schedule_Overview_Class_dark_en.png │ ├── Schedule_Overview_Class_dark_ru.png │ ├── Schedule_Overview_dark_en.png │ ├── Schedule_Overview_dark_ru.png │ ├── Settings_Calendar_dark_en.png │ ├── Settings_Calendar_dark_ru.png │ ├── Settings_Common_dark_en.png │ ├── Settings_Common_dark_ru.png │ ├── Settings_Notifcation_dark_en.png │ ├── Settings_Notifcation_dark_ru.png │ ├── Shrare_Schedule_2_dark_en.png │ ├── Shrare_Schedule_2_dark_ru.png │ ├── Shrare_Schedule_dark_en.png │ ├── Shrare_Schedule_dark_ru.png │ ├── Subjects_dark_en.png │ ├── Subjects_dark_ru.png │ ├── Tasks_Overview_2_dark_en.png │ ├── Tasks_Overview_2_dark_ru.png │ ├── Tasks_Overview_dark_en.png │ ├── Tasks_Overview_dark_ru.png │ ├── Tasks_Share_dark_en.png │ ├── Tasks_Share_dark_ru.png │ └── Tasks_Todo_dark_en.png ├── fastlane └── metadata │ └── android │ ├── en-US │ ├── full_description.txt │ ├── images │ │ ├── featureGraphic.png │ │ ├── icon.png │ │ └── phoneScreenshots │ │ │ ├── 1.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 7.png │ │ │ ├── 8.png │ │ │ └── 9.png │ └── short_description.txt │ └── ru │ ├── full_description.txt │ ├── phoneScreenshots │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ ├── 8.png │ └── 9.png │ └── short_description.txt ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── iosApp ├── iosApp.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ ├── WorkspaceSettings.xcsettings │ │ │ └── swiftpm │ │ │ └── Package.resolved │ └── xcshareddata │ │ └── xcschemes │ │ ├── StudyAssistant.xcscheme │ │ └── iosApp.xcscheme └── iosApp │ ├── AnalyticsServiceImpl.swift │ ├── AppServiceImpl.swift │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ └── ic_launcher_ios.png │ └── Contents.json │ ├── ContentView.swift │ ├── CrashlyticsServiceImpl.swift │ ├── GoogleAuthTokenProvider.swift │ ├── Info.plist │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ ├── StudyAssistantApp.swift │ └── UUIDProvider.swift ├── security.md ├── settings.gradle.kts └── shared ├── build.gradle.kts ├── core ├── common │ ├── build.gradle.kts │ └── src │ │ ├── androidMain │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── ru │ │ │ │ └── aleshin │ │ │ │ └── studyassistant │ │ │ │ └── core │ │ │ │ └── common │ │ │ │ ├── architecture │ │ │ │ └── BaseViewModel.kt │ │ │ │ ├── di │ │ │ │ └── CorePlatformModule.android.kt │ │ │ │ ├── extensions │ │ │ │ ├── Platform.kt │ │ │ │ └── UUID.android.kt │ │ │ │ ├── functional │ │ │ │ ├── DeviceInfoProvider.android.kt │ │ │ │ └── File.android.kt │ │ │ │ ├── messages │ │ │ │ ├── LocalNotificationReceiver.kt │ │ │ │ └── RemoteMessageHandler.kt │ │ │ │ ├── notifications │ │ │ │ ├── NotificationCreator.kt │ │ │ │ └── parameters │ │ │ │ │ ├── NotificationCategory.kt │ │ │ │ │ ├── NotificationDefaults.kt │ │ │ │ │ ├── NotificationImportance.kt │ │ │ │ │ ├── NotificationPriority.kt │ │ │ │ │ ├── NotificationProgress.kt │ │ │ │ │ ├── NotificationStyles.kt │ │ │ │ │ └── NotificationVisibility.kt │ │ │ │ └── platform │ │ │ │ ├── BaseApplication.kt │ │ │ │ ├── RequestPermissions.kt │ │ │ │ ├── activity │ │ │ │ └── BaseActivity.kt │ │ │ │ └── services │ │ │ │ └── ServiceBinder.kt │ │ └── res │ │ │ └── drawable │ │ │ └── ic_launcher_notification.xml │ │ ├── commonMain │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── core │ │ │ └── common │ │ │ ├── architecture │ │ │ ├── communications │ │ │ │ ├── Communicator.kt │ │ │ │ └── state │ │ │ │ │ ├── StateCommunicator.kt │ │ │ │ │ └── ViewStateCollect.kt │ │ │ ├── screen │ │ │ │ ├── EmptyScreen.kt │ │ │ │ ├── KeyScreen.kt │ │ │ │ ├── ScreenContent.kt │ │ │ │ └── ScreenScope.kt │ │ │ └── screenmodel │ │ │ │ ├── Actor.kt │ │ │ │ ├── BaseScreenModel.kt │ │ │ │ ├── ContractProviders.kt │ │ │ │ ├── Init.kt │ │ │ │ ├── Reducer.kt │ │ │ │ ├── ReetrantLock.kt │ │ │ │ ├── ScreenDependencies.kt │ │ │ │ ├── contract │ │ │ │ ├── BaseAction.kt │ │ │ │ ├── BaseEvent.kt │ │ │ │ ├── BaseUiEffect.kt │ │ │ │ └── BaseViewState.kt │ │ │ │ ├── store │ │ │ │ ├── BaseStore.kt │ │ │ │ ├── SharedStore.kt │ │ │ │ └── Store.kt │ │ │ │ └── work │ │ │ │ ├── FlowWorkProcessor.kt │ │ │ │ ├── WorkProcessor.kt │ │ │ │ ├── WorkResultHandler.kt │ │ │ │ └── WorkScope.kt │ │ │ ├── di │ │ │ ├── ComposeDI.kt │ │ │ ├── CoreModule.kt │ │ │ ├── CorePlatformModule.platform.kt │ │ │ ├── MainDependenciesGraph.kt │ │ │ └── MainDirectDIAware.kt │ │ │ ├── exceptions │ │ │ ├── FirebaseExceptions.kt │ │ │ └── RemoteException.kt │ │ │ ├── extensions │ │ │ ├── Common.kt │ │ │ ├── Compose.kt │ │ │ ├── Date.kt │ │ │ ├── Firebase.kt │ │ │ ├── Math.kt │ │ │ ├── Time.kt │ │ │ └── UUID.platform.kt │ │ │ ├── functional │ │ │ ├── AndroidMessagePriority.kt │ │ │ ├── Constants.kt │ │ │ ├── DeviceInfoProvider.platform.kt │ │ │ ├── DomainFailures.kt │ │ │ ├── Either.kt │ │ │ ├── File.platform.kt │ │ │ ├── Mapper.kt │ │ │ ├── ResponseResult.kt │ │ │ ├── TimeFormat.kt │ │ │ ├── TimePeriod.kt │ │ │ ├── TimeRange.kt │ │ │ └── UID.kt │ │ │ ├── handlers │ │ │ └── ErrorHandler.kt │ │ │ ├── inject │ │ │ ├── BaseFeatureApi.kt │ │ │ ├── BaseFeatureDIHolder.kt │ │ │ ├── BaseFeatureDependencies.kt │ │ │ ├── FeatureScreen.kt │ │ │ └── FeatureStarter.kt │ │ │ ├── managers │ │ │ ├── CoroutineManager.kt │ │ │ ├── DateManager.kt │ │ │ ├── DrawerManager.kt │ │ │ ├── TimeOverlayManager.kt │ │ │ └── TimePeriodManager.kt │ │ │ ├── messages │ │ │ ├── PushServiceType.kt │ │ │ └── UniversalPushToken.kt │ │ │ ├── navigation │ │ │ ├── CommandBuffer.kt │ │ │ ├── CommandListenerManager.kt │ │ │ ├── FeatureScreenProvider.kt │ │ │ ├── NavigatorManager.kt │ │ │ ├── NestedFeatureNavigator.kt │ │ │ ├── NestedNavigatorDisposable.kt │ │ │ ├── RootNavigator.kt │ │ │ └── StartScreenHolder.kt │ │ │ ├── payments │ │ │ ├── PaymentsService.kt │ │ │ └── SubscriptionChecker.kt │ │ │ ├── platform │ │ │ ├── InstantParceler.kt │ │ │ ├── IosUUIDProvider.kt │ │ │ ├── Platform.kt │ │ │ └── services │ │ │ │ ├── AnalyticsService.kt │ │ │ │ ├── AppService.kt │ │ │ │ ├── CrashlyticsService.kt │ │ │ │ ├── Flavor.kt │ │ │ │ └── MessagingService.kt │ │ │ ├── validation │ │ │ ├── ValidateError.kt │ │ │ ├── ValidateResult.kt │ │ │ └── Validator.kt │ │ │ └── wrappers │ │ │ └── EitherWrapper.kt │ │ └── iosMain │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── core │ │ └── common │ │ ├── di │ │ └── CorePlatformModule.ios.kt │ │ ├── extensions │ │ ├── Platform.kt │ │ └── UUID.ios.kt │ │ └── functional │ │ ├── DeviceInfoProvider.ios.kt │ │ └── File.ios.kt ├── data │ ├── build.gradle.kts │ └── src │ │ ├── androidMain │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── ru │ │ │ │ └── aleshin │ │ │ │ └── studyassistant │ │ │ │ └── core │ │ │ │ └── data │ │ │ │ ├── di │ │ │ │ └── CoreDataPlatformModule.android.kt │ │ │ │ ├── managers │ │ │ │ ├── EndClassesReminderManagerImpl.android.kt │ │ │ │ ├── HomeworksReminderManagerImpl.android.kt │ │ │ │ ├── NotificationScheduler.android.kt │ │ │ │ ├── StartClassesReminderManagerImpl.android.kt │ │ │ │ ├── WorkStatusMapper.kt │ │ │ │ └── WorkloadWarningManagerImpl.android.kt │ │ │ │ └── workers │ │ │ │ ├── EndClassesReminderWorker.kt │ │ │ │ ├── HomeworksReminderWorker.kt │ │ │ │ ├── StartClassesReminderWorker.kt │ │ │ │ └── WorkloadWarningWorker.kt │ │ └── res │ │ │ └── drawable │ │ │ └── ic_launcher_notification.xml │ │ ├── commonMain │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── core │ │ │ └── data │ │ │ ├── di │ │ │ ├── CoreDataModule.kt │ │ │ └── CoreDataPlatformModule.platform.kt │ │ │ ├── managers │ │ │ ├── EndClassesReminderManagerImpl.platform.kt │ │ │ ├── HomeworksReminderManagerImpl.platform.kt │ │ │ ├── NotificationScheduler.platform.kt │ │ │ ├── StartClassesReminderManagerImpl.platform.kt │ │ │ ├── TodoReminderManagerImpl.kt │ │ │ └── WorkloadWarningManagerImpl.platform.kt │ │ │ ├── mappers │ │ │ ├── goals │ │ │ │ └── GoalDataMapper.kt │ │ │ ├── message │ │ │ │ └── MessagesDataMapper.kt │ │ │ ├── organizations │ │ │ │ ├── OrganizationDataMapper.kt │ │ │ │ ├── OrganizationShortDataMapper.kt │ │ │ │ └── ScheduleTimeIntervalsDataMapper.kt │ │ │ ├── requsts │ │ │ │ └── FriendRequestsRemoteMapper.kt │ │ │ ├── schedules │ │ │ │ ├── BaseScheduleDataMapper.kt │ │ │ │ ├── ClassDataMapper.kt │ │ │ │ └── CustomScheduleDataMapper.kt │ │ │ ├── settings │ │ │ │ ├── CalendarSettingsDataMapper.kt │ │ │ │ ├── GeneralSettingsDataMapper.kt │ │ │ │ └── NotificationSettingsDataMapper.kt │ │ │ ├── share │ │ │ │ ├── SharedHomeworksDataMapper.kt │ │ │ │ └── SharedSchedulesDataMapper.kt │ │ │ ├── subjects │ │ │ │ └── SubjectDataMapper.kt │ │ │ ├── tasks │ │ │ │ ├── HomeworkDataMapper.kt │ │ │ │ └── TodoDataMapper.kt │ │ │ └── users │ │ │ │ ├── AppUserDataMapper.kt │ │ │ │ ├── ContactInfoDataMapper.kt │ │ │ │ └── EmployeeDataMapper.kt │ │ │ └── repositories │ │ │ ├── AuthRepositoryImpl.kt │ │ │ ├── BaseScheduleRepositoryImpl.kt │ │ │ ├── CalendarSettingsRepositoryImpl.kt │ │ │ ├── CustomScheduleRepositoryImpl.kt │ │ │ ├── DailyGoalsRepositoryImpl.kt │ │ │ ├── EmployeeRepositoryImpl.kt │ │ │ ├── FriendRequestsRepositoryImpl.kt │ │ │ ├── GeneralSettingsRepositoryImpl.kt │ │ │ ├── HomeworksRepositoryImpl.kt │ │ │ ├── ManageUserRepositoryImpl.kt │ │ │ ├── MessageRepositoryImpl.kt │ │ │ ├── NotificationSettingsRepositoryImpl.kt │ │ │ ├── OrganizationsRepositoryImpl.kt │ │ │ ├── ShareHomeworksRepositoryImpl.kt │ │ │ ├── ShareSchedulesRepositoryImpl.kt │ │ │ ├── SubjectsRepositoryImpl.kt │ │ │ ├── TodoRepositoryImpl.kt │ │ │ └── UsersRepositoryImpl.kt │ │ └── iosMain │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── core │ │ └── data │ │ ├── di │ │ └── CoreDataPlatformModule.ios.kt │ │ └── managers │ │ ├── EndClassesReminderManagerImpl.ios.kt │ │ ├── HomeworksReminderManagerImpl.ios.kt │ │ ├── NotificationScheduler.ios.kt │ │ ├── StartClassesReminderManagerImpl.ios.kt │ │ └── WorkloadWarningManagerImpl.ios.kt ├── database │ ├── build.gradle.kts │ └── src │ │ ├── androidMain │ │ ├── AndroidManifest.xml │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── core │ │ │ └── database │ │ │ ├── datasource │ │ │ └── DriverFactory.platform.android.kt │ │ │ └── di │ │ │ └── CoreDatabasePlatformModule.android.kt │ │ ├── commonMain │ │ ├── kotlin │ │ │ └── ru │ │ │ │ └── aleshin │ │ │ │ └── studyassistant │ │ │ │ └── core │ │ │ │ └── database │ │ │ │ ├── datasource │ │ │ │ ├── DriverFactory.platform.kt │ │ │ │ ├── ListAdapter.kt │ │ │ │ ├── employee │ │ │ │ │ └── EmployeeLocalDataSource.kt │ │ │ │ ├── goals │ │ │ │ │ └── DailyGoalsLocalDataSource.kt │ │ │ │ ├── organizations │ │ │ │ │ └── OrganizationsLocalDataSource.kt │ │ │ │ ├── schedules │ │ │ │ │ ├── BaseScheduleLocalDataSource.kt │ │ │ │ │ └── CustomScheduleLocalDataSource.kt │ │ │ │ ├── settings │ │ │ │ │ ├── CalendarSettingsLocalDataSource.kt │ │ │ │ │ ├── GeneralSettingsLocalDataSource.kt │ │ │ │ │ └── NotificationSettingsLocalDataSource.kt │ │ │ │ ├── subjects │ │ │ │ │ └── SubjectsLocalDataSource.kt │ │ │ │ └── tasks │ │ │ │ │ ├── HomeworksLocalDataSource.kt │ │ │ │ │ └── TodoLocalDataSource.kt │ │ │ │ ├── di │ │ │ │ ├── CoreDatabaseModule.kt │ │ │ │ └── CoreDatabasePlatformModule.platform.kt │ │ │ │ ├── mappers │ │ │ │ ├── employee │ │ │ │ │ └── EmployeeLocalMapper.kt │ │ │ │ ├── goals │ │ │ │ │ └── GoalLocalMapper.kt │ │ │ │ ├── organizations │ │ │ │ │ └── OrganizationLocalMapper.kt │ │ │ │ ├── schedules │ │ │ │ │ ├── BaseScheduleLocalMapper.kt │ │ │ │ │ ├── ClassLocalMapper.kt │ │ │ │ │ └── CustomScheduleLocalMapper.kt │ │ │ │ ├── subjects │ │ │ │ │ └── SubjectLocalMapper.kt │ │ │ │ └── tasks │ │ │ │ │ └── HomeworkLocalMapper.kt │ │ │ │ └── models │ │ │ │ ├── classes │ │ │ │ ├── ClassDetailsEntity.kt │ │ │ │ └── ClassEntity.kt │ │ │ │ ├── employee │ │ │ │ └── EmployeeBaseEntity.kt │ │ │ │ ├── goals │ │ │ │ └── GoalEntityDetails.kt │ │ │ │ ├── organizations │ │ │ │ ├── NumberedDurationEntity.kt │ │ │ │ ├── OrganizationDetailsEntity.kt │ │ │ │ ├── OrganizationShortEntity.kt │ │ │ │ └── ScheduleTimeIntervalsEntity.kt │ │ │ │ ├── schedule │ │ │ │ ├── BaseScheduleDetailsEntity.kt │ │ │ │ └── CustomScheduleDetailsEntity.kt │ │ │ │ ├── settings │ │ │ │ └── HolidaysEntity.kt │ │ │ │ ├── subjects │ │ │ │ └── SubjectDetailsEntity.kt │ │ │ │ ├── tasks │ │ │ │ └── HomeworkDetailsEntity.kt │ │ │ │ └── users │ │ │ │ └── ContactInfoEntity.kt │ │ └── sqldelight │ │ │ ├── migrations │ │ │ └── 1.sqm │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── sqldelight │ │ │ ├── employee │ │ │ └── Employee.sq │ │ │ ├── goals │ │ │ └── Goal.sq │ │ │ ├── organizations │ │ │ └── Organization.sq │ │ │ ├── schedules │ │ │ ├── BaseSchedule.sq │ │ │ └── CustomSchedule.sq │ │ │ ├── settings │ │ │ ├── Calendar.sq │ │ │ ├── General.sq │ │ │ └── Notification.sq │ │ │ ├── subjects │ │ │ └── Subject.sq │ │ │ └── tasks │ │ │ ├── Homework.sq │ │ │ └── Todo.sq │ │ └── iosMain │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── core │ │ └── database │ │ ├── datasource │ │ └── DriverFactory.platform.ios.kt │ │ └── di │ │ └── CoreDatabasePlatformModule.ios.kt ├── domain │ ├── build.gradle.kts │ └── src │ │ └── commonMain │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── core │ │ └── domain │ │ ├── common │ │ └── DataTransferDirection.kt │ │ ├── entities │ │ ├── analytics │ │ │ └── DailyAnalysis.kt │ │ ├── auth │ │ │ ├── AuthCredentials.kt │ │ │ └── ForgotCredentials.kt │ │ ├── classes │ │ │ ├── Class.kt │ │ │ ├── ClassDetails.kt │ │ │ ├── ClassesForLinked.kt │ │ │ └── MediatedClass.kt │ │ ├── common │ │ │ ├── ContactInfo.kt │ │ │ ├── ContactInfoType.kt │ │ │ ├── DayOfNumberedWeek.kt │ │ │ └── NumberOfRepeatWeek.kt │ │ ├── employee │ │ │ ├── Employee.kt │ │ │ ├── EmployeeDetails.kt │ │ │ ├── EmployeePost.kt │ │ │ └── MediatedEmployee.kt │ │ ├── goals │ │ │ ├── DailyGoalsProgress.kt │ │ │ ├── Goal.kt │ │ │ ├── GoalDetails.kt │ │ │ ├── GoalTime.kt │ │ │ ├── GoalTimeDetails.kt │ │ │ └── GoalType.kt │ │ ├── message │ │ │ ├── Message.kt │ │ │ └── NotifyPushContent.kt │ │ ├── organizations │ │ │ ├── MediatedOrganization.kt │ │ │ ├── NumberedDuration.kt │ │ │ ├── Organization.kt │ │ │ ├── OrganizationShort.kt │ │ │ ├── OrganizationType.kt │ │ │ └── ScheduleTimeIntervals.kt │ │ ├── requests │ │ │ ├── FriendRequests.kt │ │ │ └── FriendRequestsDetails.kt │ │ ├── schedules │ │ │ ├── DateVersion.kt │ │ │ ├── Schedule.kt │ │ │ ├── ScheduleDetails.kt │ │ │ ├── WeekScheduleDetails.kt │ │ │ ├── base │ │ │ │ ├── BaseSchedule.kt │ │ │ │ ├── BaseScheduleDetails.kt │ │ │ │ ├── BaseWeekSchedule.kt │ │ │ │ └── MediatedBaseSchedule.kt │ │ │ └── custom │ │ │ │ ├── CustomSchedule.kt │ │ │ │ └── CustomScheduleDetails.kt │ │ ├── settings │ │ │ ├── CalendarSettings.kt │ │ │ ├── GeneralSettings.kt │ │ │ ├── Holidays.kt │ │ │ ├── LanguageType.kt │ │ │ ├── NotificationSettings.kt │ │ │ ├── PrivacySettings.kt │ │ │ ├── ThemeType.kt │ │ │ └── WeekScheduleViewType.kt │ │ ├── share │ │ │ ├── homeworks │ │ │ │ ├── ReceivedMediatedHomeworks.kt │ │ │ │ ├── ReceivedMediatedHomeworksDetails.kt │ │ │ │ ├── SentMediatedHomeworks.kt │ │ │ │ ├── SentMediatedHomeworksDetails.kt │ │ │ │ ├── SharedHomeworks.kt │ │ │ │ └── SharedHomeworksDetails.kt │ │ │ └── scheules │ │ │ │ ├── ReceivedMediatedSchedules.kt │ │ │ │ ├── ReceivedMediatedSchedulesShort.kt │ │ │ │ ├── SentMediatedSchedules.kt │ │ │ │ ├── SharedSchedules.kt │ │ │ │ └── SharedSchedulesShort.kt │ │ ├── subject │ │ │ ├── EventType.kt │ │ │ ├── MediatedSubject.kt │ │ │ └── Subject.kt │ │ ├── tasks │ │ │ ├── DailyHomeworks.kt │ │ │ ├── DailyHomeworksStatus.kt │ │ │ ├── Homework.kt │ │ │ ├── HomeworkDetails.kt │ │ │ ├── HomeworkScope.kt │ │ │ ├── HomeworkStatus.kt │ │ │ ├── HomeworkTaskComponent.kt │ │ │ ├── MediatedHomework.kt │ │ │ ├── TaskPriority.kt │ │ │ ├── Todo.kt │ │ │ ├── TodoNotifications.kt │ │ │ └── TodoStatus.kt │ │ └── users │ │ │ ├── AppUser.kt │ │ │ ├── Gender.kt │ │ │ ├── SocialNetwork.kt │ │ │ ├── SocialNetworkType.kt │ │ │ ├── Store.kt │ │ │ ├── SubscribeInfo.kt │ │ │ ├── UserDevice.kt │ │ │ └── UserFriendStatus.kt │ │ ├── managers │ │ ├── EndClassesReminderManager.kt │ │ ├── HomeworksReminderManager.kt │ │ ├── RepeatWorkStatus.kt │ │ ├── StartClassesReminderManager.kt │ │ ├── TodoReminderManager.kt │ │ └── WorkloadWarningManager.kt │ │ └── repositories │ │ ├── AuthRepository.kt │ │ ├── BaseScheduleRepository.kt │ │ ├── CalendarSettingsRepository.kt │ │ ├── CustomScheduleRepository.kt │ │ ├── DailyGoalsRepository.kt │ │ ├── EmployeeRepository.kt │ │ ├── FriendRequestsRepository.kt │ │ ├── GeneralSettingsRepository.kt │ │ ├── HomeworksRepository.kt │ │ ├── ManageUserRepository.kt │ │ ├── MessageRepository.kt │ │ ├── NotificationSettingsRepository.kt │ │ ├── OrganizationsRepository.kt │ │ ├── ShareHomeworksRepository.kt │ │ ├── ShareSchedulesRepository.kt │ │ ├── SubjectsRepository.kt │ │ ├── TodoRepository.kt │ │ └── UsersRepository.kt ├── remote │ ├── build.gradle.kts │ └── src │ │ ├── androidMain │ │ ├── AndroidManifest.xml │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── core │ │ │ └── remote │ │ │ ├── datasources │ │ │ └── message │ │ │ │ ├── GoogleAuthTokenProviderImpl.kt │ │ │ │ ├── HmsAuthTokenProviderImpl.kt │ │ │ │ └── MessagingServiceImpl.android.kt │ │ │ ├── di │ │ │ └── CoreRemotePlatformModule.android.kt │ │ │ └── ktor │ │ │ └── HttpEngineFactory.platform.android.kt │ │ ├── commonMain │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── core │ │ │ └── remote │ │ │ ├── datasources │ │ │ ├── StudyAssistantFirebase.kt │ │ │ ├── auth │ │ │ │ └── AuthRemoteDataSource.kt │ │ │ ├── employee │ │ │ │ └── EmployeeRemoteDataSource.kt │ │ │ ├── goals │ │ │ │ └── DailyGoalsRemoteDataSource.kt │ │ │ ├── message │ │ │ │ ├── GoogleAuthTokenProvider.kt │ │ │ │ ├── HmsAuthTokenProvider.kt │ │ │ │ ├── MessageRemoteDataSource.kt │ │ │ │ ├── MessagingServiceImpl.platform.kt │ │ │ │ ├── PushServiceAuthTokenFactory.kt │ │ │ │ └── PushServiceAuthTokenProvider.kt │ │ │ ├── organizations │ │ │ │ └── OrganizationsRemoteDataSource.kt │ │ │ ├── requests │ │ │ │ └── FriendRequestsRemoteDataSource.kt │ │ │ ├── schedules │ │ │ │ ├── BaseScheduleRemoteDataSource.kt │ │ │ │ └── CustomScheduleRemoteDataSource.kt │ │ │ ├── settings │ │ │ │ └── CalendarSettingsRemoteDataSource.kt │ │ │ ├── share │ │ │ │ ├── ShareHomeworksRemoteDataSource.kt │ │ │ │ └── ShareSchedulesRemoteDataSource.kt │ │ │ ├── subjects │ │ │ │ └── SubjectsRemoteDataSource.kt │ │ │ ├── tasks │ │ │ │ ├── HomeworksRemoteDataSource.kt │ │ │ │ └── TodoRemoteDataSource.kt │ │ │ └── users │ │ │ │ └── UsersRemoteDataSource.kt │ │ │ ├── di │ │ │ ├── CoreRemoteModule.kt │ │ │ └── CoreRemotePlatformModule.platform.kt │ │ │ ├── ktor │ │ │ ├── HttpEngineFactory.platform.kt │ │ │ └── StudyAssistantKtor.kt │ │ │ ├── mappers │ │ │ ├── goals │ │ │ │ └── GoalRemoteMapper.kt │ │ │ ├── message │ │ │ │ └── UniversalMessageRemoteMapper.kt │ │ │ ├── organizations │ │ │ │ └── OrganizationRemoteMapper.kt │ │ │ ├── schedules │ │ │ │ ├── BaseScheduleRemoteMapper.kt │ │ │ │ ├── ClassRemoteMapper.kt │ │ │ │ └── CustomScheduleRemoteMapper.kt │ │ │ ├── share │ │ │ │ ├── SharedHomeworksRemoteMapper.kt │ │ │ │ └── SharedSchedulesRemoteMapper.kt │ │ │ ├── subjects │ │ │ │ └── SubjectRemoteMapper.kt │ │ │ └── tasks │ │ │ │ └── HomeworkRemoteMapper.kt │ │ │ └── models │ │ │ ├── classes │ │ │ ├── ClassDetailsPojo.kt │ │ │ ├── ClassPojo.kt │ │ │ └── MediatedClassPojo.kt │ │ │ ├── goals │ │ │ ├── GoalDetailsPojo.kt │ │ │ └── GoalPojo.kt │ │ │ ├── message │ │ │ ├── AndroidPushNotificationBodyPojo.kt │ │ │ ├── AndroidPushNotificationPojo.kt │ │ │ ├── PushProviderPojo.kt │ │ │ ├── UniversalMessageData.kt │ │ │ ├── UniversalPushMessageBodyPojo.kt │ │ │ ├── UniversalPushMessagePojo.kt │ │ │ ├── UniversalPushNotificationPojo.kt │ │ │ ├── UniversalPushProvidersPojo.kt │ │ │ └── UniversalPushTokensPojo.kt │ │ │ ├── organizations │ │ │ ├── MediatedOrganizationPojo.kt │ │ │ ├── MediatedOrganizationShortPojo.kt │ │ │ ├── NumberedDurationPojo.kt │ │ │ ├── OrganizationDetailsPojo.kt │ │ │ ├── OrganizationPojo.kt │ │ │ ├── OrganizationShortPojo.kt │ │ │ └── ScheduleTimeIntervalsPojo.kt │ │ │ ├── requests │ │ │ ├── FriendRequestsDetailsPojo.kt │ │ │ └── FriendRequestsPojo.kt │ │ │ ├── schedule │ │ │ ├── BaseScheduleDetailsPojo.kt │ │ │ ├── BaseSchedulePojo.kt │ │ │ ├── CustomScheduleDetailsPojo.kt │ │ │ ├── CustomSchedulePojo.kt │ │ │ └── MediatedBaseSchedulePojo.kt │ │ │ ├── settings │ │ │ ├── CalendarSettingsPojo.kt │ │ │ └── HolidaysPojo.kt │ │ │ ├── shared │ │ │ ├── homeworks │ │ │ │ ├── ReceivedMediatedHomeworksDetailsPojo.kt │ │ │ │ ├── ReceivedMediatedHomeworksPojo.kt │ │ │ │ ├── SentMediatedHomeworksDetailsPojo.kt │ │ │ │ ├── SentMediatedHomeworksPojo.kt │ │ │ │ ├── SharedHomeworksDetailsPojo.kt │ │ │ │ └── SharedHomeworksPojo.kt │ │ │ └── schedules │ │ │ │ ├── ReceivedMediatedSchedulesDetailsPojo.kt │ │ │ │ ├── ReceivedMediatedSchedulesPojo.kt │ │ │ │ ├── ReceivedMediatedSchedulesShortDetailsPojo.kt │ │ │ │ ├── ReceivedMediatedSchedulesShortPojo.kt │ │ │ │ ├── SentMediatedSchedulesDetailsPojo.kt │ │ │ │ ├── SentMediatedSchedulesPojo.kt │ │ │ │ ├── SentMediatedSchedulesShortDetailsPojo.kt │ │ │ │ ├── SharedSchedulesDetailsPojo.kt │ │ │ │ ├── SharedSchedulesPojo.kt │ │ │ │ ├── SharedSchedulesShortDetailsPojo.kt │ │ │ │ └── SharedSchedulesShortPojo.kt │ │ │ ├── subjects │ │ │ ├── MediatedSubjectPojo.kt │ │ │ ├── SubjectDetailsPojo.kt │ │ │ └── SubjectPojo.kt │ │ │ ├── tasks │ │ │ ├── HomeworkDetailsPojo.kt │ │ │ ├── HomeworkPojo.kt │ │ │ ├── MediatedHomeworkPojo.kt │ │ │ ├── TodoNotificationsPojo.kt │ │ │ └── TodoPojo.kt │ │ │ └── users │ │ │ ├── AppUserPojo.kt │ │ │ ├── ContactInfoPojo.kt │ │ │ ├── EmployeePojo.kt │ │ │ ├── MediatedEmployeePojo.kt │ │ │ ├── SocialNetworkPojo.kt │ │ │ ├── SubscribeInfoPojo.kt │ │ │ └── UserDevicePojo.kt │ │ └── iosMain │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── core │ │ └── remote │ │ ├── datasources │ │ └── message │ │ │ └── MessagingServiceImpl.ios.kt │ │ ├── di │ │ └── CoreRemotePlatformModule.ios.kt │ │ └── ktor │ │ └── HttpEngineFactory.platform.ios.kt └── ui │ ├── build.gradle.kts │ └── src │ ├── androidMain │ ├── AndroidManifest.xml │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── core │ │ └── ui │ │ ├── mappers │ │ └── PlatformFileMapper.platform.android.kt │ │ ├── theme │ │ └── tokens │ │ │ └── WindowSize.android.kt │ │ └── views │ │ └── NavigationBarColor.android.kt │ ├── commonMain │ ├── composeResources │ │ └── drawable │ │ │ ├── ic_additional_organization.xml │ │ │ ├── ic_alert_circle.xml │ │ │ ├── ic_alert_circle_outline.xml │ │ │ ├── ic_birthday.xml │ │ │ ├── ic_book_study.xml │ │ │ ├── ic_calendar_today.xml │ │ │ ├── ic_church.xml │ │ │ ├── ic_class.xml │ │ │ ├── ic_classes_column.xml │ │ │ ├── ic_clock_outline.xml │ │ │ ├── ic_description.xml │ │ │ ├── ic_duration.xml │ │ │ ├── ic_email.xml │ │ │ ├── ic_employee.xml │ │ │ ├── ic_gender.xml │ │ │ ├── ic_lecture.xml │ │ │ ├── ic_map_marker.xml │ │ │ ├── ic_movements.xml │ │ │ ├── ic_online_lesson.xml │ │ │ ├── ic_organization.xml │ │ │ ├── ic_organization_geo.xml │ │ │ ├── ic_organization_geo_outline.xml │ │ │ ├── ic_organization_remove_outline.xml │ │ │ ├── ic_organization_type.xml │ │ │ ├── ic_phone.xml │ │ │ ├── ic_practice.xml │ │ │ ├── ic_presentation.xml │ │ │ ├── ic_priority_high.xml │ │ │ ├── ic_profile.xml │ │ │ ├── ic_profile_outline.xml │ │ │ ├── ic_select_date.xml │ │ │ ├── ic_seminar.xml │ │ │ ├── ic_soc_network.xml │ │ │ ├── ic_sorted_type.xml │ │ │ ├── ic_study.xml │ │ │ ├── ic_study_assistant.png │ │ │ ├── ic_study_outline.xml │ │ │ ├── ic_tasks.xml │ │ │ ├── ic_tasks_circular.xml │ │ │ ├── ic_tasks_outline.xml │ │ │ ├── ic_university.xml │ │ │ ├── ic_upload_circular.xml │ │ │ ├── ic_web.xml │ │ │ ├── ic_webinar.xml │ │ │ ├── logo_discord.xml │ │ │ ├── logo_facebook.xml │ │ │ ├── logo_instagram.xml │ │ │ ├── logo_telegram.xml │ │ │ ├── logo_tiktok.xml │ │ │ ├── logo_vk.xml │ │ │ ├── logo_whatsapp.xml │ │ │ ├── logo_x.xml │ │ │ └── logo_youtube.xml │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── core │ │ └── ui │ │ ├── mappers │ │ ├── ContactInfoTypeResMapper.kt │ │ ├── DateTimeMapper.kt │ │ ├── DensityMapper.kt │ │ ├── EmployeePostStringMapper.kt │ │ ├── EventTypeResMapper.kt │ │ ├── GenderStringMapper.kt │ │ ├── LanguageMapper.kt │ │ ├── OrganizationTypeResMapper.kt │ │ ├── PlatformFileMapper.platform.kt │ │ ├── PriorityStringMapper.kt │ │ ├── SocialNetworkTypeResMapper.kt │ │ ├── ThemeTypeMapper.kt │ │ └── WeekStringMapper.kt │ │ ├── models │ │ ├── ActionWithAvatar.kt │ │ ├── StandardDuration.kt │ │ └── ThemeUiType.kt │ │ ├── theme │ │ ├── StudyAssistantRes.kt │ │ ├── StudyAssistantTheme.kt │ │ ├── material │ │ │ ├── ColorSchemes.kt │ │ │ ├── Colors.kt │ │ │ ├── Shapes.kt │ │ │ └── Typography.kt │ │ └── tokens │ │ │ ├── StudyAssistantColors.kt │ │ │ ├── StudyAssistantElevations.kt │ │ │ ├── StudyAssistantIcons.kt │ │ │ ├── StudyAssistantLanguage.kt │ │ │ ├── StudyAssistantStrings.kt │ │ │ └── WindowSize.kt │ │ └── views │ │ ├── AnimatePadding.kt │ │ ├── Badges.kt │ │ ├── CircularStep.kt │ │ ├── DateTimeFormat.kt │ │ ├── Dialog.kt │ │ ├── ErrorSnackbar.kt │ │ ├── ExpandedIcon.kt │ │ ├── ExtendedIconButton.kt │ │ ├── FreeOrPaidContent.kt │ │ ├── GenderDropdownMenu.kt │ │ ├── HomeworksCompleteBadge.kt │ │ ├── LeftTimeProgress.kt │ │ ├── NavigationBarColor.plarform.kt │ │ ├── NavigationDrawer.kt │ │ ├── Placeholders.kt │ │ ├── SegmentedButtons.kt │ │ ├── SwipeToDismissBackground.kt │ │ ├── TabIndicatorOffset.kt │ │ ├── TabItem.kt │ │ ├── TabNavigationBar.kt │ │ ├── TextFields.kt │ │ ├── TimeFormatSelector.kt │ │ ├── TopAppBar.kt │ │ ├── TopAppBarAction.kt │ │ ├── UserCodeView.kt │ │ ├── dialog │ │ ├── BaseCheckedDialog.kt │ │ ├── BaseDatePickerDialog.kt │ │ ├── BaseDurationPickerDialog.kt │ │ ├── BaseSelectorDialog.kt │ │ ├── BaseTimePickerDialog.kt │ │ ├── BirthdayDatePicker.kt │ │ ├── ContactInfoEditorDialog.kt │ │ └── WarningAlertDialog.kt │ │ ├── menu │ │ ├── AvatarView.kt │ │ ├── BaseMenuItems.kt │ │ ├── CheckedDropdownMenu.kt │ │ ├── ChooserDropdownMenu.kt │ │ ├── OrganizationTypeDropdownMenu.kt │ │ ├── RadioDropdownMenu.kt │ │ └── TimeChooserDropdownItem.kt │ │ └── sheet │ │ ├── BaseSelectorBottomSheet.kt │ │ ├── BottomSheetScaffold.kt │ │ └── StickyBottomSheet.kt │ └── iosMain │ └── kotlin │ └── ru │ └── aleshin │ └── studyassistant │ └── core │ └── ui │ ├── mappers │ └── PlatformFileMapper.platform.ios.kt │ ├── theme │ └── tokens │ │ └── WindowSize.kt │ └── views │ └── NavigationBarColor.ios.kt ├── features ├── auth │ ├── api │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── androidMain │ │ │ └── AndroidManifest.xml │ │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── auth │ │ │ └── api │ │ │ ├── di │ │ │ └── AuthFeatureApi.kt │ │ │ ├── navigation │ │ │ ├── AuthFeatureStarter.kt │ │ │ └── AuthScreen.kt │ │ │ └── presentation │ │ │ └── AuthRootScreen.kt │ └── impl │ │ ├── build.gradle.kts │ │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ ├── composeResources │ │ └── drawable │ │ │ ├── ic_google.xml │ │ │ ├── ic_mail_outline.xml │ │ │ ├── ic_password_outline.xml │ │ │ ├── ic_person_outline.xml │ │ │ ├── ic_visibility.xml │ │ │ ├── ic_visibility_off.xml │ │ │ ├── il_forgot.xml │ │ │ ├── il_forgot_dark.xml │ │ │ ├── il_login.xml │ │ │ ├── il_login_dark.xml │ │ │ ├── il_register.xml │ │ │ ├── il_register_dark.xml │ │ │ ├── il_verification.xml │ │ │ └── il_verification_dark.xml │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── auth │ │ └── impl │ │ ├── di │ │ ├── AuthFeatureDependencies.kt │ │ ├── holder │ │ │ └── AuthFeatureDIHolder.kt │ │ └── modules │ │ │ ├── DomainModule.kt │ │ │ ├── NavigationModule.kt │ │ │ └── PresentationModule.kt │ │ ├── domain │ │ ├── common │ │ │ ├── AuthEitherWrapper.kt │ │ │ └── AuthErrorHandler.kt │ │ ├── entites │ │ │ ├── AuthFailures.kt │ │ │ └── AuthResult.kt │ │ └── interactors │ │ │ ├── AppUserInteractor.kt │ │ │ └── AuthInteractor.kt │ │ ├── navigation │ │ ├── AuthFeatureStarterImpl.kt │ │ ├── AuthNavigatorManager.kt │ │ └── AuthScreenProvider.kt │ │ └── presentation │ │ ├── mappers │ │ ├── AppUserUiMapper.kt │ │ ├── CredentialsUiMapper.kt │ │ ├── EmailValidErrorsMapper.kt │ │ ├── FailureMapper.kt │ │ ├── PasswordValidErrorsMapper.kt │ │ └── UsernameValidErrorsMapper.kt │ │ ├── models │ │ ├── credentials │ │ │ ├── ForgotCredentialsUi.kt │ │ │ ├── LoginCredentialsUi.kt │ │ │ └── RegisterCredentialsUi.kt │ │ ├── user │ │ │ ├── AppUserUi.kt │ │ │ ├── SocialNetworkUi.kt │ │ │ ├── SubscribeInfoUi.kt │ │ │ └── UserDeviceUi.kt │ │ └── validation │ │ │ ├── EmailValidError.kt │ │ │ ├── PasswordValidError.kt │ │ │ └── UsernameValidError.kt │ │ ├── theme │ │ ├── AuthTheme.kt │ │ ├── AuthThemeRes.kt │ │ └── tokens │ │ │ ├── AuthIcons.kt │ │ │ └── AuthStrings.kt │ │ ├── ui │ │ ├── common │ │ │ ├── AuthHeaderSection.kt │ │ │ └── AuthTextFields.kt │ │ ├── forgot │ │ │ ├── ForgotContent.kt │ │ │ ├── ForgotScreen.kt │ │ │ ├── contract │ │ │ │ └── ForgotContract.kt │ │ │ ├── screenmodel │ │ │ │ ├── ForgotEffectCommunicator.kt │ │ │ │ ├── ForgotScreenModel.kt │ │ │ │ ├── ForgotStateCommunicator.kt │ │ │ │ └── ForgotWorkProcessor.kt │ │ │ └── views │ │ │ │ └── ForgotActionsSection.kt │ │ ├── login │ │ │ ├── LoginContent.kt │ │ │ ├── LoginScreen.kt │ │ │ ├── contract │ │ │ │ └── LoginContract.kt │ │ │ ├── screenmodel │ │ │ │ ├── LoginEffectCommunicator.kt │ │ │ │ ├── LoginScreenModel.kt │ │ │ │ ├── LoginStateCommunicator.kt │ │ │ │ └── LoginWorkProcessor.kt │ │ │ └── views │ │ │ │ ├── LoginActionsSection.kt │ │ │ │ └── LoginInputSection.kt │ │ ├── navigation │ │ │ ├── NavScreenModel.kt │ │ │ └── NavigationScreen.kt │ │ ├── register │ │ │ ├── RegisterContent.kt │ │ │ ├── RegisterScreen.kt │ │ │ ├── contract │ │ │ │ └── RegisterContract.kt │ │ │ ├── screenmodel │ │ │ │ ├── RegisterEffectCommunicator.kt │ │ │ │ ├── RegisterScreenModel.kt │ │ │ │ ├── RegisterStateCommunicator.kt │ │ │ │ └── RegisterWorkProcessor.kt │ │ │ └── views │ │ │ │ ├── RegisterActionsSection.kt │ │ │ │ └── RegisterInputSection.kt │ │ └── verification │ │ │ ├── VerificationContent.kt │ │ │ ├── VerificationScreen.kt │ │ │ ├── contract │ │ │ └── VerificationContract.kt │ │ │ ├── screenmodel │ │ │ ├── VerificationEffectCommunicator.kt │ │ │ ├── VerificationScreenModel.kt │ │ │ ├── VerificationStateCommunicator.kt │ │ │ └── VerificationWorkProcessor.kt │ │ │ └── views │ │ │ └── VerificationTopBar.kt │ │ └── validation │ │ ├── EmailValidator.kt │ │ ├── PasswordValidator.kt │ │ └── UsernameValidator.kt ├── editor │ ├── api │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── androidMain │ │ │ └── AndroidManifest.xml │ │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── editor │ │ │ └── api │ │ │ ├── di │ │ │ └── EditorFeatureApi.kt │ │ │ ├── navigation │ │ │ ├── EditorFeatureStarter.kt │ │ │ └── EditorScreen.kt │ │ │ └── presentation │ │ │ ├── DayOfNumberedWeekUi.kt │ │ │ ├── EditorRootScreen.kt │ │ │ └── WeekDayMapper.kt │ └── impl │ │ ├── build.gradle.kts │ │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ ├── composeResources │ │ └── drawable │ │ │ ├── ic_break.xml │ │ │ ├── ic_circle_edit_outline.xml │ │ │ ├── ic_clear_circular.xml │ │ │ ├── ic_clock.xml │ │ │ ├── ic_color.xml │ │ │ ├── ic_employee_post.xml │ │ │ ├── ic_notify.xml │ │ │ ├── ic_number.xml │ │ │ ├── ic_star_circle_outline.xml │ │ │ ├── ic_subject_name.xml │ │ │ └── ic_worktime.xml │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── editor │ │ └── impl │ │ ├── di │ │ ├── EditorFeatureDependencies.kt │ │ ├── holder │ │ │ └── EditorFeatureDIHolder.kt │ │ └── modules │ │ │ ├── DomainModule.kt │ │ │ ├── NavigationModule.kt │ │ │ └── PresentationModule.kt │ │ ├── domain │ │ ├── common │ │ │ ├── EditorEitherWrapper.kt │ │ │ └── EditorErrorHandler.kt │ │ ├── entities │ │ │ ├── EditorFailures.kt │ │ │ └── ShiftTimeError.kt │ │ └── interactors │ │ │ ├── AppUserInteractor.kt │ │ │ ├── BaseClassInteractor.kt │ │ │ ├── BaseScheduleInteractor.kt │ │ │ ├── CalendarSettingsInteractor.kt │ │ │ ├── CustomClassInteractor.kt │ │ │ ├── CustomScheduleInteractor.kt │ │ │ ├── EmployeeInteractor.kt │ │ │ ├── HomeworkInteractor.kt │ │ │ ├── LinkingClassInteractor.kt │ │ │ ├── OrganizationInteractor.kt │ │ │ ├── SubjectInteractor.kt │ │ │ └── TodoInteractor.kt │ │ ├── navigation │ │ ├── EditorFeatureStarterImpl.kt │ │ ├── EditorNavigatorManager.kt │ │ └── EditorScreenProvider.kt │ │ └── presentation │ │ ├── mappers │ │ ├── AppUserUiMapper.kt │ │ ├── CalendarSettingsUiMapper.kt │ │ ├── ClassUiMapper.kt │ │ ├── ContactInfoUiMapper.kt │ │ ├── EmployeeUiMapper.kt │ │ ├── FailuresMapper.kt │ │ ├── HomeworksUiMapper.kt │ │ ├── OrganizationUiMapper.kt │ │ ├── ScheduleTimeIntervalsUiMapper.kt │ │ ├── ScheduleUiMapper.kt │ │ ├── SubjectUiMapper.kt │ │ └── TodoUiMapper.kt │ │ ├── models │ │ ├── classes │ │ │ ├── ClassUi.kt │ │ │ ├── ClassesForLinked.kt │ │ │ ├── EditClassUi.kt │ │ │ └── FastEditDurations.kt │ │ ├── orgnizations │ │ │ ├── EditOrganizationUi.kt │ │ │ ├── NumberedDurationUi.kt │ │ │ ├── OrganizationShortUi.kt │ │ │ ├── OrganizationUi.kt │ │ │ └── ScheduleTimeIntervalsUi.kt │ │ ├── schedules │ │ │ ├── BaseScheduleUi.kt │ │ │ ├── BaseWeekScheduleUi.kt │ │ │ ├── CustomScheduleUi.kt │ │ │ ├── DateVersionUi.kt │ │ │ ├── NumberOfWeekItem.kt │ │ │ └── ScheduleUi.kt │ │ ├── settings │ │ │ ├── CalendarSettingsUi.kt │ │ │ └── HolidaysUi.kt │ │ ├── subjects │ │ │ ├── EditSubjectUi.kt │ │ │ └── SubjectUi.kt │ │ ├── tasks │ │ │ ├── EditHomeworkUi.kt │ │ │ ├── EditTodoUi.kt │ │ │ ├── HomeworkUi.kt │ │ │ ├── TodoNotificationsUi.kt │ │ │ └── TodoUi.kt │ │ └── users │ │ │ ├── AppUserUi.kt │ │ │ ├── ContactInfoUi.kt │ │ │ ├── EditEmployeeUi.kt │ │ │ ├── EmployeeDetailsUi.kt │ │ │ ├── EmployeeUi.kt │ │ │ ├── SocialNetworkUi.kt │ │ │ ├── SubscribeInfoUi.kt │ │ │ └── UserDeviceUi.kt │ │ ├── theme │ │ ├── EditorTheme.kt │ │ ├── EditorThemeRes.kt │ │ └── tokens │ │ │ ├── EditorIcons.kt │ │ │ └── EditorStrings.kt │ │ └── ui │ │ ├── classes │ │ ├── ClassContent.kt │ │ ├── ClassScreen.kt │ │ ├── contract │ │ │ ├── ClassContract.kt │ │ │ └── ClassDeps.kt │ │ ├── screenmodel │ │ │ ├── ClassEffectCommunicator.kt │ │ │ ├── ClassScreenModel.kt │ │ │ ├── ClassStateCommunicator.kt │ │ │ └── ClassWorkProcessor.kt │ │ └── views │ │ │ ├── ClassTimeChooser.kt │ │ │ ├── ClassTopBar.kt │ │ │ ├── SubjectSelectorBottomSheet.kt │ │ │ └── TImeInfoField.kt │ │ ├── common │ │ ├── AvatarSection.kt │ │ ├── BirthdayInfoField.kt │ │ ├── ContactInfoActionItems.kt │ │ ├── EmailInfoFields.kt │ │ ├── EventTypeSelectorBottomSheet.kt │ │ ├── HideButton.kt │ │ ├── LocationInfoField.kt │ │ ├── LocationsInfoFields.kt │ │ ├── NumberedDurationView.kt │ │ ├── OrganizationInfoField.kt │ │ ├── PhoneInfoFields.kt │ │ ├── SubjectAndEventTypeInfoField.kt │ │ ├── TaskPriorityInfoView.kt │ │ ├── TeacherInfoField.kt │ │ └── WebInfoFields.kt │ │ ├── daily │ │ ├── DailyScheduleContent.kt │ │ ├── DailyScheduleScreen.kt │ │ ├── contract │ │ │ ├── DailyScheduleContract.kt │ │ │ └── DailyScheduleDeps.kt │ │ ├── screenmodel │ │ │ ├── DailyScheduleEffectCommunicator.kt │ │ │ ├── DailyScheduleScreenModel.kt │ │ │ ├── DailyScheduleStateCommunicator.kt │ │ │ └── DailyScheduleWorkProcessor.kt │ │ └── views │ │ │ ├── DailyScheduleBottomSheet.kt │ │ │ ├── DailyScheduleTopBar.kt │ │ │ ├── DetailsClassView.kt │ │ │ ├── FastEditDialogs.kt │ │ │ └── SwapClassesDropdownMenu.kt │ │ ├── employee │ │ ├── EmployeeContent.kt │ │ ├── EmployeeScreen.kt │ │ ├── contract │ │ │ ├── EmployeeContract.kt │ │ │ └── EmployeeDeps.kt │ │ ├── screenmodel │ │ │ ├── EmployeeEffectCommunicator.kt │ │ │ ├── EmployeeScreenModel.kt │ │ │ ├── EmployeeStateCommunicator.kt │ │ │ └── EmployeeWorkProcessor.kt │ │ └── views │ │ │ ├── EmployeeAvatarSection.kt │ │ │ ├── EmployeeNameInfoField.kt │ │ │ ├── EmployeePostInfoField.kt │ │ │ ├── EmployeeTopBar.kt │ │ │ └── WorkTimeInfoField.kt │ │ ├── homework │ │ ├── HomeworkContent.kt │ │ ├── HomeworkScreen.kt │ │ ├── contarct │ │ │ ├── HomeworkContract.kt │ │ │ └── HomeworkDeps.kt │ │ ├── screenmodel │ │ │ ├── HomeworkEffectCommunicator.kt │ │ │ ├── HomeworkScreenModel.kt │ │ │ ├── HomeworkStateCommunicator.kt │ │ │ └── HomeworkWorkProcessor.kt │ │ └── views │ │ │ ├── HomeworkBottomActions.kt │ │ │ ├── HomeworkTasksFields.kt │ │ │ ├── HomeworkTestInfoField.kt │ │ │ ├── HomeworkTopBar.kt │ │ │ └── LinkedClassInfoField.kt │ │ ├── navigation │ │ ├── NavigationScreen.kt │ │ └── NavigationScreenModel.kt │ │ ├── organization │ │ ├── OrganizationContent.kt │ │ ├── OrganizationScreen.kt │ │ ├── contract │ │ │ ├── OrganizationContract.kt │ │ │ └── OrganizationDeps.kt │ │ ├── screenmodel │ │ │ ├── OrganizationEffectCommunicator.kt │ │ │ ├── OrganizationScreenModel.kt │ │ │ ├── OrganizationStateCommunicator.kt │ │ │ └── OrganizationWorkProcessor.kt │ │ └── views │ │ │ ├── OrganizationNameInfoField.kt │ │ │ ├── OrganizationStatusChooser.kt │ │ │ ├── OrganizationTopBar.kt │ │ │ └── OrganizationTypeInfoField.kt │ │ ├── profile │ │ ├── ProfileContent.kt │ │ ├── ProfileScreen.kt │ │ ├── contract │ │ │ └── ProfileContract.kt │ │ ├── screenmodel │ │ │ ├── ProfileEffectCommunicator.kt │ │ │ ├── ProfileScreenModel.kt │ │ │ ├── ProfileStateCommunicator.kt │ │ │ └── ProfileWorkProcessor.kt │ │ └── views │ │ │ ├── AppUserEmailInfoField.kt │ │ │ ├── CityInfoField.kt │ │ │ ├── DescriptionInfoField.kt │ │ │ ├── GenderInfoField.kt │ │ │ ├── ProfileTopBar.kt │ │ │ ├── ProfileTopSheet.kt │ │ │ ├── SocialNetworksInfoFields.kt │ │ │ └── UsernameInfoField.kt │ │ ├── schedule │ │ ├── WeekScheduleContent.kt │ │ ├── WeekScheduleScreen.kt │ │ ├── contract │ │ │ ├── WeekScheduleContract.kt │ │ │ └── WeekScheduleDeps.kt │ │ ├── screenmodel │ │ │ ├── WeekScheduleEffectCommunicator.kt │ │ │ ├── WeekScheduleScreenModel.kt │ │ │ ├── WeekScheduleStateCommunicator.kt │ │ │ └── WeekScheduleWorkProcessor.kt │ │ └── views │ │ │ ├── CommonShortClassView.kt │ │ │ ├── ScheduleIntervalsDialog.kt │ │ │ ├── ScheduleView.kt │ │ │ ├── TimeDurationMenu.kt │ │ │ ├── WeekScheduleBottomSheet.kt │ │ │ └── WeekScheduleTopBar.kt │ │ ├── subject │ │ ├── SubjectContent.kt │ │ ├── SubjectScreen.kt │ │ ├── contract │ │ │ ├── SubjectContract.kt │ │ │ └── SubjectDeps.kt │ │ ├── screeenmodel │ │ │ ├── SubjectEffectCommunicator.kt │ │ │ ├── SubjectScreenModel.kt │ │ │ ├── SubjectStateCommunicator.kt │ │ │ └── SubjectWorkProcessor.kt │ │ └── views │ │ │ ├── ColorInfoField.kt │ │ │ ├── EventTypeInfoField.kt │ │ │ ├── SubjectNameInfoField.kt │ │ │ └── SubjectTopBar.kt │ │ └── todo │ │ ├── TodoContent.kt │ │ ├── TodoScreen.kt │ │ ├── contract │ │ ├── TodoContract.kt │ │ └── TodoDeps.kt │ │ ├── screenmodel │ │ ├── TodoEffectCommunicator.kt │ │ ├── TodoScreenModel.kt │ │ ├── TodoStateCommunicator.kt │ │ └── TodoWorkProcessor.kt │ │ └── views │ │ ├── TodoBottomActions.kt │ │ ├── TodoDeadlineInfoFields.kt │ │ ├── TodoInfoField.kt │ │ ├── TodoNotificationSelector.kt │ │ └── TodoTopBar.kt ├── info │ ├── api │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── androidMain │ │ │ └── AndroidManifest.xml │ │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── info │ │ │ └── api │ │ │ ├── di │ │ │ └── InfoFeatureApi.kt │ │ │ ├── navigation │ │ │ ├── InfoFeatureStarter.kt │ │ │ └── InfoScreen.kt │ │ │ └── presentation │ │ │ └── InfoRootScreen.kt │ └── impl │ │ ├── build.gradle.kts │ │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ ├── composeResources │ │ └── drawable │ │ │ └── ic_star_circular.xml │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── info │ │ └── impl │ │ ├── di │ │ ├── InfoFeatureDependencies.kt │ │ ├── holder │ │ │ └── InfoFeatureDIHolder.kt │ │ └── modules │ │ │ ├── DomainModule.kt │ │ │ ├── NavigationModule.kt │ │ │ └── PresentationModule.kt │ │ ├── domain │ │ ├── common │ │ │ ├── InfoEitherWrapper.kt │ │ │ └── InfoErrorHandler.kt │ │ ├── entities │ │ │ ├── InfoFailures.kt │ │ │ └── OrganizationClassesInfo.kt │ │ └── interactors │ │ │ ├── ClassesInfoInteractor.kt │ │ │ ├── EmployeesInteractor.kt │ │ │ ├── OrganizationsInteractor.kt │ │ │ └── SubjectsInteractor.kt │ │ ├── navigation │ │ ├── InfoFeatureStarterImpl.kt │ │ ├── InfoNavigatorManager.kt │ │ └── InfoScreenProvider.kt │ │ └── presentation │ │ ├── mappers │ │ ├── AppUserUiMapper.kt │ │ ├── CalendarSettingsUiMapper.kt │ │ ├── ContactInfoUiMapper.kt │ │ ├── EmployeeUiMapper.kt │ │ ├── FailuresMapper.kt │ │ ├── OrganizationUiMapper.kt │ │ ├── ScheduleTimeIntervalsUiMapper.kt │ │ └── SubjectUiMapper.kt │ │ ├── models │ │ ├── orgnizations │ │ │ ├── NumberedDurationUi.kt │ │ │ ├── OrganizationClassesInfoUi.kt │ │ │ ├── OrganizationShortUi.kt │ │ │ ├── OrganizationUi.kt │ │ │ └── ScheduleTimeIntervalsUi.kt │ │ ├── settings │ │ │ ├── CalendarSettingsUi.kt │ │ │ └── HolidaysUi.kt │ │ ├── subjects │ │ │ ├── SubjectSortedType.kt │ │ │ └── SubjectUi.kt │ │ └── users │ │ │ ├── AppUserUi.kt │ │ │ ├── ContactInfoUi.kt │ │ │ ├── EmployeeAndSubjectsUi.kt │ │ │ ├── EmployeeUi.kt │ │ │ ├── SocialNetworkUi.kt │ │ │ ├── SubscribeInfoUi.kt │ │ │ └── UserDeviceUi.kt │ │ └── ui │ │ ├── common │ │ ├── EmployeeSubjectView.kt │ │ └── OrganizationsPicker.kt │ │ ├── employee │ │ ├── EmployeeContent.kt │ │ ├── EmployeeScreen.kt │ │ ├── contract │ │ │ ├── EmployeeContract.kt │ │ │ └── EmployeeDeps.kt │ │ ├── screenmodel │ │ │ ├── EmployeeEffectCommunicator.kt │ │ │ ├── EmployeeScreenModel.kt │ │ │ ├── EmployeeStateCommunicator.kt │ │ │ └── EmployeeWorkProcessor.kt │ │ └── views │ │ │ ├── DetailsEmployeeView.kt │ │ │ ├── EmployeeFiltersView.kt │ │ │ └── EmployeeSearchTopBar.kt │ │ ├── navigation │ │ ├── NavigationScreen.kt │ │ └── NavigationScreenModel.kt │ │ ├── organizations │ │ ├── OrganizationsContent.kt │ │ ├── OrganizationsScreen.kt │ │ ├── contract │ │ │ └── OrganizationsContract.kt │ │ ├── screenmodel │ │ │ ├── OrganizationsEffectCommunicator.kt │ │ │ ├── OrganizationsScreenModel.kt │ │ │ ├── OrganizationsStateCommunicator.kt │ │ │ └── OrganizationsWorkProcessor.kt │ │ └── views │ │ │ ├── ContactInfoView.kt │ │ │ ├── NoneOrganizationInfoView.kt │ │ │ ├── OrganizationInfoView.kt │ │ │ ├── OrganizationsBottomBar.kt │ │ │ ├── OrganizationsTopBar.kt │ │ │ ├── ShortEmployeeView.kt │ │ │ ├── ShortSubjectView.kt │ │ │ └── ShowAllView.kt │ │ ├── subjects │ │ ├── SubjectsContent.kt │ │ ├── SubjectsScreen.kt │ │ ├── contract │ │ │ ├── SubjectsContract.kt │ │ │ └── SubjectsDeps.kt │ │ ├── screenmodel │ │ │ ├── SubjectsEffectCommunicator.kt │ │ │ ├── SubjectsScreenModel.kt │ │ │ ├── SubjectsStateCommunicator.kt │ │ │ └── SubjectsWorkProcessor.kt │ │ └── views │ │ │ ├── DetailsSubjectView.kt │ │ │ ├── SubjectFiltersView.kt │ │ │ └── SubjectsSearchTopBar.kt │ │ └── theme │ │ ├── InfoTheme.kt │ │ ├── InfoThemeRes.kt │ │ └── tokens │ │ ├── InfoIcons.kt │ │ └── InfoStrings.kt ├── navigation │ ├── api │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── androidMain │ │ │ └── AndroidManifest.xml │ │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── navigation │ │ │ └── api │ │ │ ├── di │ │ │ └── NavigationFeatureApi.kt │ │ │ ├── navigation │ │ │ └── NavigationFeatureStarter.kt │ │ │ └── presentation │ │ │ └── TabsRootScreen.kt │ └── impl │ │ ├── build.gradle.kts │ │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── navigation │ │ └── impl │ │ ├── di │ │ ├── NavigationFeatureDependencies.kt │ │ ├── holder │ │ │ └── NavigationFeatureDIHolder.kt │ │ └── modules │ │ │ └── PresentationModule.kt │ │ ├── navigation │ │ ├── NavigationFeatureStarterImpl.kt │ │ └── TabScreenProvider.kt │ │ └── ui │ │ ├── TabsScreen.kt │ │ ├── contract │ │ └── TabsContract.kt │ │ ├── screenmodel │ │ ├── TabsEffectCommunicator.kt │ │ ├── TabsScreenModel.kt │ │ └── TabsStateCommunicator.kt │ │ └── views │ │ └── TabsBottomBar.kt ├── preview │ ├── api │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── androidMain │ │ │ └── AndroidManifest.xml │ │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── preview │ │ │ └── api │ │ │ ├── api │ │ │ └── PreviewFeatureApi.kt │ │ │ ├── navigation │ │ │ ├── PreviewFeatureStarter.kt │ │ │ └── PreviewScreen.kt │ │ │ └── presentation │ │ │ └── PreviewRootScreen.kt │ └── impl │ │ ├── build.gradle.kts │ │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ ├── composeResources │ │ └── drawable │ │ │ ├── ic_textbox.xml │ │ │ ├── il_analytics.xml │ │ │ ├── il_analytics_dark.xml │ │ │ ├── il_friends.xml │ │ │ ├── il_friends_dark.xml │ │ │ ├── il_organizations.xml │ │ │ ├── il_organizations_dark.xml │ │ │ ├── il_schedule.xml │ │ │ ├── il_schedule_dark.xml │ │ │ ├── il_study.xml │ │ │ └── il_study_dark.xml │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── preview │ │ └── impl │ │ ├── di │ │ ├── PreviewFeatureDependencies.kt │ │ ├── holder │ │ │ └── PreviewFeatureDIHolder.kt │ │ └── modules │ │ │ ├── DomainModule.kt │ │ │ ├── NavigationModule.kt │ │ │ └── PresentationModule.kt │ │ ├── domain │ │ ├── common │ │ │ ├── PreviewEitherWrapper.kt │ │ │ └── PreviewErrorHandler.kt │ │ ├── entities │ │ │ └── PreviewFailures.kt │ │ └── interactors │ │ │ ├── AppUserInteractor.kt │ │ │ ├── CalendarSettingsInteractor.kt │ │ │ └── OrganizationsInteractor.kt │ │ ├── navigation │ │ ├── PreviewFeatureStarterImpl.kt │ │ ├── PreviewNavigatorManager.kt │ │ └── PreviewScreenProvider.kt │ │ └── presentation │ │ ├── mappers │ │ ├── AppUserUiMapper.kt │ │ ├── CalendarSettingsUiMapper.kt │ │ ├── ContactInfoUiMapper.kt │ │ ├── EmployeeUiMapper.kt │ │ ├── FailuresMapper.kt │ │ ├── OrganizationUiMapper.kt │ │ ├── ScheduleTimeIntervalsUiMapper.kt │ │ └── SubjectUiMapper.kt │ │ ├── models │ │ ├── organizations │ │ │ ├── NumberedDurationUi.kt │ │ │ ├── OrganizationUi.kt │ │ │ └── ScheduleTimeIntervalsUi.kt │ │ ├── settings │ │ │ ├── CalendarSettingsUi.kt │ │ │ └── HolidaysUi.kt │ │ ├── subjects │ │ │ └── SubjectUi.kt │ │ └── users │ │ │ ├── AppUserUi.kt │ │ │ ├── ContactInfoUi.kt │ │ │ ├── EmployeeUi.kt │ │ │ ├── SocialNetworkUi.kt │ │ │ ├── SubscribeInfoUi.kt │ │ │ └── UserDeviceUi.kt │ │ ├── theme │ │ ├── PreviewTheme.kt │ │ ├── PreviewThemeRes.kt │ │ └── tokens │ │ │ ├── PreviewIcons.kt │ │ │ └── PreviewStrings.kt │ │ └── ui │ │ ├── intro │ │ ├── IntroContent.kt │ │ ├── IntroContentCompact.kt │ │ ├── IntroScreen.kt │ │ ├── contract │ │ │ └── IntroContract.kt │ │ ├── screenmodel │ │ │ ├── IntroEffectCommunicator.kt │ │ │ ├── IntroScreenModel.kt │ │ │ └── IntroStateCommunicator.kt │ │ └── views │ │ │ ├── ActionSections.kt │ │ │ └── IntroPage.kt │ │ ├── navigation │ │ ├── NavScreenModel.kt │ │ └── NavigationScreen.kt │ │ └── setup │ │ ├── SetupContent.kt │ │ ├── SetupScreen.kt │ │ ├── contract │ │ └── SetupContract.kt │ │ ├── screenmodel │ │ ├── SetupEffectCommunicator.kt │ │ ├── SetupScreenModel.kt │ │ ├── SetupStateCommunicator.kt │ │ └── SetupWorkProcessor.kt │ │ └── views │ │ ├── CalendarPageInfo.kt │ │ ├── NavigationPageButton.kt │ │ ├── OrganizationPageInfo.kt │ │ ├── ProfilePageInfo.kt │ │ ├── SchedulePageInfo.kt │ │ ├── SetupPage.kt │ │ └── SetupTopBar.kt ├── profile │ ├── api │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── androidMain │ │ │ └── AndroidManifest.xml │ │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── profile │ │ │ └── api │ │ │ ├── di │ │ │ └── ProfileFeatureApi.kt │ │ │ ├── navigation │ │ │ └── ProfileFeatureStarter.kt │ │ │ └── presentation │ │ │ └── ProfileRootScreen.kt │ └── impl │ │ ├── build.gradle.kts │ │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ ├── composeResources │ │ └── drawable │ │ │ ├── ic_calendar.xml │ │ │ ├── ic_edit.xml │ │ │ ├── ic_email_alert.xml │ │ │ ├── ic_friends.xml │ │ │ ├── ic_notifications.xml │ │ │ ├── ic_payment.xml │ │ │ ├── ic_send_circle.xml │ │ │ ├── ic_settings_common.xml │ │ │ ├── ic_settings_privacy.xml │ │ │ ├── ic_sign_out.xml │ │ │ └── ic_table.xml │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── profile │ │ └── impl │ │ ├── di │ │ ├── ProfileFeatureDependencies.kt │ │ ├── holder │ │ │ └── ProfileFeatureDIHolder.kt │ │ └── modules │ │ │ ├── DomainModule.kt │ │ │ └── PresentationModule.kt │ │ ├── domain │ │ ├── common │ │ │ ├── ProfileEitherWrapper.kt │ │ │ └── ProfileErrorHandler.kt │ │ ├── entities │ │ │ ├── ProfileFailures.kt │ │ │ └── ShareSchedulesSendData.kt │ │ └── interactors │ │ │ ├── AuthInteractor.kt │ │ │ ├── FriendRequestsInteractor.kt │ │ │ ├── OrganizationsInteractor.kt │ │ │ ├── ReminderInteractor.kt │ │ │ ├── ShareSchedulesInteractor.kt │ │ │ └── UserInteractor.kt │ │ ├── navigation │ │ ├── ProfileFeatureStarterImpl.kt │ │ └── ProfileScreenProvider.kt │ │ └── presentation │ │ ├── mappers │ │ ├── AppUserUiMapper.kt │ │ ├── FailuresMapper.kt │ │ ├── FriendRequestsUiMapper.kt │ │ ├── OrganizationMapper.kt │ │ ├── ScheduleTimeIntervalsUiMapper.kt │ │ └── SharedSchedulesUiMapper.kt │ │ ├── models │ │ ├── organization │ │ │ ├── ContactInfoUi.kt │ │ │ ├── NumberedDurationUi.kt │ │ │ ├── OrganizationShortUi.kt │ │ │ └── ScheduleTimeIntervalsUi.kt │ │ ├── shared │ │ │ ├── ReceivedMediatedSchedulesShortUi.kt │ │ │ ├── SentMediatedSchedulesUi.kt │ │ │ ├── ShareSchedulesSendDataUi.kt │ │ │ └── SharedSchedulesShortUi.kt │ │ └── users │ │ │ ├── AppUserUi.kt │ │ │ ├── FriendRequestsUi.kt │ │ │ ├── SocialNetworkUi.kt │ │ │ ├── SubscribeInfoUi.kt │ │ │ └── UserDeviceUi.kt │ │ ├── theme │ │ ├── ProfileTheme.kt │ │ ├── ProfileThemeRes.kt │ │ └── tokens │ │ │ ├── ProfileIcons.kt │ │ │ └── ProfileStrings.kt │ │ └── ui │ │ ├── ProfileContent.kt │ │ ├── ProfileScreen.kt │ │ ├── contract │ │ └── ProfileContract.kt │ │ ├── screenmodel │ │ ├── ProfileEffectCommunicator.kt │ │ ├── ProfileScreenModel.kt │ │ ├── ProfileStateCommunicator.kt │ │ └── ProfileWorkProcessor.kt │ │ └── views │ │ ├── ProfileActionsSection.kt │ │ ├── ProfileInfoSection.kt │ │ ├── ProfileTopBar.kt │ │ ├── ScheduleSenderBottomSheet.kt │ │ └── SharedSchedulesBottomSheet.kt ├── schedule │ ├── api │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── androidMain │ │ │ └── AndroidManifest.xml │ │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── schedule │ │ │ └── api │ │ │ ├── di │ │ │ └── ScheduleFeatureApi.kt │ │ │ ├── navigation │ │ │ ├── ScheduleFeatureStarter.kt │ │ │ └── ScheduleScreen.kt │ │ │ └── presentation │ │ │ └── ScheduleRootScreen.kt │ └── impl │ │ ├── build.gradle.kts │ │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ ├── composeResources │ │ └── drawable │ │ │ ├── ic_format_columns.xml │ │ │ ├── ic_format_grid.xml │ │ │ ├── ic_list_edit.xml │ │ │ ├── ic_open_table.xml │ │ │ ├── ic_table_edit.xml │ │ │ ├── ic_view_dashboard.xml │ │ │ ├── il_free_time.xml │ │ │ └── il_free_time_dark.xml │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── schedule │ │ └── impl │ │ ├── di │ │ ├── ScheduleFeatureDependencies.kt │ │ ├── holder │ │ │ └── ScheduleFeatureDIHolder.kt │ │ └── modules │ │ │ ├── DomainModule.kt │ │ │ ├── NavigationModule.kt │ │ │ └── PresentationModule.kt │ │ ├── domain │ │ ├── common │ │ │ ├── ScheduleEitherWrapper.kt │ │ │ └── ScheduleErrorHandler.kt │ │ ├── entities │ │ │ └── ScheduleFailures.kt │ │ └── interactors │ │ │ ├── AnalysisInteractor.kt │ │ │ ├── HomeworkInteractor.kt │ │ │ ├── OrganizationsInteractor.kt │ │ │ ├── ScheduleInteractor.kt │ │ │ └── ShareSchedulesInteractor.kt │ │ ├── navigation │ │ ├── ScheduleFeatureStarterImpl.kt │ │ ├── ScheduleNavigatorManager.kt │ │ └── ScheduleScreenProvider.kt │ │ └── presentation │ │ ├── mappers │ │ ├── AnalysisUiMapper.kt │ │ ├── AppUserUiMapper.kt │ │ ├── CalendarSettingsUiMapper.kt │ │ ├── ClassUiMapper.kt │ │ ├── ContactInfoUiMapper.kt │ │ ├── EmployeeUiMapper.kt │ │ ├── FailuresMapper.kt │ │ ├── HomeworkUiMapper.kt │ │ ├── OrganizationUiMapper.kt │ │ ├── ScheduleTimeIntervalsUiMapper.kt │ │ ├── ScheduleUiMapper.kt │ │ ├── ShareSchedulesMapper.kt │ │ └── SubjectUiMapper.kt │ │ ├── models │ │ ├── analysis │ │ │ └── DailyAnalysisUi.kt │ │ ├── classes │ │ │ ├── ActiveClassUi.kt │ │ │ ├── ClassDetailsUi.kt │ │ │ ├── ClassUi.kt │ │ │ └── MediatedClassUi.kt │ │ ├── homework │ │ │ ├── HomeworkDetailsUi.kt │ │ │ └── HomeworkTaskComponentUi.kt │ │ ├── organization │ │ │ ├── MediatedOrganizationUi.kt │ │ │ ├── NumberedDurationUi.kt │ │ │ ├── OrganizationShortUi.kt │ │ │ ├── OrganizationUi.kt │ │ │ └── ScheduleTimeIntervalsUi.kt │ │ ├── schedule │ │ │ ├── BaseScheduleDetailsUi.kt │ │ │ ├── BaseScheduleUi.kt │ │ │ ├── CustomScheduleDetailsUi.kt │ │ │ ├── DateVersionUi.kt │ │ │ ├── MediatedBaseScheduleUi.kt │ │ │ ├── NumberOfWeekItem.kt │ │ │ ├── ScheduleDetailsUi.kt │ │ │ └── WeekScheduleDetailsUi.kt │ │ ├── settings │ │ │ ├── CalendarSettingsUi.kt │ │ │ └── HolidaysUi.kt │ │ ├── share │ │ │ ├── OrganizationLinkData.kt │ │ │ └── ReceivedMediatedSchedulesUi.kt │ │ ├── subjects │ │ │ ├── MediatedSubjectUi.kt │ │ │ └── SubjectUi.kt │ │ └── users │ │ │ ├── AppUserUi.kt │ │ │ ├── ContactInfoUi.kt │ │ │ ├── EmployeeUi.kt │ │ │ ├── MediatedEmployeeUi.kt │ │ │ ├── SocialNetworkUi.kt │ │ │ ├── SubscribeInfoUi.kt │ │ │ └── UserDeviceUi.kt │ │ ├── theme │ │ ├── ScheduleTheme.kt │ │ ├── ScheduleThemeRes.kt │ │ └── tokens │ │ │ ├── ScheduleIcons.kt │ │ │ └── ScheduleStrings.kt │ │ └── ui │ │ ├── common │ │ ├── ClassBottomSheet.kt │ │ ├── CommonShortClassView.kt │ │ ├── SheetClassView.kt │ │ └── SheetHomeworkView.kt │ │ ├── details │ │ ├── DetailsContent.kt │ │ ├── DetailsScreen.kt │ │ ├── contract │ │ │ └── DetailsContract.kt │ │ ├── screenmodel │ │ │ ├── DetailsEffectCommunicator.kt │ │ │ ├── DetailsScreenModel.kt │ │ │ ├── DetailsStateCommunicator.kt │ │ │ └── DetailsWorkProcessor.kt │ │ └── views │ │ │ ├── CommonScheduleView.kt │ │ │ ├── DetailsBottomBar.kt │ │ │ └── DetailsTopBar.kt │ │ ├── navigation │ │ ├── NavigationScreen.kt │ │ └── NavigationScreenModel.kt │ │ ├── overview │ │ ├── OverviewContent.kt │ │ ├── OverviewScreen.kt │ │ ├── contract │ │ │ └── OverviewContract.kt │ │ ├── screenmodel │ │ │ ├── OverviewEffectCommunicator.kt │ │ │ ├── OverviewScreenModel.kt │ │ │ ├── OverviewStateCommunicator.kt │ │ │ └── OverviewWorkProcessor.kt │ │ └── views │ │ │ ├── DetailsClassBadges.kt │ │ │ ├── DetailsClassView.kt │ │ │ ├── OverviewBottomBar.kt │ │ │ ├── OverviewTopBar.kt │ │ │ └── OverviewTopSheet.kt │ │ └── share │ │ ├── ShareContent.kt │ │ ├── ShareScreen.kt │ │ ├── contract │ │ ├── ShareContract.kt │ │ └── ShareDeps.kt │ │ ├── screenmodel │ │ ├── ShareEffectCommunicator.kt │ │ ├── ShareScreenModel.kt │ │ ├── ShareStateCommunicator.kt │ │ └── ShareWorkProcessor.kt │ │ └── views │ │ ├── LinkedEmployeesView.kt │ │ ├── LinkedSubjectsView.kt │ │ ├── OrganizationDataLinker.kt │ │ ├── ScheduleWeekChip.kt │ │ ├── SenderUserView.kt │ │ ├── ShareBottomActionBar.kt │ │ ├── ShareTopBar.kt │ │ ├── SharedOrganizationView.kt │ │ └── SharedScheduleView.kt ├── settings │ ├── api │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── androidMain │ │ │ └── AndroidManifest.xml │ │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── settings │ │ │ └── api │ │ │ ├── di │ │ │ └── SettingsFeatureApi.kt │ │ │ ├── navigation │ │ │ ├── SettingsFeatureStarter.kt │ │ │ └── SettingsScreen.kt │ │ │ └── presentation │ │ │ └── SettingsRootScreen.kt │ └── impl │ │ ├── build.gradle.kts │ │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ ├── composeResources │ │ └── drawable │ │ │ ├── ic_calendar_week.xml │ │ │ ├── ic_language.xml │ │ │ └── ic_palette.xml │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── settings │ │ └── impl │ │ ├── di │ │ ├── SettingsFeatureDependencies.kt │ │ ├── holder │ │ │ └── SettingsFeatureDIHolder.kt │ │ └── modules │ │ │ ├── DomainModule.kt │ │ │ ├── NavigationModule.kt │ │ │ └── PresentationModule.kt │ │ ├── domain │ │ ├── common │ │ │ ├── SettingsEitherWrapper.kt │ │ │ └── SettingsErrorHandler.kt │ │ ├── entities │ │ │ └── SettingsFailures.kt │ │ └── interactors │ │ │ ├── AppUserInteractor.kt │ │ │ ├── CalendarSettingsInteractor.kt │ │ │ ├── GeneralSettingsInteractor.kt │ │ │ ├── NotificationSettingsInteractor.kt │ │ │ ├── OrganizationInteractor.kt │ │ │ └── SyncInteractor.kt │ │ ├── navigation │ │ ├── SettingsFeatureStarterImpl.kt │ │ ├── SettingsNavigatorManager.kt │ │ └── SettingsScreenProvider.kt │ │ └── presentation │ │ ├── mappers │ │ ├── CalendarSettingsUiMapper.kt │ │ ├── FailuresMapper.kt │ │ ├── GeneralSettingsUiMapper.kt │ │ ├── NotificationSettingsUiMapper.kt │ │ └── OrganizationsUiMapper.kt │ │ ├── models │ │ ├── organizations │ │ │ ├── ContactInfoUi.kt │ │ │ ├── NumberedDurationUi.kt │ │ │ ├── OrganizationShortUi.kt │ │ │ └── ScheduleTimeIntervalsUi.kt │ │ └── settings │ │ │ ├── CalendarSettingsUi.kt │ │ │ ├── EditHolidaysUi.kt │ │ │ ├── GeneralSettingsUi.kt │ │ │ ├── HolidaysUi.kt │ │ │ └── NotificationSettingsUi.kt │ │ ├── theme │ │ ├── SettingsTheme.kt │ │ ├── SettingsThemeRes.kt │ │ └── tokens │ │ │ ├── SettingsIcons.kt │ │ │ └── SettingsStrings.kt │ │ └── ui │ │ ├── calendar │ │ ├── CalendarContent.kt │ │ ├── CalendarScreen.kt │ │ ├── contract │ │ │ └── CalendarContract.kt │ │ ├── screenmodel │ │ │ ├── CalendarEffectCommunicator.kt │ │ │ ├── CalendarScreenModel.kt │ │ │ ├── CalendarStateCommunicator.kt │ │ │ └── GeneralWorkProcessor.kt │ │ └── views │ │ │ └── HolidaysView.kt │ │ ├── common │ │ ├── SettingsSelectorView.kt │ │ └── SettingsSwitchView.kt │ │ ├── general │ │ ├── GeneralContent.kt │ │ ├── GeneralScreen.kt │ │ ├── contract │ │ │ └── GeneralContract.kt │ │ └── screenmodel │ │ │ ├── GeneralEffectCommunicator.kt │ │ │ ├── GeneralScreenModel.kt │ │ │ ├── GeneralStateCommunicator.kt │ │ │ └── GeneralWorkProcessor.kt │ │ ├── navigation │ │ ├── TabNavigationScreen.kt │ │ ├── contract │ │ │ └── TabNavigationContract.kt │ │ ├── screenmodel │ │ │ ├── TabNavigationEffectCommunicator.kt │ │ │ ├── TabNavigationScreenModel.kt │ │ │ └── TabNavigationStateCommunicator.kt │ │ └── views │ │ │ ├── TabNavigationRow.kt │ │ │ └── TabNavigationTopBar.kt │ │ ├── notification │ │ ├── NotificationContent.kt │ │ ├── NotificationScreen.kt │ │ ├── contract │ │ │ └── NotificationContract.kt │ │ ├── screenmodel │ │ │ ├── NotificationEffectCommunicator.kt │ │ │ ├── NotificationScreenModel.kt │ │ │ ├── NotificationStateCommunicator.kt │ │ │ └── NotificationWorkProcessor.kt │ │ └── views │ │ │ ├── ExceptionOrganizationsChip.kt │ │ │ ├── TimeChips.kt │ │ │ └── WorkloadRateChip.kt │ │ └── subscription │ │ ├── SubscriptionContent.kt │ │ ├── SubscriptionScreen.kt │ │ ├── contract │ │ └── SubscriptionContract.kt │ │ ├── screenmodel │ │ ├── SubscriptionEffectCommunicator.kt │ │ ├── SubscriptionScreenModel.kt │ │ ├── SubscriptionStateCommunicator.kt │ │ └── SubscriptionWorkProcessor.kt │ │ └── views │ │ └── SyncRemoteDataView.kt ├── tasks │ ├── api │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── androidMain │ │ │ └── AndroidManifest.xml │ │ │ └── commonMain │ │ │ └── kotlin │ │ │ └── ru │ │ │ └── aleshin │ │ │ └── studyassistant │ │ │ └── tasks │ │ │ └── api │ │ │ ├── di │ │ │ └── TasksFeatureApi.kt │ │ │ ├── navigation │ │ │ ├── TasksFeatureStarter.kt │ │ │ └── TasksScreen.kt │ │ │ └── presentation │ │ │ └── TasksRootScreen.kt │ └── impl │ │ ├── build.gradle.kts │ │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ ├── composeResources │ │ └── drawable │ │ │ ├── ic_account_file_outline.xml │ │ │ ├── ic_alert_triangular.xml │ │ │ ├── ic_calendar_clock_outline.xml │ │ │ ├── ic_timeline_in_progress.xml │ │ │ ├── ic_timer.xml │ │ │ ├── ic_view_array_outline.xml │ │ │ └── ic_view_day_outline.xml │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── tasks │ │ └── impl │ │ ├── di │ │ ├── TasksFeatureDependencies.kt │ │ ├── holder │ │ │ └── TasksFeatureDIHolder.kt │ │ └── modules │ │ │ ├── DomainModule.kt │ │ │ ├── NavigationModule.kt │ │ │ └── PresentationModule.kt │ │ ├── domain │ │ ├── common │ │ │ ├── TasksEitherWrapper.kt │ │ │ └── TasksErrorHandler.kt │ │ ├── entities │ │ │ ├── HomeworkErrors.kt │ │ │ ├── TasksFailures.kt │ │ │ └── TodoErrors.kt │ │ └── interactors │ │ │ ├── GoalsInteractor.kt │ │ │ ├── HomeworksInteractor.kt │ │ │ ├── OrganizationInteractor.kt │ │ │ ├── ScheduleInteractor.kt │ │ │ ├── ShareHomeworksInteractor.kt │ │ │ ├── SubjectsInteractor.kt │ │ │ ├── TodoInteractor.kt │ │ │ └── UsersInteractor.kt │ │ ├── navigation │ │ ├── TasksFeatureStarterImpl.kt │ │ ├── TasksNavigatorManager.kt │ │ └── TasksScreenProvider.kt │ │ └── presentation │ │ ├── mappers │ │ ├── AppUserUiMapper.kt │ │ ├── ClassUiMapper.kt │ │ ├── ContactInfoUiMapper.kt │ │ ├── EmployeeUiMapper.kt │ │ ├── FailuresMapper.kt │ │ ├── GoalUiMapper.kt │ │ ├── HomeworkUiMapper.kt │ │ ├── OrganizationUiMapper.kt │ │ ├── ScheduleTimeIntervalsUiMapper.kt │ │ ├── ScheduleUiMapper.kt │ │ ├── SharedHomeworksUiMapper.kt │ │ ├── SubjectUiMapper.kt │ │ └── TodoUiMapper.kt │ │ ├── models │ │ ├── goals │ │ │ ├── DailyGoalsProgressUi.kt │ │ │ ├── GoalDetailsUi.kt │ │ │ └── GoalTimeUi.kt │ │ ├── organization │ │ │ ├── NumberedDurationUi.kt │ │ │ ├── OrganizationShortUi.kt │ │ │ └── ScheduleTimeIntervalsUi.kt │ │ ├── schedules │ │ │ ├── BaseScheduleUi.kt │ │ │ ├── ClassUi.kt │ │ │ ├── CustomScheduleUi.kt │ │ │ ├── DateVersionUi.kt │ │ │ ├── NumberedClassUi.kt │ │ │ └── ScheduleUi.kt │ │ ├── share │ │ │ ├── ReceivedMediatedHomeworksDetailsUi.kt │ │ │ ├── ReceivedMediatedHomeworksUi.kt │ │ │ ├── SentMediatedHomeworksDetailsUi.kt │ │ │ ├── SentMediatedHomeworksUi.kt │ │ │ ├── SharedHomeworksDetailsUi.kt │ │ │ └── SharedHomeworksUi.kt │ │ ├── subjects │ │ │ └── SubjectUi.kt │ │ ├── tasks │ │ │ ├── DailyHomeworksUi.kt │ │ │ ├── HomeworkDetailsUi.kt │ │ │ ├── HomeworkErrorsUi.kt │ │ │ ├── HomeworkScopeUi.kt │ │ │ ├── HomeworkTaskComponentUi.kt │ │ │ ├── HomeworkUi.kt │ │ │ ├── MediatedHomeworkLinkData.kt │ │ │ ├── MediatedHomeworkUi.kt │ │ │ ├── TasksAnalysis.kt │ │ │ ├── TodoDetailsUi.kt │ │ │ ├── TodoErrorsUi.kt │ │ │ └── TodoNotificationsUi.kt │ │ └── users │ │ │ ├── AppUserUi.kt │ │ │ ├── ContactInfoUi.kt │ │ │ ├── EmployeeUi.kt │ │ │ ├── SocialNetworkUi.kt │ │ │ ├── SubscribeInfoUi.kt │ │ │ └── UserDeviceUi.kt │ │ ├── theme │ │ ├── TasksTheme.kt │ │ ├── TasksThemeRes.kt │ │ └── tokens │ │ │ ├── TasksIcons.kt │ │ │ └── TasksStrings.kt │ │ └── ui │ │ ├── common │ │ ├── HomeworkTaskView.kt │ │ └── TodoViewItem.kt │ │ ├── homeworks │ │ ├── HomeworksContent.kt │ │ ├── HomeworksScreen.kt │ │ ├── contract │ │ │ ├── HomeworksContract.kt │ │ │ └── HomeworksDeps.kt │ │ ├── screenmodel │ │ │ ├── HomeworksEffectCommunicator.kt │ │ │ ├── HomeworksScreenModel.kt │ │ │ ├── HomeworksStateCommunicator.kt │ │ │ └── HomeworksWorkProcessor.kt │ │ └── views │ │ │ ├── HomeworkDetailsViewOld.kt │ │ │ ├── HomeworksDetailsView.kt │ │ │ ├── HomeworksTopBar.kt │ │ │ └── HomeworksTopSheet.kt │ │ ├── navigation │ │ ├── NavigationScreen.kt │ │ └── NavigationScreenModel.kt │ │ ├── overview │ │ ├── OverviewContent.kt │ │ ├── OverviewScreen.kt │ │ ├── contract │ │ │ └── OverviewContract.kt │ │ ├── screenmodel │ │ │ ├── OverviewEffectCommunicator.kt │ │ │ ├── OverviewScreenModel.kt │ │ │ ├── OverviewStateCommunicator.kt │ │ │ └── OverviewWorkProcessor.kt │ │ └── views │ │ │ ├── AllHomeworksExecutionAnalysisView.kt │ │ │ ├── DailyGoalsView.kt │ │ │ ├── DailyHomeworksView.kt │ │ │ ├── GoalView.kt │ │ │ ├── HomeworkTasksChart.kt │ │ │ ├── HomeworksExecutionAnalysisView.kt │ │ │ ├── HomeworksOverview.kt │ │ │ ├── OverviewTopBar.kt │ │ │ ├── ScopeOfHomeworksView.kt │ │ │ ├── ShareHomeworksBottomSheet.kt │ │ │ ├── ShareHomeworksView.kt │ │ │ ├── SharedHomeworksStatusView.kt │ │ │ ├── TaskErrorsBottomSheet.kt │ │ │ └── TasksProgressView.kt │ │ ├── share │ │ ├── ShareContent.kt │ │ ├── ShareScreen.kt │ │ ├── contract │ │ │ └── ShareContract.kt │ │ ├── screenmodel │ │ │ ├── ShareEffectCommunicator.kt │ │ │ ├── ShareScreenModel.kt │ │ │ ├── ShareStateCommunicator.kt │ │ │ └── ShareWorkProcessor.kt │ │ └── views │ │ │ ├── LinkDataSelectorDialogs.kt │ │ │ ├── MediatedHomeworksLinkerBottomSheet.kt │ │ │ ├── ReceivedSharedHomeworksView.kt │ │ │ ├── SentSharedHomeworksView.kt │ │ │ └── ShareTopBar.kt │ │ └── todos │ │ ├── TodoContent.kt │ │ ├── TodoScreen.kt │ │ ├── contract │ │ └── TodoContract.kt │ │ ├── screenmodel │ │ ├── TodoEffectCommunicator.kt │ │ ├── TodoScreenModel.kt │ │ ├── TodoStateCommunicator.kt │ │ └── TodoWorkProcessor.kt │ │ └── views │ │ ├── TodoTopBar.kt │ │ └── TodoTopSheet.kt └── users │ ├── api │ ├── build.gradle.kts │ └── src │ │ ├── androidMain │ │ └── AndroidManifest.xml │ │ └── commonMain │ │ └── kotlin │ │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ └── users │ │ └── api │ │ ├── di │ │ └── UsersFeatureApi.kt │ │ ├── navigation │ │ ├── UsersFeatureStarter.kt │ │ └── UsersScreen.kt │ │ └── presentation │ │ └── UsersRootScreen.kt │ └── impl │ ├── build.gradle.kts │ └── src │ ├── androidMain │ └── AndroidManifest.xml │ └── commonMain │ └── kotlin │ └── ru │ └── aleshin │ └── studyassistant │ └── users │ └── impl │ ├── di │ ├── UsersFeatureDependencies.kt │ ├── holder │ │ └── UsersFeatureDIHolder.kt │ └── modules │ │ ├── DomainModule.kt │ │ ├── NavigationModule.kt │ │ └── PresentationModule.kt │ ├── domain │ ├── common │ │ ├── UsersEitherWrapper.kt │ │ └── UsersErrorHandler.kt │ ├── entities │ │ └── UsersFailures.kt │ └── interactors │ │ ├── EmployeeInteractor.kt │ │ ├── FriendRequestsInteractor.kt │ │ └── UsersInteractor.kt │ ├── navigation │ ├── UsersFeatureStarterImpl.kt │ ├── UsersNavigatorManager.kt │ └── UsersScreenProvider.kt │ └── presentation │ ├── mappers │ ├── AppUserUiMapper.kt │ ├── ContactInfoUiMapper.kt │ ├── EmployeeUiMapper.kt │ ├── FailuresMapper.kt │ ├── FriendRequestsUiMapper.kt │ └── SubjectUiMapper.kt │ ├── models │ ├── AppUserUi.kt │ ├── ContactInfoUi.kt │ ├── EmployeeDetailsUi.kt │ ├── EmployeeUi.kt │ ├── FriendRequestsDetailsUi.kt │ ├── SocialNetworkUi.kt │ ├── SubjectUi.kt │ ├── SubscribeInfoUi.kt │ └── UserDeviceUi.kt │ ├── theme │ ├── UsersTheme.kt │ ├── UsersThemeRes.kt │ └── tokens │ │ ├── UsersIcons.kt │ │ └── UsersStrings.kt │ └── ui │ ├── common │ ├── NoneUserRequestsView.kt │ └── UserView.kt │ ├── employee │ ├── EmployeeProfileContent.kt │ ├── EmployeeProfileScreen.kt │ ├── contract │ │ ├── EmployeeProfileContract.kt │ │ └── EmployeeProfileDeps.kt │ ├── screenmodel │ │ ├── EmployeeProfileEffectCommunicator.kt │ │ ├── EmployeeProfileScreenModel.kt │ │ ├── EmployeeProfileStateCommunicator.kt │ │ └── EmployeeProfileWorkProcessor.kt │ └── views │ │ ├── EmployeeContactInfoView.kt │ │ ├── EmployeeProfileTopBar.kt │ │ ├── EmployeeProfileTopSheet.kt │ │ └── EmployeeSubjectView.kt │ ├── friends │ ├── FriendsContent.kt │ ├── FriendsScreen.kt │ ├── contract │ │ └── FriendsContract.kt │ ├── screenmodel │ │ ├── FriendsEffectCommunicator.kt │ │ ├── FriendsScreenModel.kt │ │ ├── FriendsStateCommunicator.kt │ │ └── FriendsWorkProcessor.kt │ └── views │ │ ├── FriendDropdownMenu.kt │ │ ├── FriendsSearchTopBar.kt │ │ └── RequestsTab.kt │ ├── navigation │ ├── NavigationScreen.kt │ └── NavigationScreenModel.kt │ ├── requests │ ├── RequestsContent.kt │ ├── RequestsScreen.kt │ ├── contract │ │ └── RequestsContract.kt │ ├── screenmodel │ │ ├── RequestsEffectCommunicator.kt │ │ ├── RequestsScreenModel.kt │ │ ├── RequestsStateCommunicator.kt │ │ └── RequestsWorkProcessor.kt │ └── views │ │ ├── RequestsTabsRow.kt │ │ └── RequestsTopBar.kt │ └── user │ ├── UserProfileContent.kt │ ├── UserProfileScreen.kt │ ├── contract │ ├── UserProfileContract.kt │ └── UserProfileDeps.kt │ ├── screenmodel │ ├── UserProfileEffectCommunicator.kt │ ├── UserProfileScreenModel.kt │ ├── UserProfileStateCommunicator.kt │ └── UserProfileWorkProcessor.kt │ └── views │ ├── UserProfileTopBar.kt │ └── UserProfileTopSheet.kt └── src ├── androidMain ├── AndroidManifest.xml └── kotlin │ └── ru │ └── aleshin │ └── studyassistant │ ├── di │ ├── PlatformConfiguration.android.kt │ └── modules │ │ └── PlatformModule.android.kt │ └── presentation │ ├── services │ └── RemoteMessageHandlerImpl.kt │ └── ui │ └── AppScreen.kt ├── commonMain ├── kotlin │ └── ru │ │ └── aleshin │ │ └── studyassistant │ │ ├── PlatformSDK.kt │ │ ├── di │ │ ├── PlatformConfiguration.platform.kt │ │ ├── PlatformGoogleAuthTokenProvider.kt │ │ └── modules │ │ │ ├── DomainModule.kt │ │ │ ├── FeatureModule.kt │ │ │ ├── PlatformModule.platform.kt │ │ │ └── PresentationModule.kt │ │ ├── domain │ │ ├── common │ │ │ ├── MainEitherWrapper.kt │ │ │ └── MainErrorHandler.kt │ │ ├── entities │ │ │ └── MainFailures.kt │ │ └── interactors │ │ │ ├── AppUserInteractor.kt │ │ │ ├── GeneralSettingsInteractor.kt │ │ │ └── ReminderInteractor.kt │ │ ├── navigation │ │ └── GlobalScreenProvider.kt │ │ └── presentation │ │ ├── mappers │ │ ├── FailuresMapper.kt │ │ └── GeneralSettingsUiMapper.kt │ │ ├── models │ │ └── GeneralSettingsUi.kt │ │ └── ui │ │ ├── main │ │ ├── MainScreen.kt │ │ ├── contract │ │ │ └── MainContract.kt │ │ └── screenmodel │ │ │ ├── MainEffectCommunicator.kt │ │ │ ├── MainScreenModel.kt │ │ │ ├── MainStateCommunicator.kt │ │ │ └── MainWorkProcessor.kt │ │ └── splash │ │ ├── SplashContent.kt │ │ └── SplashScreen.kt └── resources │ └── drawable │ ├── ic_account_file_outline.xml │ ├── ic_additional_organization.xml │ ├── ic_alert_circle.xml │ ├── ic_alert_circle_outline.xml │ ├── ic_alert_triangular.xml │ ├── ic_birthday.xml │ ├── ic_book_study.xml │ ├── ic_break.xml │ ├── ic_calendar.xml │ ├── ic_calendar_clock_outline.xml │ ├── ic_calendar_today.xml │ ├── ic_calendar_week.xml │ ├── ic_church.xml │ ├── ic_circle_edit_outline.xml │ ├── ic_class.xml │ ├── ic_classes_column.xml │ ├── ic_clear_circular.xml │ ├── ic_clock.xml │ ├── ic_clock_outline.xml │ ├── ic_color.xml │ ├── ic_description.xml │ ├── ic_duration.xml │ ├── ic_edit.xml │ ├── ic_email.xml │ ├── ic_email_alert.xml │ ├── ic_employee.xml │ ├── ic_employee_post.xml │ ├── ic_format_columns.xml │ ├── ic_format_grid.xml │ ├── ic_friends.xml │ ├── ic_gender.xml │ ├── ic_google.xml │ ├── ic_language.xml │ ├── ic_lecture.xml │ ├── ic_list_edit.xml │ ├── ic_mail_outline.xml │ ├── ic_map_marker.xml │ ├── ic_movements.xml │ ├── ic_notifications.xml │ ├── ic_notify.xml │ ├── ic_number.xml │ ├── ic_online_lesson.xml │ ├── ic_open_table.xml │ ├── ic_organization.xml │ ├── ic_organization_geo.xml │ ├── ic_organization_geo_outline.xml │ ├── ic_organization_remove_outline.xml │ ├── ic_organization_type.xml │ ├── ic_palette.xml │ ├── ic_password_outline.xml │ ├── ic_payment.xml │ ├── ic_person_outline.xml │ ├── ic_phone.xml │ ├── ic_practice.xml │ ├── ic_presentation.xml │ ├── ic_priority_high.xml │ ├── ic_profile.xml │ ├── ic_profile_outline.xml │ ├── ic_select_date.xml │ ├── ic_seminar.xml │ ├── ic_send_circle.xml │ ├── ic_settings_common.xml │ ├── ic_settings_privacy.xml │ ├── ic_sign_out.xml │ ├── ic_soc_network.xml │ ├── ic_sorted_type.xml │ ├── ic_star_circle_outline.xml │ ├── ic_star_circular.xml │ ├── ic_study.xml │ ├── ic_study_assistant.png │ ├── ic_study_outline.xml │ ├── ic_subject_name.xml │ ├── ic_table.xml │ ├── ic_table_edit.xml │ ├── ic_tasks.xml │ ├── ic_tasks_circular.xml │ ├── ic_tasks_outline.xml │ ├── ic_textbox.xml │ ├── ic_timeline_in_progress.xml │ ├── ic_timer.xml │ ├── ic_university.xml │ ├── ic_upload_circular.xml │ ├── ic_view_array_outline.xml │ ├── ic_view_dashboard.xml │ ├── ic_view_day_outline.xml │ ├── ic_visibility.xml │ ├── ic_visibility_off.xml │ ├── ic_web.xml │ ├── ic_webinar.xml │ ├── ic_worktime.xml │ ├── il_analytics.xml │ ├── il_analytics_dark.xml │ ├── il_forgot.xml │ ├── il_forgot_dark.xml │ ├── il_free_time.xml │ ├── il_free_time_dark.xml │ ├── il_friends.xml │ ├── il_friends_dark.xml │ ├── il_login.xml │ ├── il_login_dark.xml │ ├── il_organizations.xml │ ├── il_organizations_dark.xml │ ├── il_register.xml │ ├── il_register_dark.xml │ ├── il_schedule.xml │ ├── il_schedule_dark.xml │ ├── il_study.xml │ ├── il_study_dark.xml │ ├── il_verification.xml │ ├── il_verification_dark.xml │ ├── logo_discord.xml │ ├── logo_facebook.xml │ ├── logo_instagram.xml │ ├── logo_telegram.xml │ ├── logo_tiktok.xml │ ├── logo_vk.xml │ ├── logo_whatsapp.xml │ ├── logo_x.xml │ └── logo_youtube.xml └── iosMain └── kotlin └── ru └── aleshin └── studyassistant ├── MainViewController.kt └── di ├── PlatformConfiguration.ios.kt └── modules └── PlatformModule.ios.kt /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | .kotlin 4 | .idea 5 | .DS_Store 6 | build 7 | captures 8 | .externalNativeBuild 9 | .cxx 10 | local.properties 11 | xcuserdata 12 | androidApp/fdroid/ 13 | androidApp/github/ 14 | androidApp/google/ 15 | androidApp/rustore/ 16 | androidApp/mapping.txt 17 | androidApp/src/main/assets/service-account-file.json 18 | iosApp/iosApp/service-account-file.json 19 | iosApp/service-account-file.json 20 | iosApp/GoogleService-Info.plist 21 | iosApp/iosApp/GoogleService-Info.plist 22 | androidApp/google-services.json 23 | androidApp/agconnect-services.json -------------------------------------------------------------------------------- /androidApp/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class app.cash.sqldelight.** { *; } 2 | -keep class kotlin.** { *; } 3 | 4 | -keep class com.google.api.client.** { *; } 5 | -keep class com.google.auth.** { *; } 6 | 7 | -keepattributes *Annotation* 8 | -keepattributes SourceFile,LineNumberTable 9 | -keep public class * extends java.lang.Exception 10 | -printmapping mapping.txt 11 | 12 | 13 | -dontwarn org.slf4j.impl.StaticLoggerBinder 14 | -dontwarn com.squareup.okhttp.CipherSuite 15 | -dontwarn com.squareup.okhttp.ConnectionSpec 16 | -dontwarn com.squareup.okhttp.TlsVersion 17 | -dontwarn java.lang.management.ManagementFactory 18 | -dontwarn java.lang.management.RuntimeMXBean 19 | -dontwarn java.lang.reflect.AnnotatedType 20 | -dontwarn org.slf4j.impl.StaticMDCBinder 21 | -dontwarn org.slf4j.impl.StaticMarkerBinder 22 | 23 | -keep class com.hianalytics.android.**{*;} 24 | -keep class com.huawei.updatesdk.**{*;} 25 | -keep class com.huawei.hms.**{*;} -------------------------------------------------------------------------------- /androidApp/src/fdroid/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /androidApp/src/huawei/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /androidApp/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /androidApp/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #5B1FBD 4 | -------------------------------------------------------------------------------- /androidApp/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6500D8 4 | -------------------------------------------------------------------------------- /androidApp/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Study Assistant 3 | studyAssistantAlarmChannel 4 | -------------------------------------------------------------------------------- /androidApp/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /androidApp/src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 12 | 13 | 19 | -------------------------------------------------------------------------------- /config/detekt/detekt.yml: -------------------------------------------------------------------------------- 1 | naming: 2 | FunctionNaming: 3 | ignoreAnnotated: ['Composable'] 4 | MatchingDeclarationName: 5 | mustBeFirst: false 6 | complexity: 7 | LongMethod: 8 | threshold: 100 9 | LongParameterList: 10 | functionThreshold: 25 11 | constructorThreshold: 15 12 | TooManyFunctions: 13 | ignoreAnnotatedFunctions: ['Preview'] 14 | formatting: 15 | FinalNewline: 16 | insertFinalNewLine: false 17 | style: 18 | MagicNumber: 19 | ignorePropertyDeclaration: true 20 | ignoreCompanionObjectPropertyDeclaration: true 21 | UnusedPrivateMember: 22 | ignoreAnnotated: ['Preview'] 23 | NewLineAtEndOfFile: 24 | active: false -------------------------------------------------------------------------------- /config/images/play_store_app_icon_1024x1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/play_store_app_icon_1024x1024.png -------------------------------------------------------------------------------- /config/images/play_store_app_icon_1024x1024_rounded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/play_store_app_icon_1024x1024_rounded.png -------------------------------------------------------------------------------- /config/images/play_store_app_icon_512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/play_store_app_icon_512x512.png -------------------------------------------------------------------------------- /config/images/play_store_app_icon_512x512_rounded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/play_store_app_icon_512x512_rounded.png -------------------------------------------------------------------------------- /config/images/screenshots/ConfirmEmail_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/ConfirmEmail_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Class_Subject_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Class_Subject_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Class_Subject_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Class_Subject_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Class_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Class_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Class_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Class_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Daily_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Daily_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Daily_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Daily_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Employee_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Employee_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Employee_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Employee_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Homework_2_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Homework_2_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Homework_2_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Homework_2_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Homework_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Homework_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Homework_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Homework_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Subject_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Subject_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Subject_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Subject_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Week_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Week_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Editor_Week_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Editor_Week_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Employee_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Employee_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Employee_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Employee_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Forgot_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Forgot_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Friends_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Friends_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Friends_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Friends_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Homeworks_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Homeworks_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Homeworks_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Homeworks_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Login_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Login_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Organizations_2_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Organizations_2_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Organizations_2_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Organizations_2_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Organizations_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Organizations_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Organizations_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Organizations_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Profile_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Profile_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Profile_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Profile_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Register_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Register_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Schedule_Details_Vertical_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Schedule_Details_Vertical_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Schedule_Details_Vertical_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Schedule_Details_Vertical_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Schedule_Details_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Schedule_Details_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Schedule_Details_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Schedule_Details_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Schedule_Overview_Class_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Schedule_Overview_Class_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Schedule_Overview_Class_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Schedule_Overview_Class_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Schedule_Overview_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Schedule_Overview_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Schedule_Overview_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Schedule_Overview_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Settings_Calendar_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Settings_Calendar_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Settings_Calendar_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Settings_Calendar_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Settings_Common_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Settings_Common_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Settings_Common_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Settings_Common_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Settings_Notifcation_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Settings_Notifcation_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Settings_Notifcation_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Settings_Notifcation_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Shrare_Schedule_2_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Shrare_Schedule_2_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Shrare_Schedule_2_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Shrare_Schedule_2_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Shrare_Schedule_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Shrare_Schedule_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Shrare_Schedule_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Shrare_Schedule_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Subjects_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Subjects_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Subjects_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Subjects_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Tasks_Overview_2_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Tasks_Overview_2_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Tasks_Overview_2_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Tasks_Overview_2_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Tasks_Overview_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Tasks_Overview_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Tasks_Overview_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Tasks_Overview_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Tasks_Share_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Tasks_Share_dark_en.png -------------------------------------------------------------------------------- /config/images/screenshots/Tasks_Share_dark_ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Tasks_Share_dark_ru.png -------------------------------------------------------------------------------- /config/images/screenshots/Tasks_Todo_dark_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/config/images/screenshots/Tasks_Todo_dark_en.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/featureGraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/featureGraphic.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/phoneScreenshots/7.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/phoneScreenshots/8.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/en-US/images/phoneScreenshots/9.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | A convenient study assistant for your educ. organization with homework sharing -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/phoneScreenshots/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/ru/phoneScreenshots/1.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/phoneScreenshots/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/ru/phoneScreenshots/2.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/phoneScreenshots/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/ru/phoneScreenshots/3.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/phoneScreenshots/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/ru/phoneScreenshots/4.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/phoneScreenshots/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/ru/phoneScreenshots/5.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/phoneScreenshots/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/ru/phoneScreenshots/6.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/phoneScreenshots/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/ru/phoneScreenshots/7.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/phoneScreenshots/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/ru/phoneScreenshots/8.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/phoneScreenshots/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/fastlane/metadata/android/ru/phoneScreenshots/9.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/short_description.txt: -------------------------------------------------------------------------------- 1 | Удобный помощник в учебе для ваших организаций с поддержкой обмена заданиями -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | #Gradle 2 | org.gradle.jvmargs=-Xmx4096M -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options\="-Xmx4096M" 3 | org.gradle.caching=true 4 | org.gradle.configuration-cache=true 5 | 6 | #Kotlin 7 | kotlin.code.style=official 8 | 9 | #Android 10 | android.useAndroidX=true 11 | android.nonTransitiveRClass=true -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jun 02 16:25:13 MSK 2025 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /iosApp/iosApp/AnalyticsServiceImpl.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AnalyticsServiceImpl.swift 3 | // iosApp 4 | // 5 | // Created by Stanislav Aleshin on 18.04.2025. 6 | // Copyright © 2025 orgName. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import shared 11 | 12 | public class AnalyticsServiceImpl : CommonAnalyticsService { 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /iosApp/iosApp/AppServiceImpl.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppServiceImpl.swift 3 | // iosApp 4 | // 5 | // Created by Stanislav Aleshin on 13.09.2024. 6 | // Copyright © 2024 orgName. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import Firebase 11 | import FirebaseCore 12 | import shared 13 | 14 | public class AppServiceImpl : CommonAppService { 15 | 16 | public var flavor: CommonFlavor = CommonFlavor.apple 17 | 18 | public var isAvailableServices: Bool { 19 | return FirebaseApp.app() != nil 20 | } 21 | 22 | public func initializeApp() { 23 | FirebaseConfiguration.shared.setLoggerLevel(.min) 24 | let filePath = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist") 25 | guard let fileopts = FirebaseOptions(contentsOfFile: filePath!) else { assert(false, "Couldn't load config file") } 26 | FirebaseApp.configure(options: fileopts) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ic_launcher_ios.png", 5 | "idiom" : "universal", 6 | "platform" : "ios", 7 | "size" : "1024x1024" 8 | } 9 | ], 10 | "info" : { 11 | "author" : "xcode", 12 | "version" : 1 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/ic_launcher_ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/ic_launcher_ios.png -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /iosApp/iosApp/ContentView.swift: -------------------------------------------------------------------------------- 1 | import SwiftUI 2 | import shared 3 | 4 | struct ComposeView: UIViewControllerRepresentable { 5 | func makeUIViewController(context: Context) -> UIViewController { 6 | MainViewControllerKt.MainViewController() 7 | } 8 | 9 | func updateUIViewController(_ uiViewController: UIViewController, context: Context) {} 10 | } 11 | 12 | struct ContentView: View { 13 | var body: some View { 14 | ComposeView().ignoresSafeArea(.keyboard).ignoresSafeArea(edges: .all) 15 | } 16 | } 17 | 18 | struct ContentView_Previews: PreviewProvider { 19 | static var previews: some View { 20 | ContentView() 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /iosApp/iosApp/CrashlyticsServiceImpl.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CrashlyticsServiceImpl.swift 3 | // iosApp 4 | // 5 | // Created by Stanislav Aleshin on 13.09.2024. 6 | // Copyright © 2024 orgName. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import Firebase 11 | import FirebaseCore 12 | import shared 13 | 14 | public class CrashlyticsServiceImpl : CommonCrashlyticsService { 15 | public func initializeService() {} 16 | public func recordException(tag: String, message: String, exception: KotlinThrowable) {} 17 | } 18 | -------------------------------------------------------------------------------- /iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } -------------------------------------------------------------------------------- /iosApp/iosApp/UUIDProvider.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UUIDProvider.swift 3 | // iosApp 4 | // 5 | // Created by Stanislav Aleshin on 07.08.2024. 6 | // Copyright © 2024 orgName. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import shared 11 | import FCUUID 12 | 13 | public class UUIDProvider : CommonIosUUIDProvider { 14 | 15 | public func uuid() -> String { 16 | return FCUUID.uuid() 17 | } 18 | 19 | public func uuidForDevice() -> String { 20 | return FCUUID.uuidForDevice() 21 | } 22 | 23 | public func uuidForInstallation() -> String { 24 | return FCUUID.uuidForInstallation() 25 | } 26 | 27 | public func uuidForSession() -> String { 28 | return FCUUID.uuidForSession() 29 | } 30 | 31 | public func uuidForVendor() -> String { 32 | return FCUUID.uuidForVendor() 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /shared/core/common/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/core/common/src/androidMain/kotlin/ru/aleshin/studyassistant/core/common/extensions/UUID.android.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.extensions 17 | 18 | import java.util.UUID 19 | 20 | /** 21 | * @author Stanislav Aleshin on 30.04.2024. 22 | */ 23 | actual fun randomUUID(): String { 24 | return UUID.randomUUID().toString() 25 | } -------------------------------------------------------------------------------- /shared/core/common/src/androidMain/kotlin/ru/aleshin/studyassistant/core/common/notifications/parameters/NotificationProgress.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.notifications.parameters 17 | 18 | /** 19 | * @author Stanislav Aleshin on 12.06.2023. 20 | */ 21 | data class NotificationProgress(val value: Int, val max: Int, val isIndeterminate: Boolean) 22 | -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/architecture/screenmodel/Init.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.architecture.screenmodel 17 | 18 | /** 19 | * @author Stanislav Aleshin on 12.06.2023. 20 | */ 21 | interface Init { 22 | fun init(deps: D) 23 | } 24 | -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/architecture/screenmodel/contract/BaseAction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.architecture.screenmodel.contract 17 | 18 | /** 19 | * @author Stanislav Aleshin on 12.06.2023. 20 | */ 21 | interface BaseAction 22 | -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/architecture/screenmodel/contract/BaseEvent.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.architecture.screenmodel.contract 17 | 18 | /** 19 | * @author Stanislav Aleshin on 12.06.2023. 20 | */ 21 | interface BaseEvent 22 | -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/architecture/screenmodel/contract/BaseUiEffect.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.architecture.screenmodel.contract 17 | 18 | /** 19 | * @author Stanislav Aleshin on 12.06.2023. 20 | */ 21 | interface BaseUiEffect 22 | 23 | interface EmptyUiEffect : BaseUiEffect 24 | -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/architecture/screenmodel/contract/BaseViewState.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.architecture.screenmodel.contract 17 | 18 | import dev.icerock.moko.parcelize.Parcelable 19 | 20 | /** 21 | * @author Stanislav Aleshin on 12.06.2023. 22 | */ 23 | interface BaseViewState : Parcelable -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/di/CorePlatformModule.platform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.di 18 | 19 | import org.kodein.di.DI 20 | 21 | /** 22 | * @author Stanislav Aleshin on 24.08.2024. 23 | */ 24 | expect val corePlatformModule: DI.Module -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/exceptions/FirebaseExceptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.exceptions 18 | 19 | /** 20 | * @author Stanislav Aleshin on 22.04.2024. 21 | */ 22 | class FirebaseDataAuthException : Exception() 23 | 24 | class FirebaseUserException : Exception() -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/exceptions/RemoteException.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.exceptions 18 | 19 | /** 20 | * @author Stanislav Aleshin on 01.08.2024. 21 | */ 22 | data class RemoteException(val code: Int, val description: String) : Exception() -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/extensions/UUID.platform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.extensions 17 | 18 | /** 19 | * @author Stanislav Aleshin on 30.04.2024. 20 | */ 21 | expect fun randomUUID(): String -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/functional/AndroidMessagePriority.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * imitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.functional 18 | 19 | /** 20 | * @author Stanislav Aleshin on 08.09.2023. 21 | */ 22 | enum class AndroidMessagePriority { 23 | NORMAL, HIGH 24 | } 25 | -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/functional/File.platform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.functional 18 | 19 | import dev.gitlive.firebase.storage.File 20 | 21 | /** 22 | * @author Stanislav Aleshin on 03.08.2024. 23 | */ 24 | expect fun File(uri: String): File 25 | 26 | expect fun File.uriString(): String -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/functional/TimeFormat.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * imitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.functional 17 | 18 | /** 19 | * @author Stanislav Aleshin on 12.06.2023. 20 | */ 21 | enum class TimeFormat { 22 | PM, AM 23 | } 24 | -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/functional/UID.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * imitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.functional 18 | 19 | /** 20 | * @author Stanislav Aleshin on 21.07.2023. 21 | */ 22 | typealias UID = String -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/handlers/ErrorHandler.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.handlers 17 | 18 | /** 19 | * @author Stanislav Aleshin on 12.06.2023. 20 | */ 21 | interface ErrorHandler { 22 | fun handle(throwable: Throwable): E 23 | } -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/inject/BaseFeatureApi.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.inject 18 | 19 | /** 20 | * @author Stanislav Aleshin on 14.04.2024. 21 | */ 22 | interface BaseFeatureApi -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/inject/BaseFeatureDependencies.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.inject 18 | 19 | /** 20 | * @author Stanislav Aleshin on 14.04.2024. 21 | */ 22 | interface BaseFeatureDependencies -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/inject/FeatureScreen.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.inject 18 | 19 | import cafe.adriel.voyager.core.screen.Screen 20 | 21 | /** 22 | * @author Stanislav Aleshin on 21.04.2024. 23 | */ 24 | interface FeatureScreen 25 | 26 | interface RootScreen : Screen -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/payments/PaymentsService.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.payments 18 | 19 | /** 20 | * @author Stanislav Aleshin on 18.04.2025. 21 | */ 22 | interface PaymentsService { 23 | fun init() 24 | } -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/platform/Platform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.platform 18 | 19 | /** 20 | * @author Stanislav Aleshin on 07.09.2024. 21 | */ 22 | enum class Platform { 23 | Android, IOS, 24 | } -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/platform/services/Flavor.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.common.platform.services 18 | 19 | /** 20 | * @author Stanislav Aleshin on 11.09.2024. 21 | */ 22 | enum class Flavor { 23 | APPLE, HMS, RUSTORE, GITHUB 24 | } -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/validation/ValidateError.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2023 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.validation 17 | 18 | import dev.icerock.moko.parcelize.Parcelable 19 | 20 | /** 21 | * @author Stanislav Aleshin on 12.06.2023. 22 | */ 23 | interface ValidateError : Parcelable 24 | -------------------------------------------------------------------------------- /shared/core/common/src/commonMain/kotlin/ru/aleshin/studyassistant/core/common/validation/Validator.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.validation 17 | 18 | /** 19 | * @author Stanislav Aleshin on 12.06.2023. 20 | */ 21 | interface Validator { 22 | fun validate(data: D): ValidateResult 23 | } 24 | -------------------------------------------------------------------------------- /shared/core/common/src/iosMain/kotlin/ru/aleshin/studyassistant/core/common/extensions/UUID.ios.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package ru.aleshin.studyassistant.core.common.extensions 17 | 18 | import platform.Foundation.NSUUID 19 | 20 | /** 21 | * @author Stanislav Aleshin on 30.04.2024. 22 | */ 23 | actual fun randomUUID(): String { 24 | return NSUUID().UUIDString() 25 | } -------------------------------------------------------------------------------- /shared/core/data/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/core/data/src/commonMain/kotlin/ru/aleshin/studyassistant/core/data/di/CoreDataPlatformModule.platform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.data.di 18 | 19 | import org.kodein.di.DI 20 | 21 | /** 22 | * @author Stanislav Aleshin on 22.08.2024. 23 | */ 24 | expect val coreDataPlatformModule: DI.Module -------------------------------------------------------------------------------- /shared/core/database/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/core/database/src/commonMain/kotlin/ru/aleshin/studyassistant/core/database/di/CoreDatabasePlatformModule.platform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.database.di 18 | 19 | import org.kodein.di.DI 20 | 21 | /** 22 | * @author Stanislav Aleshin on 24.08.2024. 23 | */ 24 | expect val coreDatabasePlatformModule: DI.Module -------------------------------------------------------------------------------- /shared/core/database/src/commonMain/sqldelight/migrations/1.sqm: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `goalEntity` ( 2 | uid TEXT PRIMARY KEY NOT NULL, 3 | type TEXT NOT NULL, 4 | number INTEGER NOT NULL, 5 | content_id TEXT NOT NULL, 6 | content_organization_id TEXT, 7 | content_deadline INTEGER, 8 | target_date INTEGER NOT NULL, 9 | desired_time INTEGER, 10 | goal_time_type TEXT NOT NULL, 11 | target_time INTEGER, 12 | past_stop_time INTEGER NOT NULL, 13 | start_time_point INTEGER NOT NULL, 14 | is_active INTEGER NOT NULL, 15 | complete_after_time_elapsed INTEGER NOT NULL, 16 | is_done INTEGER NOT NULL, 17 | complete_date INTEGER 18 | ); -------------------------------------------------------------------------------- /shared/core/database/src/commonMain/sqldelight/ru/aleshin/studyassistant/sqldelight/schedules/CustomSchedule.sq: -------------------------------------------------------------------------------- 1 | import kotlin.String; 2 | import kotlin.collections.List; 3 | 4 | CREATE TABLE customScheduleEntity ( 5 | uid TEXT PRIMARY KEY NOT NULL, 6 | date INTEGER NOT NULL, 7 | classes TEXT AS List NOT NULL 8 | ); 9 | 10 | addOrUpdateSchedule: 11 | INSERT OR REPLACE INTO customScheduleEntity (uid, date, classes) 12 | VALUES ?; 13 | 14 | fetchScheduleById: 15 | SELECT * 16 | FROM customScheduleEntity 17 | WHERE uid = ?; 18 | 19 | fetchSchedulesByDate: 20 | SELECT * 21 | FROM customScheduleEntity 22 | WHERE date = ? 23 | ORDER BY date DESC; 24 | 25 | fetchSchedulesByTimeRange: 26 | SELECT * 27 | FROM customScheduleEntity 28 | WHERE date >= ? AND date <= ? 29 | ORDER BY date DESC; 30 | 31 | deleteScheduleById: 32 | DELETE FROM customScheduleEntity 33 | WHERE uid = ?; 34 | 35 | deleteSchedulesByTimeRange: 36 | DELETE FROM customScheduleEntity 37 | WHERE date >= ? AND date <= ?; -------------------------------------------------------------------------------- /shared/core/database/src/commonMain/sqldelight/ru/aleshin/studyassistant/sqldelight/settings/Calendar.sq: -------------------------------------------------------------------------------- 1 | import kotlin.String; 2 | import kotlin.collections.List; 3 | 4 | CREATE TABLE calendarSettingsEntity ( 5 | id INTEGER PRIMARY KEY NOT NULL, 6 | number_of_week TEXT NOT NULL, 7 | week_schedule_view_type TEXT NOT NULL, 8 | holidays TEXT AS List 9 | ); 10 | 11 | INSERT INTO calendarSettingsEntity (id, number_of_week, week_schedule_view_type, holidays) 12 | VALUES (1, 'ONE', 'COMMON', NULL); 13 | 14 | fetchSettings: 15 | SELECT * 16 | FROM calendarSettingsEntity; 17 | 18 | updateSettings: 19 | INSERT OR REPLACE INTO calendarSettingsEntity (id, number_of_week, week_schedule_view_type, holidays) 20 | VALUES ?; 21 | 22 | deleteSettings: 23 | DELETE FROM calendarSettingsEntity; -------------------------------------------------------------------------------- /shared/core/database/src/commonMain/sqldelight/ru/aleshin/studyassistant/sqldelight/settings/General.sq: -------------------------------------------------------------------------------- 1 | CREATE TABLE generalSettingsEntity ( 2 | id INTEGER PRIMARY KEY NOT NULL, 3 | is_first_start INTEGER NOT NULL, 4 | theme TEXT NOT NULL, 5 | language TEXT NOT NULL 6 | ); 7 | 8 | INSERT INTO generalSettingsEntity (id, is_first_start, theme, language) 9 | VALUES (1, 1, 'DEFAULT', 'DEFAULT'); 10 | 11 | fetchSettings: 12 | SELECT * 13 | FROM generalSettingsEntity; 14 | 15 | updateSettings: 16 | INSERT OR REPLACE INTO generalSettingsEntity (id, is_first_start, theme, language) 17 | VALUES ?; -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/common/DataTransferDirection.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.common 18 | 19 | /** 20 | * @author Stanislav Aleshin on 28.08.2024. 21 | */ 22 | enum class DataTransferDirection { 23 | REMOTE_TO_LOCAL, LOCAL_TO_REMOTE 24 | } -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/auth/ForgotCredentials.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.auth 18 | 19 | /** 20 | * @author Stanislav Aleshin on 05.07.2023. 21 | */ 22 | data class ForgotCredentials(val email: String) 23 | -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/common/ContactInfo.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.common 18 | 19 | /** 20 | * @author Stanislav Aleshin on 27.04.2024. 21 | */ 22 | data class ContactInfo( 23 | val label: String? = null, 24 | val value: String = "", 25 | ) -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/common/ContactInfoType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.common 18 | 19 | /** 20 | * @author Stanislav Aleshin on 17.06.2024. 21 | */ 22 | enum class ContactInfoType { 23 | EMAIL, PHONE, LOCATION, WEBSITE 24 | } -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/goals/GoalType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.goals 18 | 19 | /** 20 | * @author Stanislav Aleshin on 18.04.2025. 21 | */ 22 | enum class GoalType { 23 | HOMEWORK, TODO 24 | } -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/settings/LanguageType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.settings 18 | 19 | /** 20 | * @author Stanislav Aleshin on 24.04.2024. 21 | */ 22 | enum class LanguageType { 23 | DEFAULT, EN, RU 24 | } 25 | -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/settings/PrivacySettings.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.settings 18 | 19 | /** 20 | * @author Stanislav Aleshin on 21.04.2024. 21 | */ 22 | data class PrivacySettings( 23 | val allowHomeworkRequest: Boolean = true, 24 | ) -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/settings/ThemeType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.settings 18 | 19 | /** 20 | * @author Stanislav Aleshin on 24.04.2024. 21 | */ 22 | enum class ThemeType { 23 | DEFAULT, LIGHT, DARK 24 | } -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/settings/WeekScheduleViewType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.settings 18 | 19 | /** 20 | * @author Stanislav Aleshin on 09.06.2024. 21 | */ 22 | enum class WeekScheduleViewType { 23 | COMMON, VERTICAL 24 | } -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/tasks/TaskPriority.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.tasks 18 | 19 | /** 20 | * @author Stanislav Aleshin on 01.05.2024. 21 | */ 22 | enum class TaskPriority { 23 | STANDARD, MEDIUM, HIGH 24 | } -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/users/Gender.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.users 18 | 19 | /** 20 | * @author Stanislav Aleshin on 20.04.2024. 21 | */ 22 | enum class Gender { 23 | NONE, FEMALE, MALE 24 | } -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/users/Store.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.users 18 | 19 | /** 20 | * @author Stanislav Aleshin on 30.08.2024. 21 | */ 22 | enum class Store { 23 | RU_STORE, GOOGLE_PLAY, APP_GALLERY, APP_STORE 24 | } -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/entities/users/UserFriendStatus.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.entities.users 18 | 19 | /** 20 | * @author Stanislav Aleshin on 16.07.2024. 21 | */ 22 | enum class UserFriendStatus { 23 | NOT_FRIENDS, REQUEST_SENT, REQUEST_RECEIVE, IN_FRIENDS 24 | } -------------------------------------------------------------------------------- /shared/core/domain/src/commonMain/kotlin/ru/aleshin/studyassistant/core/domain/managers/RepeatWorkStatus.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.domain.managers 18 | 19 | /** 20 | * @author Stanislav Aleshin on 25.08.2024. 21 | */ 22 | enum class RepeatWorkStatus { 23 | NOT_PLANNED, 24 | ENQUEUED, 25 | RUNNING, 26 | CANCELED 27 | } -------------------------------------------------------------------------------- /shared/core/remote/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/core/remote/src/commonMain/kotlin/ru/aleshin/studyassistant/core/remote/datasources/message/GoogleAuthTokenProvider.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.remote.datasources.message 18 | 19 | /** 20 | * @author Stanislav Aleshin on 05.08.2024. 21 | */ 22 | interface GoogleAuthTokenProvider { 23 | suspend fun fetchAccessToken(scope: String): String? 24 | } -------------------------------------------------------------------------------- /shared/core/remote/src/commonMain/kotlin/ru/aleshin/studyassistant/core/remote/datasources/message/HmsAuthTokenProvider.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.remote.datasources.message 18 | 19 | /** 20 | * @author Stanislav Aleshin on 05.08.2024. 21 | */ 22 | interface HmsAuthTokenProvider { 23 | suspend fun fetchAccessToken(): String? 24 | } -------------------------------------------------------------------------------- /shared/core/remote/src/commonMain/kotlin/ru/aleshin/studyassistant/core/remote/di/CoreRemotePlatformModule.platform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.remote.di 18 | 19 | import org.kodein.di.DI 20 | 21 | /** 22 | * @author Stanislav Aleshin on 08.08.2024. 23 | */ 24 | expect val coreRemotePlatformModule: DI.Module -------------------------------------------------------------------------------- /shared/core/remote/src/commonMain/kotlin/ru/aleshin/studyassistant/core/remote/ktor/HttpEngineFactory.platform.kt: -------------------------------------------------------------------------------- 1 | package ru.aleshin.studyassistant.core.remote.ktor 2 | 3 | import io.ktor.client.engine.HttpClientEngineConfig 4 | import io.ktor.client.engine.HttpClientEngineFactory 5 | 6 | /** 7 | * @author Stanislav Aleshin on 01.08.2024. 8 | */ 9 | expect class HttpEngineFactory constructor() { 10 | fun createEngine(): HttpClientEngineFactory 11 | } -------------------------------------------------------------------------------- /shared/core/ui/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_additional_organization.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_alert_circle.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_alert_circle_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_birthday.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_book_study.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_calendar_today.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_church.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_class.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_classes_column.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_clock_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_description.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_duration.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_email.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_employee.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_gender.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_lecture.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_map_marker.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_movements.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_online_lesson.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_organization.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_organization_geo.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_organization_geo_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_organization_remove_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_organization_type.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_phone.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_practice.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_presentation.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_priority_high.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_profile.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_profile_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_select_date.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_seminar.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_soc_network.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_sorted_type.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_study.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_study_assistant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/shared/core/ui/src/commonMain/composeResources/drawable/ic_study_assistant.png -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_study_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_tasks.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_tasks_circular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_tasks_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_university.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_upload_circular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/ic_webinar.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/logo_facebook.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/logo_x.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/composeResources/drawable/logo_youtube.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/kotlin/ru/aleshin/studyassistant/core/ui/mappers/PlatformFileMapper.platform.kt: -------------------------------------------------------------------------------- 1 | import dev.gitlive.firebase.storage.File 2 | import io.github.vinceglb.filekit.core.PlatformFile 3 | 4 | /* 5 | * Copyright 2024 Stanislav Aleshin 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | /** 21 | * @author Stanislav Aleshin on 03.08.2024. 22 | */ 23 | expect fun PlatformFile.toStorageFile(): File -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/kotlin/ru/aleshin/studyassistant/core/ui/models/ThemeUiType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.ui.models 18 | 19 | /** 20 | * @author Stanislav Aleshin on 27.01.2024. 21 | */ 22 | enum class ThemeUiType { 23 | DEFAULT, LIGHT, DARK 24 | } -------------------------------------------------------------------------------- /shared/core/ui/src/commonMain/kotlin/ru/aleshin/studyassistant/core/ui/views/NavigationBarColor.plarform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.ui.views 18 | 19 | import androidx.compose.runtime.Composable 20 | 21 | /** 22 | * @author Stanislav Aleshin on 25.04.2024. 23 | */ 24 | @Composable 25 | internal expect fun NavigationBarColor(isDarkTheme: Boolean) -------------------------------------------------------------------------------- /shared/core/ui/src/iosMain/kotlin/ru/aleshin/studyassistant/core/ui/mappers/PlatformFileMapper.platform.ios.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import dev.gitlive.firebase.storage.File 18 | import io.github.vinceglb.filekit.core.PlatformFile 19 | 20 | /** 21 | * @author Stanislav Aleshin on 03.08.2024. 22 | */ 23 | actual fun PlatformFile.toStorageFile(): File { 24 | return File(url = nsUrl) 25 | } -------------------------------------------------------------------------------- /shared/core/ui/src/iosMain/kotlin/ru/aleshin/studyassistant/core/ui/views/NavigationBarColor.ios.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.core.ui.views 18 | 19 | import androidx.compose.runtime.Composable 20 | 21 | /** 22 | * @author Stanislav Aleshin on 25.04.2024. 23 | */ 24 | @Composable 25 | internal actual fun NavigationBarColor(isDarkTheme: Boolean) {} -------------------------------------------------------------------------------- /shared/features/auth/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/auth/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/editor/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_break.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_circle_edit_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_clear_circular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_clock.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_color.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_employee_post.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_notify.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_star_circle_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_subject_name.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/composeResources/drawable/ic_worktime.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/editor/impl/src/commonMain/kotlin/ru/aleshin/studyassistant/editor/impl/domain/entities/ShiftTimeError.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.editor.impl.domain.entities 18 | 19 | /** 20 | * @author Stanislav Aleshin on 15.07.2024. 21 | */ 22 | internal class ShiftTimeError : Exception() -------------------------------------------------------------------------------- /shared/features/info/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/info/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/info/impl/src/commonMain/composeResources/drawable/ic_star_circular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/navigation/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/navigation/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/preview/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/preview/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/preview/impl/src/commonMain/composeResources/drawable/ic_textbox.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/profile/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/profile/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/profile/impl/src/commonMain/composeResources/drawable/ic_email_alert.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/profile/impl/src/commonMain/composeResources/drawable/ic_send_circle.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/profile/impl/src/commonMain/composeResources/drawable/ic_settings_privacy.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/profile/impl/src/commonMain/composeResources/drawable/ic_table.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/schedule/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/schedule/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/schedule/impl/src/commonMain/composeResources/drawable/ic_format_columns.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/schedule/impl/src/commonMain/composeResources/drawable/ic_format_grid.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/schedule/impl/src/commonMain/composeResources/drawable/ic_list_edit.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/schedule/impl/src/commonMain/composeResources/drawable/ic_open_table.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/schedule/impl/src/commonMain/composeResources/drawable/ic_table_edit.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/schedule/impl/src/commonMain/composeResources/drawable/ic_view_dashboard.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/settings/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/settings/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/settings/impl/src/commonMain/composeResources/drawable/ic_calendar_week.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/tasks/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/tasks/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/tasks/impl/src/commonMain/composeResources/drawable/ic_account_file_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/tasks/impl/src/commonMain/composeResources/drawable/ic_alert_triangular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/tasks/impl/src/commonMain/composeResources/drawable/ic_calendar_clock_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/tasks/impl/src/commonMain/composeResources/drawable/ic_timeline_in_progress.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/tasks/impl/src/commonMain/composeResources/drawable/ic_timer.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/tasks/impl/src/commonMain/composeResources/drawable/ic_view_array_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/tasks/impl/src/commonMain/composeResources/drawable/ic_view_day_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/features/users/api/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/features/users/impl/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/ru/aleshin/studyassistant/di/modules/PlatformModule.platform.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Stanislav Aleshin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package ru.aleshin.studyassistant.di.modules 18 | 19 | import org.kodein.di.DI 20 | 21 | /** 22 | * @author Stanislav Aleshin on 24.04.2024. 23 | */ 24 | expect val platformModule: DI.Module -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_account_file_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_additional_organization.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_alert_circle.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_alert_circle_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_alert_triangular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_birthday.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_book_study.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_break.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_calendar_clock_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_calendar_today.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_calendar_week.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_church.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_circle_edit_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_class.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_classes_column.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_clear_circular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_clock.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_clock_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_color.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_description.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_duration.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_email.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_email_alert.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_employee.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_employee_post.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_format_columns.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_format_grid.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_gender.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_lecture.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_list_edit.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_map_marker.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_movements.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_notify.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_number.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_online_lesson.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_open_table.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_organization.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_organization_geo.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_organization_geo_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_organization_remove_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_organization_type.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_phone.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_practice.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_presentation.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_priority_high.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_profile.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_profile_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_select_date.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_seminar.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_send_circle.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_settings_privacy.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_soc_network.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_sorted_type.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_star_circle_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_star_circular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_study.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_study_assistant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v1tzor/StudyAssistant/4ac81c0e4e5f24f431925f5036b22435b54fcb16/shared/src/commonMain/resources/drawable/ic_study_assistant.png -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_study_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_subject_name.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_table.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_table_edit.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_tasks.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_tasks_circular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_tasks_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_textbox.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_timeline_in_progress.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_timer.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_university.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_upload_circular.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_view_array_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_view_dashboard.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_view_day_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_webinar.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/ic_worktime.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/logo_facebook.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/logo_x.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /shared/src/commonMain/resources/drawable/logo_youtube.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | --------------------------------------------------------------------------------