summaryrefslogtreecommitdiff
path: root/src/Erebos/Conversation/Class.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-06-23 21:43:56 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-06-24 22:10:58 +0200
commite5d8ca9c124c4f8805bba9212845f0e21de5d9fc (patch)
treeddd83d83591d5cd4f23c593095f101f48a6581ae /src/Erebos/Conversation/Class.hs
parent32d93542af615cd5d7853916623b5c39c54abd1e (diff)
Format chatroom messages with Conversation module
Diffstat (limited to 'src/Erebos/Conversation/Class.hs')
-rw-r--r--src/Erebos/Conversation/Class.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Erebos/Conversation/Class.hs b/src/Erebos/Conversation/Class.hs
index d7bac5d..7c3652d 100644
--- a/src/Erebos/Conversation/Class.hs
+++ b/src/Erebos/Conversation/Class.hs
@@ -1,5 +1,6 @@
module Erebos.Conversation.Class (
ConversationType(..),
+ MessageExtra(..),
RefDigest,
) where
@@ -15,10 +16,17 @@ import Erebos.Object
import Erebos.State
+data MessageExtra
+ = UserJoined
+ | UserLeft
+
+
class (Typeable conv, Typeable msg) => ConversationType conv msg | conv -> msg, msg -> conv where
convMessageFrom :: msg -> ComposedIdentity
convMessageTime :: msg -> ZonedTime
convMessageText :: msg -> Maybe Text
+ convMessageExtra :: msg -> [ MessageExtra ]
+ convMessageExtra _ = []
convReference :: conv -> RefDigest
convMessageListSince