ui: deletable field (#4019)

This commit is contained in:
spaced4ndy
2024-04-12 13:10:47 +04:00
committed by GitHub
parent 29941729d2
commit e10c63dc64
4 changed files with 19 additions and 7 deletions
@@ -1888,11 +1888,12 @@ data class ChatItem (
itemDeleted: CIDeleted? = null,
itemEdited: Boolean = false,
itemTimed: CITimed? = null,
deletable: Boolean = true,
editable: Boolean = true
) =
ChatItem(
chatDir = dir,
meta = CIMeta.getSample(id, ts, text, status, itemForwarded, itemDeleted, itemEdited, itemTimed, editable),
meta = CIMeta.getSample(id, ts, text, status, itemForwarded, itemDeleted, itemEdited, itemTimed, deletable, editable),
content = CIContent.SndMsgContent(msgContent = MsgContent.MCText(text)),
quotedItem = quotedItem,
reactions = listOf(),
@@ -1981,6 +1982,7 @@ data class ChatItem (
itemEdited = false,
itemTimed = null,
itemLive = false,
deletable = false,
editable = false
),
content = CIContent.RcvDeleted(deleteMode = CIDeleteMode.cidmBroadcast),
@@ -2003,6 +2005,7 @@ data class ChatItem (
itemEdited = false,
itemTimed = null,
itemLive = true,
deletable = false,
editable = false
),
content = CIContent.SndMsgContent(MsgContent.MCText("")),
@@ -2104,6 +2107,7 @@ data class CIMeta (
val itemEdited: Boolean,
val itemTimed: CITimed?,
val itemLive: Boolean?,
val deletable: Boolean,
val editable: Boolean
) {
val timestampText: String get() = getTimestampText(itemTs)
@@ -2123,7 +2127,8 @@ data class CIMeta (
companion object {
fun getSample(
id: Long, ts: Instant, text: String, status: CIStatus = CIStatus.SndNew(),
itemForwarded: CIForwardedFrom? = null, itemDeleted: CIDeleted? = null, itemEdited: Boolean = false, itemTimed: CITimed? = null, itemLive: Boolean = false, editable: Boolean = true
itemForwarded: CIForwardedFrom? = null, itemDeleted: CIDeleted? = null, itemEdited: Boolean = false,
itemTimed: CITimed? = null, itemLive: Boolean = false, deletable: Boolean = true, editable: Boolean = true
): CIMeta =
CIMeta(
itemId = id,
@@ -2137,6 +2142,7 @@ data class CIMeta (
itemEdited = itemEdited,
itemTimed = itemTimed,
itemLive = itemLive,
deletable = deletable,
editable = editable
)
@@ -2154,6 +2160,7 @@ data class CIMeta (
itemEdited = false,
itemTimed = null,
itemLive = false,
deletable = false,
editable = false
)
}
@@ -724,7 +724,7 @@ fun deleteMessageAlertDialog(chatItem: ChatItem, questionText: String, deleteMes
deleteMessage(chatItem.id, CIDeleteMode.cidmInternal)
AlertManager.shared.hideAlert()
}) { Text(stringResource(MR.strings.for_me_only), color = MaterialTheme.colors.error) }
if (chatItem.meta.editable && !chatItem.localNote) {
if (chatItem.meta.deletable && !chatItem.localNote) {
Spacer(Modifier.padding(horizontal = 4.dp))
TextButton(onClick = {
deleteMessage(chatItem.id, CIDeleteMode.cidmBroadcast)