diff --git a/app/src/main/java/ru/myitschool/work/data/mapper/UserInfoMapper.kt b/app/src/main/java/ru/myitschool/work/data/mapper/UserInfoMapper.kt
index 548b2dc..3e90287 100644
--- a/app/src/main/java/ru/myitschool/work/data/mapper/UserInfoMapper.kt
+++ b/app/src/main/java/ru/myitschool/work/data/mapper/UserInfoMapper.kt
@@ -14,9 +14,11 @@ class UserInfoMapper @Inject constructor() {
fullname = model.fullname ?: error("fullname is null"),
imageUrl = model.imageUrl ?: error("imageUrl is null"),
position = model.position ?: error("position is null"),
- lastEntryMillis = model.lastEntry?.let { date ->
+ lastEntryMillis = model.lastEntry.let { date ->
simpleDateFormat.parse(date)?.time ?: error("parse lastEntry error")
- } ?: error("lastEntry is null")
+ } ?: error("lastEntry is null"),
+ role = model.role,
+ blocked = model.blocked
)
}
}
diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/entities/UserInfoEntity.kt b/app/src/main/java/ru/myitschool/work/domain/profile/entities/UserInfoEntity.kt
index 46dc55f..4e7c213 100644
--- a/app/src/main/java/ru/myitschool/work/domain/profile/entities/UserInfoEntity.kt
+++ b/app/src/main/java/ru/myitschool/work/domain/profile/entities/UserInfoEntity.kt
@@ -1,8 +1,12 @@
package ru.myitschool.work.domain.profile.entities
+import ru.myitschool.work.data.dto.Role
+
class UserInfoEntity(
val fullname: String,
val imageUrl: String,
val position: String,
+ val role: Role,
+ val blocked: Boolean,
val lastEntryMillis: Long,
)
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/ui/profile/ProfileFragment.kt b/app/src/main/java/ru/myitschool/work/ui/profile/ProfileFragment.kt
index e559731..305461e 100644
--- a/app/src/main/java/ru/myitschool/work/ui/profile/ProfileFragment.kt
+++ b/app/src/main/java/ru/myitschool/work/ui/profile/ProfileFragment.kt
@@ -70,11 +70,13 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
binding.lastEntry.text = state.lastEntry
binding.fullname.text = state.fullname
if (state.admin){
- //TODO Приделать админские штучки
binding.admin.visibility = View.VISIBLE
- }else{
+ } else {
binding.admin.visibility = View.GONE
}
+ if (state.blocked) {
+ // TODO: СДЕЛАТЬ ФОН КРАСНЫМ
+ }
Picasso.get()
.load(state.imageUrl)
.error(R.drawable.ic_no_img)
diff --git a/app/src/main/java/ru/myitschool/work/ui/profile/ProfileViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/profile/ProfileViewModel.kt
index e8523c0..e63a0f7 100644
--- a/app/src/main/java/ru/myitschool/work/ui/profile/ProfileViewModel.kt
+++ b/app/src/main/java/ru/myitschool/work/ui/profile/ProfileViewModel.kt
@@ -12,6 +12,7 @@ import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
import ru.myitschool.work.R
+import ru.myitschool.work.data.dto.Role
import ru.myitschool.work.domain.auth.LogoutUseCase
import ru.myitschool.work.domain.profile.GetUserInfoUseCase
import ru.myitschool.work.utils.MutablePublishFlow
@@ -78,7 +79,8 @@ class ProfileViewModel @Inject constructor(
imageUrl = value.imageUrl,
position = value.position,
lastEntry = simpleDateFormat.format(Date(value.lastEntryMillis)),
- admin = true
+ admin = value.role == Role.ADMIN,
+ blocked = value.blocked
)
}
},
@@ -106,6 +108,7 @@ class ProfileViewModel @Inject constructor(
val position: String,
val lastEntry: String,
val admin: Boolean,
+ val blocked: Boolean
) : State
}
diff --git a/app/src/main/res/layout-land/fragment_entry_list.xml b/app/src/main/res/layout-land/fragment_entry_list.xml
new file mode 100644
index 0000000..b06a0ff
--- /dev/null
+++ b/app/src/main/res/layout-land/fragment_entry_list.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_information_admin.xml b/app/src/main/res/layout-land/fragment_information_admin.xml
new file mode 100644
index 0000000..6a732ce
--- /dev/null
+++ b/app/src/main/res/layout-land/fragment_information_admin.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_login.xml b/app/src/main/res/layout-land/fragment_login.xml
new file mode 100644
index 0000000..6fc41d1
--- /dev/null
+++ b/app/src/main/res/layout-land/fragment_login.xml
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_profile.xml b/app/src/main/res/layout-land/fragment_profile.xml
index 9426495..9d300f9 100644
--- a/app/src/main/res/layout-land/fragment_profile.xml
+++ b/app/src/main/res/layout-land/fragment_profile.xml
@@ -37,7 +37,7 @@
style="@style/Theme.UiTemplate.TextH1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
+ android:layout_marginTop="5dp"
android:text="@string/profile_main_textview"
android:textAlignment="center"
app:layout_constraintStart_toStartOf="parent"
@@ -57,7 +57,7 @@
android:id="@+id/photo2"
android:layout_width="120dp"
android:layout_height="120dp"
- android:layout_margin="5dp"
+ android:layout_margin="2dp"
android:elevation="10dp"
app:cardCornerRadius="12dp"
app:layout_constraintBottom_toTopOf="@+id/scan"
@@ -70,9 +70,8 @@
style="@style/roundedImageView"
android:layout_width="120dp"
android:layout_height="120dp"
- android:layout_marginBottom="16dp"
+ android:layout_marginBottom="10dp"
android:contentDescription="@null"
-
app:layout_constraintBottom_toTopOf="@+id/scan"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -86,7 +85,6 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
- android:layout_marginTop="6dp"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -98,7 +96,6 @@
style="@style/Theme.UiTemplate.TextH4"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginTop="6dp"
app:layout_constraintEnd_toEndOf="@+id/fullname"
app:layout_constraintStart_toStartOf="@+id/fullname"
app:layout_constraintTop_toBottomOf="@+id/fullname"
@@ -110,7 +107,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
- android:layout_marginTop="6dp"
app:layout_constraintEnd_toEndOf="@+id/fullname"
app:layout_constraintStart_toStartOf="@+id/fullname"
app:layout_constraintTop_toBottomOf="@+id/position"
diff --git a/app/src/main/res/layout-land/fragment_qr_result.xml b/app/src/main/res/layout-land/fragment_qr_result.xml
new file mode 100644
index 0000000..f49e321
--- /dev/null
+++ b/app/src/main/res/layout-land/fragment_qr_result.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_qr_scan.xml b/app/src/main/res/layout-land/fragment_qr_scan.xml
new file mode 100644
index 0000000..4690065
--- /dev/null
+++ b/app/src/main/res/layout-land/fragment_qr_scan.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_search_user.xml b/app/src/main/res/layout-land/fragment_search_user.xml
new file mode 100644
index 0000000..6ab46bc
--- /dev/null
+++ b/app/src/main/res/layout-land/fragment_search_user.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_user_info.xml b/app/src/main/res/layout-land/fragment_user_info.xml
new file mode 100644
index 0000000..86c83ff
--- /dev/null
+++ b/app/src/main/res/layout-land/fragment_user_info.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file