about summary refs log tree commit diff
path: root/web/panettone/src
diff options
context:
space:
mode:
Diffstat (limited to 'web/panettone/src')
-rw-r--r--web/panettone/src/css.lisp10
-rw-r--r--web/panettone/src/panettone.lisp25
2 files changed, 23 insertions, 12 deletions
diff --git a/web/panettone/src/css.lisp b/web/panettone/src/css.lisp
index 0192b816ea1c..40fa854eda16 100644
--- a/web/panettone/src/css.lisp
+++ b/web/panettone/src/css.lisp
@@ -77,7 +77,11 @@
      (.comment-info
       :color ,color/gray
       :margin 0
-      :padding-top "1rem")
+      :padding-top "1rem"
+
+      (a :text-decoration "none")
+      ((:and a :hover)
+       :text-decoration "underline"))
 
      ((:or .comment .event)
       :padding-top "1rem"
@@ -86,6 +90,10 @@
 
       (p :margin 0))
 
+     ((:and (:or .comment .event) :target)
+      :border-color ,color/primary
+      :border-bottom-width "3px")
+
      (.event
       :color ,color/gray))))
 
diff --git a/web/panettone/src/panettone.lisp b/web/panettone/src/panettone.lisp
index dc3a1cc29547..d70110ef54df 100644
--- a/web/panettone/src/panettone.lisp
+++ b/web/panettone/src/panettone.lisp
@@ -272,23 +272,26 @@
 (defgeneric render/issue-history-item (item))
 
 (defmethod render/issue-history-item ((comment model:issue-comment))
-  (who:with-html-output (*standard-output*)
-    (who:htm
-     (:li
-      :class "comment"
-      (:p (who:str (body comment)))
-      (:p
-       :class "comment-info"
-       (:span :class "username"
-              (who:esc (displayname (author comment)))
-              " at "
-              (who:esc (format-dottime (created-at comment)))))))))
+  (let ((fragment (format nil "comment-~A" (id comment))))
+    (who:with-html-output (*standard-output*)
+      (:li
+       :class "comment"
+       :id fragment
+       (:p (who:str (body comment)))
+       (:p
+        :class "comment-info"
+        (:span :class "username"
+               (who:esc (displayname (author comment)))
+               " at "
+               (:a :href (concatenate 'string "#" fragment)
+                   (who:esc (format-dottime (created-at comment))))))))))
 
 (defmethod render/issue-history-item ((event model:issue-event))
   (let ((user (find-user-by-dn (acting-user-dn event))))
     (who:with-html-output (*standard-output*)
       (:li
        :class "event"
+       :id
        (who:esc (displayname user))
        (if (string= (field event) "STATUS")
            (who:htm