Add last-message to room list items
This commit is contained in:
parent
2ad331ed04
commit
5b25e670f3
|
@ -54,14 +54,36 @@
|
|||
string-append
|
||||
""
|
||||
(map (lambda (room)
|
||||
(html-from-template
|
||||
"templates/room-list-item.html"
|
||||
`(("ROOM_TITLE" . ,(html-encode-string room))
|
||||
("ROOM_ID" . ,(uri:uri-encode-string room))
|
||||
("LAST_MESSAGE" . "nekonata: Lorem ipso facto…"))))
|
||||
(room-list-item-html irc-dir room))
|
||||
(chatdir:channels irc-dir)))))))
|
||||
|
||||
|
||||
(define (room-list-item-html irc-dir room)
|
||||
(let* ([messages (channel-messages-sorted irc-dir room)]
|
||||
[last-message (if (null? messages)
|
||||
#f (last messages))]
|
||||
[message-text (if last-message
|
||||
(car last-message) "")]
|
||||
[message-sender (if last-message
|
||||
(alist-ref 'user.chat.sender
|
||||
(cdr last-message))
|
||||
"")]
|
||||
[message-time
|
||||
(if last-message
|
||||
(date->string (alist-ref 'user.chat.date
|
||||
(cdr last-message))
|
||||
"[~H:~M:~S]")
|
||||
"")])
|
||||
(html-from-template
|
||||
"templates/room-list-item.html"
|
||||
`(("ROOM_TITLE" . ,(html-encode-string room))
|
||||
("ROOM_ID" . ,(uri:uri-encode-string room))
|
||||
("LAST_MSG" . ,message-text)
|
||||
("LAST_TIME" . ,message-time)
|
||||
("LAST_MSG_SENDER" . ,message-sender)))))
|
||||
|
||||
|
||||
|
||||
;; “Send” a message to the given chatdir root, simply by creating a file.
|
||||
;; That was easy!
|
||||
(define (send-message irc-dir channel message)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<a href="/room/{{ROOM_ID}}/">
|
||||
<li id="{{ROOM_ID}}">
|
||||
<b>{{ROOM_TITLE}}</b><br />
|
||||
{{LAST_MESSAGE}}
|
||||
{{LAST_MSG_SENDER}} <i>{{LAST_TIME}}</i><br />
|
||||
<i>{{LAST_MSG}}</i>
|
||||
</li>
|
||||
</a>
|
||||
|
|
Reference in New Issue