diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemVirtualRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemVirtualRow.kt
index 7a476cb8a6..4bf8e5b847 100644
--- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemVirtualRow.kt
+++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemVirtualRow.kt
@@ -21,6 +21,7 @@ import androidx.compose.ui.Modifier
import io.element.android.features.messages.impl.timeline.session.SessionState
import io.element.android.features.messages.impl.timeline.components.virtual.TimelineEncryptedHistoryBannerView
import io.element.android.features.messages.impl.timeline.components.virtual.TimelineItemDaySeparatorView
+import io.element.android.features.messages.impl.timeline.components.virtual.TimelineItemReadMarkerView
import io.element.android.features.messages.impl.timeline.model.TimelineItem
import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemDaySeparatorModel
import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemEncryptedHistoryBannerVirtualModel
@@ -34,7 +35,7 @@ fun TimelineItemVirtualRow(
) {
when (virtual.model) {
is TimelineItemDaySeparatorModel -> TimelineItemDaySeparatorView(virtual.model, modifier)
- TimelineItemReadMarkerModel -> return
+ TimelineItemReadMarkerModel -> TimelineItemReadMarkerView()
is TimelineItemEncryptedHistoryBannerVirtualModel -> TimelineEncryptedHistoryBannerView(sessionState, modifier)
}
}
diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemReadMarkerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemReadMarkerView.kt
new file mode 100644
index 0000000000..ac58b14e60
--- /dev/null
+++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemReadMarkerView.kt
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2023 New Vector Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.element.android.features.messages.impl.timeline.components.virtual
+
+import androidx.compose.foundation.layout.Arrangement.spacedBy
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
+import io.element.android.features.messages.impl.R
+import io.element.android.libraries.designsystem.preview.ElementPreview
+import io.element.android.libraries.designsystem.preview.PreviewsDayNight
+import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
+import io.element.android.libraries.designsystem.theme.components.Text
+import io.element.android.libraries.theme.ElementTheme
+
+@Composable
+internal fun TimelineItemReadMarkerView(
+ modifier: Modifier = Modifier
+) {
+ Column(
+ modifier = modifier
+ .fillMaxWidth()
+ .padding(vertical = 12.dp, horizontal = 18.dp),
+ horizontalAlignment = Alignment.End,
+ verticalArrangement = spacedBy(4.dp),
+ ) {
+ Text(
+ text = stringResource(id = R.string.room_timeline_read_marker_title).uppercase(),
+ style = ElementTheme.typography.fontBodySmMedium,
+ color = ElementTheme.colors.textSecondary,
+ )
+ HorizontalDivider(
+ modifier = Modifier
+ .fillMaxWidth()
+ .padding(horizontal = 2.dp),
+ color = ElementTheme.colors.borderInteractivePrimary,
+ )
+ }
+}
+
+@PreviewsDayNight
+@Composable
+internal fun TimelineItemReadMarkerViewPreview() = ElementPreview {
+ TimelineItemReadMarkerView()
+}
diff --git a/features/messages/impl/src/main/res/values-cs/translations.xml b/features/messages/impl/src/main/res/values-cs/translations.xml
index 4d5ce6f4b6..d8231ab1ee 100644
--- a/features/messages/impl/src/main/res/values-cs/translations.xml
+++ b/features/messages/impl/src/main/res/values-cs/translations.xml
@@ -17,6 +17,7 @@
"Důvod nahlášení tohoto obsahu"
"Toto je začátek %1$s."
"Toto je začátek této konverzace."
+ "Nové"
"Informujte celou místnost"
"Zaškrtněte, pokud chcete skrýt všechny aktuální a budoucí zprávy od tohoto uživatele"
"Fotoaparát"
diff --git a/features/messages/impl/src/main/res/values-de/translations.xml b/features/messages/impl/src/main/res/values-de/translations.xml
index 0766f80ee0..16580c21c5 100644
--- a/features/messages/impl/src/main/res/values-de/translations.xml
+++ b/features/messages/impl/src/main/res/values-de/translations.xml
@@ -16,6 +16,7 @@
"Grund für die Meldung dieses Inhalts"
"Dies ist der Anfang von %1$s."
"Dies ist der Anfang dieses Gesprächs."
+ "Neu"
"Prüfe, ob du alle aktuellen und zukünftigen Nachrichten dieses Benutzers ausblenden möchtest"
"Kamera"
"Foto machen"
diff --git a/features/messages/impl/src/main/res/values-es/translations.xml b/features/messages/impl/src/main/res/values-es/translations.xml
index fec3f48ccf..493fdb7ad7 100644
--- a/features/messages/impl/src/main/res/values-es/translations.xml
+++ b/features/messages/impl/src/main/res/values-es/translations.xml
@@ -16,6 +16,7 @@
"Motivo para denunciar este contenido"
"Este es el principio de %1$s."
"Este es el principio de esta conversación."
+ "Nuevos"
"Marque si quieres ocultar todos los mensajes actuales y futuros de este usuario"
"Bloquear usuario"
diff --git a/features/messages/impl/src/main/res/values-fr/translations.xml b/features/messages/impl/src/main/res/values-fr/translations.xml
index 0cbd8b7b66..2c9ab7574c 100644
--- a/features/messages/impl/src/main/res/values-fr/translations.xml
+++ b/features/messages/impl/src/main/res/values-fr/translations.xml
@@ -16,6 +16,7 @@
"Raison du signalement de ce contenu"
"Ceci est le début de %1$s."
"Ceci est le début de cette conversation."
+ "Nouveau"
"Notifier tout le salon"
"Cochez si vous souhaitez masquer tous les messages actuels et futurs de cet utilisateur."
"Appareil photo"
diff --git a/features/messages/impl/src/main/res/values-it/translations.xml b/features/messages/impl/src/main/res/values-it/translations.xml
index acafb0e8d6..c36e8c515c 100644
--- a/features/messages/impl/src/main/res/values-it/translations.xml
+++ b/features/messages/impl/src/main/res/values-it/translations.xml
@@ -16,6 +16,7 @@
"Motivo della segnalazione di questo contenuto"
"Questo è l\'inizio di %1$s."
"Questo è l\'inizio della conversazione."
+ "Nuovo"
"Seleziona se vuoi nascondere tutti i messaggi attuali e futuri di questo utente"
"Blocca utente"
diff --git a/features/messages/impl/src/main/res/values-ro/translations.xml b/features/messages/impl/src/main/res/values-ro/translations.xml
index 98eec0cc69..c15a465976 100644
--- a/features/messages/impl/src/main/res/values-ro/translations.xml
+++ b/features/messages/impl/src/main/res/values-ro/translations.xml
@@ -17,6 +17,7 @@
"Motivul raportării acestui conținut"
"Acesta este începutul conversației %1$s."
"Acesta este începutul acestei conversații."
+ "Nou"
"Confirmați că doriți să ascundeți toate mesajele curente și viitoare de la acest utilizator"
"Cameră foto"
"Faceți o fotografie"
diff --git a/features/messages/impl/src/main/res/values-ru/translations.xml b/features/messages/impl/src/main/res/values-ru/translations.xml
index 76b0c9cfe1..a1ce610568 100644
--- a/features/messages/impl/src/main/res/values-ru/translations.xml
+++ b/features/messages/impl/src/main/res/values-ru/translations.xml
@@ -17,6 +17,7 @@
"Причина, по которой вы пожаловались на этот контент"
"Это начало %1$s."
"Это начало разговора."
+ "Новый"
"Уведомить всю комнату"
"Отметьте, хотите ли вы скрыть все текущие и будущие сообщения от этого пользователя"
"Камера"
diff --git a/features/messages/impl/src/main/res/values-sk/translations.xml b/features/messages/impl/src/main/res/values-sk/translations.xml
index 3d81d4eabc..fd7efc1200 100644
--- a/features/messages/impl/src/main/res/values-sk/translations.xml
+++ b/features/messages/impl/src/main/res/values-sk/translations.xml
@@ -17,6 +17,7 @@
"Dôvod nahlásenia tohto obsahu"
"Toto je začiatok %1$s."
"Toto je začiatok tejto konverzácie."
+ "Nové"
"Informovať celú miestnosť"
"Označte, či chcete skryť všetky aktuálne a budúce správy od tohto používateľa"
"Kamera"
diff --git a/features/messages/impl/src/main/res/values-zh-rTW/translations.xml b/features/messages/impl/src/main/res/values-zh-rTW/translations.xml
index 9eb7664c47..4f22c5bb7a 100644
--- a/features/messages/impl/src/main/res/values-zh-rTW/translations.xml
+++ b/features/messages/impl/src/main/res/values-zh-rTW/translations.xml
@@ -12,6 +12,7 @@
- "%1$d 個聊天室變更"
"檢舉這個內容的原因"
+ "新訊息"
"照相機"
"拍照"
"錄影"
diff --git a/features/messages/impl/src/main/res/values/localazy.xml b/features/messages/impl/src/main/res/values/localazy.xml
index b95a341b36..d9c5fce030 100644
--- a/features/messages/impl/src/main/res/values/localazy.xml
+++ b/features/messages/impl/src/main/res/values/localazy.xml
@@ -16,6 +16,7 @@
"Reason for reporting this content"
"This is the beginning of %1$s."
"This is the beginning of this conversation."
+ "New"
"Notify the whole room"
"Check if you want to hide all current and future messages from this user"
"Camera"
diff --git a/libraries/ui-strings/src/main/res/values-cs/translations.xml b/libraries/ui-strings/src/main/res/values-cs/translations.xml
index 4bcdb258a6..9889bf4697 100644
--- a/libraries/ui-strings/src/main/res/values-cs/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-cs/translations.xml
@@ -209,7 +209,6 @@
- "%d hlasů"
"Zatřeste zařízením pro nahlášení chyby"
- "Nové"
"Výběr média se nezdařil, zkuste to prosím znovu."
"Nahrání média se nezdařilo, zkuste to prosím znovu."
"Nahrání média se nezdařilo, zkuste to prosím znovu."
diff --git a/libraries/ui-strings/src/main/res/values-de/translations.xml b/libraries/ui-strings/src/main/res/values-de/translations.xml
index 09fdba6432..e473e6efb9 100644
--- a/libraries/ui-strings/src/main/res/values-de/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-de/translations.xml
@@ -175,7 +175,6 @@
- "%d Stimmen"
"Schüttel heftig zum Melden von Fehlern"
- "Neu"
"Medienauswahl fehlgeschlagen, bitte versuche es erneut."
"Fehler beim Verarbeiten des hochgeladenen Mediums. Bitte versuche es erneut."
"Das Hochladen der Medien ist fehlgeschlagen. Bitte versuche es erneut."
diff --git a/libraries/ui-strings/src/main/res/values-es/translations.xml b/libraries/ui-strings/src/main/res/values-es/translations.xml
index 9b2c35a63b..eaab1988d5 100644
--- a/libraries/ui-strings/src/main/res/values-es/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-es/translations.xml
@@ -105,7 +105,6 @@
- "%1$d miembros"
"Agitar con fuerza para informar de un error"
- "Nuevos"
"Versión: %1$s (%2$s)"
"es"
"Error"
diff --git a/libraries/ui-strings/src/main/res/values-fr/translations.xml b/libraries/ui-strings/src/main/res/values-fr/translations.xml
index 39f2c116d2..ac67487989 100644
--- a/libraries/ui-strings/src/main/res/values-fr/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml
@@ -202,7 +202,6 @@
- "%d votes"
"Rageshake pour signaler un problème"
- "Nouveau"
"Échec de la sélection du média, veuillez réessayer."
"Échec du traitement des médias à télécharger, veuillez réessayer."
"Échec du téléchargement du média, veuillez réessayer."
diff --git a/libraries/ui-strings/src/main/res/values-it/translations.xml b/libraries/ui-strings/src/main/res/values-it/translations.xml
index a49e6c7d37..cfd24d7c08 100644
--- a/libraries/ui-strings/src/main/res/values-it/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-it/translations.xml
@@ -105,7 +105,6 @@
- "%1$d membri"
"Scuoti per segnalare un problema"
- "Nuovo"
"Versione: %1$s (%2$s)"
"it"
"Errore"
diff --git a/libraries/ui-strings/src/main/res/values-ro/translations.xml b/libraries/ui-strings/src/main/res/values-ro/translations.xml
index 7fbb5a322a..cddf19ae13 100644
--- a/libraries/ui-strings/src/main/res/values-ro/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ro/translations.xml
@@ -159,7 +159,6 @@
- "%d voturi"
"Rageshake pentru a raporta erori"
- "Nou"
"Selectarea fișierelor media a eșuat, încercați din nou."
"Procesarea datelor media a eșuat, vă rugăm să încercați din nou."
"Încărcarea fișierelor media a eșuat, încercați din nou."
diff --git a/libraries/ui-strings/src/main/res/values-ru/translations.xml b/libraries/ui-strings/src/main/res/values-ru/translations.xml
index 5b105c8372..309e463faf 100644
--- a/libraries/ui-strings/src/main/res/values-ru/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ru/translations.xml
@@ -209,7 +209,6 @@
- "%d голосов"
"Rageshake сообщит об ошибке"
- "Новый"
"Не удалось выбрать носитель, попробуйте еще раз."
"Не удалось обработать медиафайл для загрузки, попробуйте еще раз."
"Не удалось загрузить медиафайлы, попробуйте еще раз."
diff --git a/libraries/ui-strings/src/main/res/values-sk/translations.xml b/libraries/ui-strings/src/main/res/values-sk/translations.xml
index f7a28ddc50..0ccbab9cb8 100644
--- a/libraries/ui-strings/src/main/res/values-sk/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml
@@ -209,7 +209,6 @@
- "%d hlasov"
"Zúrivo potriasť pre nahlásenie chyby"
- "Nové"
"Nepodarilo sa vybrať médium, skúste to prosím znova."
"Nepodarilo sa spracovať médiá na odoslanie, skúste to prosím znova."
"Nepodarilo sa nahrať médiá, skúste to prosím znova."
diff --git a/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml b/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml
index d86a2b0265..6f6fa08892 100644
--- a/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml
@@ -167,7 +167,6 @@
- "%d 票"
- "新訊息"
"無法上傳媒體檔案,請稍後再試。"
"分享位置"
"分享我的位置"
diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml
index 63909fe9ca..6eb51a87c8 100644
--- a/libraries/ui-strings/src/main/res/values/localazy.xml
+++ b/libraries/ui-strings/src/main/res/values/localazy.xml
@@ -206,7 +206,6 @@
- "%d votes"
"Rageshake to report bug"
- "New"
"Failed selecting media, please try again."
"Failed processing media to upload, please try again."
"Failed uploading media, please try again."
diff --git a/tools/localazy/config.json b/tools/localazy/config.json
index 95cf40d76f..86ed61ec78 100644
--- a/tools/localazy/config.json
+++ b/tools/localazy/config.json
@@ -125,7 +125,7 @@
"screen_room_.*",
"screen\\.room\\..*",
"screen_dm_details_.*",
- "room_timeline_state_changes",
+ "room_timeline_.*",
"emoji_picker_category_.*",
".*report_content_.*"
],