You've already forked RekomenciMobile
last commit (I hope)
This commit is contained in:
@@ -10,3 +10,9 @@ MoscowHackatonTemplate — экраны приложения
|
||||
- История резюме (ResumeHistoryScreen): список версий, раскрытие изменений, выбор двух версий для сравнения, переход на экран diff. Статус: Готов.
|
||||
- Сравнение версий (ResumeDiffScreen): визуальное сравнение выбранных версий резюме (зарплата, навыки, опыт, образование) с подсветкой изменений. Статус: Готов.
|
||||
- Профиль (ProfileScreen): редактирование данных пользователя (имя, фамилия, телефон), сохранение и выход из аккаунта. Статус: Готов.
|
||||
|
||||
Валидация и обработка ошибок
|
||||
- Поля форм валидируются на уровне use case (например, ValidateFieldsUseCase) с возвратом словаря ошибок, который отображается под соответствующими полями.
|
||||
- Перед отправкой запросов состояние переводится в UIState.Loading; при успешном ответе UIState.Success вызывает переход/снекбар.
|
||||
- Ошибки ввода, сетевые и неожиданные ошибки обрабатываются через collectAsStateWithCallbacks: показывается текст ошибки и snackbar с сообщением «Ошибка: ...».
|
||||
- Дополнительно на регистрации и логине кнопки блокируются индикатором загрузки, чтобы избежать повторных отправок.
|
||||
|
||||
Binary file not shown.
@@ -17,8 +17,6 @@ enum class ExperienceTypeDTO {
|
||||
@SerialName("noExperience")
|
||||
NoExperience,
|
||||
|
||||
@SerialName("lessThan1")
|
||||
LessThan1,
|
||||
|
||||
@SerialName("between1And3")
|
||||
Between1And3,
|
||||
@@ -31,7 +29,6 @@ enum class ExperienceTypeDTO {
|
||||
|
||||
fun mapToDomain(): ExperienceType = when (this) {
|
||||
NoExperience -> ExperienceType.NoExperience
|
||||
LessThan1 -> ExperienceType.LessThan1
|
||||
Between1And3 -> ExperienceType.Between1And3
|
||||
Between3And6 -> ExperienceType.Between3And6
|
||||
MoreThan6 -> ExperienceType.MoreThan6
|
||||
@@ -40,7 +37,6 @@ enum class ExperienceTypeDTO {
|
||||
|
||||
fun ExperienceType.mapToData(): ExperienceTypeDTO = when (this) {
|
||||
ExperienceType.NoExperience -> ExperienceTypeDTO.NoExperience
|
||||
ExperienceType.LessThan1 -> ExperienceTypeDTO.LessThan1
|
||||
ExperienceType.Between1And3 -> ExperienceTypeDTO.Between1And3
|
||||
ExperienceType.Between3And6 -> ExperienceTypeDTO.Between3And6
|
||||
ExperienceType.MoreThan6 -> ExperienceTypeDTO.MoreThan6
|
||||
|
||||
@@ -56,7 +56,6 @@ data class Project(
|
||||
|
||||
enum class ExperienceType {
|
||||
NoExperience,
|
||||
LessThan1,
|
||||
Between1And3,
|
||||
Between3And6,
|
||||
MoreThan6
|
||||
|
||||
-1
@@ -163,7 +163,6 @@ class CalculateResumeDiffUseCase {
|
||||
|
||||
private fun ExperienceType.toReadable(): String = when (this) {
|
||||
ExperienceType.NoExperience -> "Нет опыта"
|
||||
ExperienceType.LessThan1 -> "Меньше года"
|
||||
ExperienceType.Between1And3 -> "1-3 года"
|
||||
ExperienceType.Between3And6 -> "3-6 лет"
|
||||
ExperienceType.MoreThan6 -> "Более 6 лет"
|
||||
|
||||
@@ -6,7 +6,6 @@ import kotlin.math.roundToInt
|
||||
|
||||
fun ExperienceType.toReadableText(): String = when (this) {
|
||||
ExperienceType.NoExperience -> "Нет опыта"
|
||||
ExperienceType.LessThan1 -> "Меньше года"
|
||||
ExperienceType.Between1And3 -> "1-3 года"
|
||||
ExperienceType.Between3And6 -> "3-6 лет"
|
||||
ExperienceType.MoreThan6 -> "Более 6 лет"
|
||||
|
||||
Reference in New Issue
Block a user