Skip to content

Commit 99783a6

Browse files
authored
Merge pull request #1805 from vector-im/feature/bma/renderReadMarker
Timeline: render TimelineItemReadMarkerModel
2 parents 6bfb316 + 844768c commit 99783a6

File tree

31 files changed

+83
-13
lines changed

31 files changed

+83
-13
lines changed

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemVirtualRow.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import androidx.compose.ui.Modifier
2121
import io.element.android.features.messages.impl.timeline.session.SessionState
2222
import io.element.android.features.messages.impl.timeline.components.virtual.TimelineEncryptedHistoryBannerView
2323
import io.element.android.features.messages.impl.timeline.components.virtual.TimelineItemDaySeparatorView
24+
import io.element.android.features.messages.impl.timeline.components.virtual.TimelineItemReadMarkerView
2425
import io.element.android.features.messages.impl.timeline.model.TimelineItem
2526
import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemDaySeparatorModel
2627
import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemEncryptedHistoryBannerVirtualModel
@@ -34,7 +35,7 @@ fun TimelineItemVirtualRow(
3435
) {
3536
when (virtual.model) {
3637
is TimelineItemDaySeparatorModel -> TimelineItemDaySeparatorView(virtual.model, modifier)
37-
TimelineItemReadMarkerModel -> return
38+
TimelineItemReadMarkerModel -> TimelineItemReadMarkerView()
3839
is TimelineItemEncryptedHistoryBannerVirtualModel -> TimelineEncryptedHistoryBannerView(sessionState, modifier)
3940
}
4041
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/*
2+
* Copyright (c) 2023 New Vector Ltd
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 io.element.android.features.messages.impl.timeline.components.virtual
18+
19+
import androidx.compose.foundation.layout.Arrangement.spacedBy
20+
import androidx.compose.foundation.layout.Column
21+
import androidx.compose.foundation.layout.fillMaxWidth
22+
import androidx.compose.foundation.layout.padding
23+
import androidx.compose.runtime.Composable
24+
import androidx.compose.ui.Alignment
25+
import androidx.compose.ui.Modifier
26+
import androidx.compose.ui.res.stringResource
27+
import androidx.compose.ui.unit.dp
28+
import io.element.android.features.messages.impl.R
29+
import io.element.android.libraries.designsystem.preview.ElementPreview
30+
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
31+
import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
32+
import io.element.android.libraries.designsystem.theme.components.Text
33+
import io.element.android.libraries.theme.ElementTheme
34+
35+
@Composable
36+
internal fun TimelineItemReadMarkerView(
37+
modifier: Modifier = Modifier
38+
) {
39+
Column(
40+
modifier = modifier
41+
.fillMaxWidth()
42+
.padding(vertical = 12.dp, horizontal = 18.dp),
43+
horizontalAlignment = Alignment.End,
44+
verticalArrangement = spacedBy(4.dp),
45+
) {
46+
Text(
47+
text = stringResource(id = R.string.room_timeline_read_marker_title).uppercase(),
48+
style = ElementTheme.typography.fontBodySmMedium,
49+
color = ElementTheme.colors.textSecondary,
50+
)
51+
HorizontalDivider(
52+
modifier = Modifier
53+
.fillMaxWidth()
54+
.padding(horizontal = 2.dp),
55+
color = ElementTheme.colors.borderInteractivePrimary,
56+
)
57+
}
58+
}
59+
60+
@PreviewsDayNight
61+
@Composable
62+
internal fun TimelineItemReadMarkerViewPreview() = ElementPreview {
63+
TimelineItemReadMarkerView()
64+
}

features/messages/impl/src/main/res/values-cs/translations.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<string name="report_content_hint">"Důvod nahlášení tohoto obsahu"</string>
1818
<string name="room_timeline_beginning_of_room">"Toto je začátek %1$s."</string>
1919
<string name="room_timeline_beginning_of_room_no_name">"Toto je začátek této konverzace."</string>
20+
<string name="room_timeline_read_marker_title">"Nové"</string>
2021
<string name="screen_room_mentions_at_room_subtitle">"Informujte celou místnost"</string>
2122
<string name="screen_report_content_block_user_hint">"Zaškrtněte, pokud chcete skrýt všechny aktuální a budoucí zprávy od tohoto uživatele"</string>
2223
<string name="screen_room_attachment_source_camera">"Fotoaparát"</string>

features/messages/impl/src/main/res/values-de/translations.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="report_content_hint">"Grund für die Meldung dieses Inhalts"</string>
1717
<string name="room_timeline_beginning_of_room">"Dies ist der Anfang von %1$s."</string>
1818
<string name="room_timeline_beginning_of_room_no_name">"Dies ist der Anfang dieses Gesprächs."</string>
19+
<string name="room_timeline_read_marker_title">"Neu"</string>
1920
<string name="screen_report_content_block_user_hint">"Prüfe, ob du alle aktuellen und zukünftigen Nachrichten dieses Benutzers ausblenden möchtest"</string>
2021
<string name="screen_room_attachment_source_camera">"Kamera"</string>
2122
<string name="screen_room_attachment_source_camera_photo">"Foto machen"</string>

features/messages/impl/src/main/res/values-es/translations.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="report_content_hint">"Motivo para denunciar este contenido"</string>
1717
<string name="room_timeline_beginning_of_room">"Este es el principio de %1$s."</string>
1818
<string name="room_timeline_beginning_of_room_no_name">"Este es el principio de esta conversación."</string>
19+
<string name="room_timeline_read_marker_title">"Nuevos"</string>
1920
<string name="screen_report_content_block_user_hint">"Marque si quieres ocultar todos los mensajes actuales y futuros de este usuario"</string>
2021
<string name="screen_report_content_block_user">"Bloquear usuario"</string>
2122
</resources>

features/messages/impl/src/main/res/values-fr/translations.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="report_content_hint">"Raison du signalement de ce contenu"</string>
1717
<string name="room_timeline_beginning_of_room">"Ceci est le début de %1$s."</string>
1818
<string name="room_timeline_beginning_of_room_no_name">"Ceci est le début de cette conversation."</string>
19+
<string name="room_timeline_read_marker_title">"Nouveau"</string>
1920
<string name="screen_room_mentions_at_room_subtitle">"Notifier tout le salon"</string>
2021
<string name="screen_report_content_block_user_hint">"Cochez si vous souhaitez masquer tous les messages actuels et futurs de cet utilisateur."</string>
2122
<string name="screen_room_attachment_source_camera">"Appareil photo"</string>

features/messages/impl/src/main/res/values-it/translations.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="report_content_hint">"Motivo della segnalazione di questo contenuto"</string>
1717
<string name="room_timeline_beginning_of_room">"Questo è l\'inizio di %1$s."</string>
1818
<string name="room_timeline_beginning_of_room_no_name">"Questo è l\'inizio della conversazione."</string>
19+
<string name="room_timeline_read_marker_title">"Nuovo"</string>
1920
<string name="screen_report_content_block_user_hint">"Seleziona se vuoi nascondere tutti i messaggi attuali e futuri di questo utente"</string>
2021
<string name="screen_report_content_block_user">"Blocca utente"</string>
2122
</resources>

features/messages/impl/src/main/res/values-ro/translations.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<string name="report_content_hint">"Motivul raportării acestui conținut"</string>
1818
<string name="room_timeline_beginning_of_room">"Acesta este începutul conversației %1$s."</string>
1919
<string name="room_timeline_beginning_of_room_no_name">"Acesta este începutul acestei conversații."</string>
20+
<string name="room_timeline_read_marker_title">"Nou"</string>
2021
<string name="screen_report_content_block_user_hint">"Confirmați că doriți să ascundeți toate mesajele curente și viitoare de la acest utilizator"</string>
2122
<string name="screen_room_attachment_source_camera">"Cameră foto"</string>
2223
<string name="screen_room_attachment_source_camera_photo">"Faceți o fotografie"</string>

features/messages/impl/src/main/res/values-ru/translations.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<string name="report_content_hint">"Причина, по которой вы пожаловались на этот контент"</string>
1818
<string name="room_timeline_beginning_of_room">"Это начало %1$s."</string>
1919
<string name="room_timeline_beginning_of_room_no_name">"Это начало разговора."</string>
20+
<string name="room_timeline_read_marker_title">"Новый"</string>
2021
<string name="screen_room_mentions_at_room_subtitle">"Уведомить всю комнату"</string>
2122
<string name="screen_report_content_block_user_hint">"Отметьте, хотите ли вы скрыть все текущие и будущие сообщения от этого пользователя"</string>
2223
<string name="screen_room_attachment_source_camera">"Камера"</string>

features/messages/impl/src/main/res/values-sk/translations.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<string name="report_content_hint">"Dôvod nahlásenia tohto obsahu"</string>
1818
<string name="room_timeline_beginning_of_room">"Toto je začiatok %1$s."</string>
1919
<string name="room_timeline_beginning_of_room_no_name">"Toto je začiatok tejto konverzácie."</string>
20+
<string name="room_timeline_read_marker_title">"Nové"</string>
2021
<string name="screen_room_mentions_at_room_subtitle">"Informovať celú miestnosť"</string>
2122
<string name="screen_report_content_block_user_hint">"Označte, či chcete skryť všetky aktuálne a budúce správy od tohto používateľa"</string>
2223
<string name="screen_room_attachment_source_camera">"Kamera"</string>

0 commit comments

Comments
 (0)