diff --git a/.idea/artifacts/shared.xml b/.idea/artifacts/shared.xml
index df2c7e6..59ff3f6 100644
--- a/.idea/artifacts/shared.xml
+++ b/.idea/artifacts/shared.xml
@@ -1,8 +1,6 @@
$PROJECT_DIR$/utils/shared/build/libs
-
-
-
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 44dc092..4036839 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -34,9 +34,11 @@
+
+
diff --git a/app/shared/src/commonMain/composeResources/values-ru/strings.xml b/app/shared/src/commonMain/composeResources/values-ru/strings.xml
index 8738e92..60fb2c4 100644
--- a/app/shared/src/commonMain/composeResources/values-ru/strings.xml
+++ b/app/shared/src/commonMain/composeResources/values-ru/strings.xml
@@ -34,6 +34,10 @@
Список контактов появится здесь, когда функция будет готова.
Общий чат
Вы: последнее сообщение
+ Найдите пользователя, имя или чат
+ Поиск
+ Ничего не найдено
+ Ничего не найдено. Попробуйте переформулировать запрос.
Напишите сообщение…
Соединение
Обновление
diff --git a/app/shared/src/commonMain/composeResources/values/strings.xml b/app/shared/src/commonMain/composeResources/values/strings.xml
index 8609e0a..64ddfd6 100644
--- a/app/shared/src/commonMain/composeResources/values/strings.xml
+++ b/app/shared/src/commonMain/composeResources/values/strings.xml
@@ -43,6 +43,10 @@
Your contacts will appear here when this feature is ready.
Main chat
You: last message
+ Search by name, username or chat
+ Search
+ No results
+ Nothing found here. Try rephrasing your query.
Write a message…
diff --git a/app/shared/src/commonMain/kotlin/ru/fromchat/SearchHintResource.kt b/app/shared/src/commonMain/kotlin/ru/fromchat/SearchHintResource.kt
new file mode 100644
index 0000000..9a94ff7
--- /dev/null
+++ b/app/shared/src/commonMain/kotlin/ru/fromchat/SearchHintResource.kt
@@ -0,0 +1,44 @@
+package ru.fromchat
+
+import kotlin.collections.HashMap
+import org.jetbrains.compose.resources.StringResource
+import org.jetbrains.compose.resources.InternalResourceApi
+
+@OptIn(InternalResourceApi::class)
+private fun collectCommonMainStringResources(): HashMap {
+ val map = HashMap()
+ _collectCommonMainString0Resources(map)
+ _collectCommonMainString1Resources(map)
+ return map
+}
+
+internal fun resolveSearchHintResource(): StringResource {
+ val map = collectCommonMainStringResources()
+ return map["search_hint"]
+ ?: map["app_name"]
+ ?: error("Search hint resource is missing")
+}
+
+internal fun resolveSearchNotFoundTitleResource(): StringResource {
+ val map = collectCommonMainStringResources()
+ return map["search_not_found"]
+ ?: map["search_not_found_message"]
+ ?: map["app_name"]
+ ?: error("Search not-found title resource is missing")
+}
+
+internal fun resolveSearchNotFoundMessageResource(): StringResource {
+ val map = collectCommonMainStringResources()
+ return map["search_not_found_message"]
+ ?: map["search_not_found"]
+ ?: map["app_name"]
+ ?: error("Search not-found message resource is missing")
+}
+
+internal fun resolveSearchTitleResource(): StringResource {
+ val map = collectCommonMainStringResources()
+ return map["search_title"]
+ ?: map["search_hint"]
+ ?: map["app_name"]
+ ?: error("Search title resource is missing")
+}
diff --git a/app/shared/src/commonMain/kotlin/ru/fromchat/api/UserStatusStore.kt b/app/shared/src/commonMain/kotlin/ru/fromchat/api/UserStatusStore.kt
index f35b89e..77c4492 100644
--- a/app/shared/src/commonMain/kotlin/ru/fromchat/api/UserStatusStore.kt
+++ b/app/shared/src/commonMain/kotlin/ru/fromchat/api/UserStatusStore.kt
@@ -7,7 +7,8 @@ import kotlinx.coroutines.flow.update
data class UserStatus(
val online: Boolean,
- val lastSeen: String? = null
+ val lastSeen: String? = null,
+ val typingUsernames: List = emptyList()
)
object UserStatusStore {
@@ -15,6 +16,29 @@ object UserStatusStore {
val status: StateFlow