         [:span "There are no logs available for the service."]
         (map
           (fn [item]
-            [:span
-             (when timestamp
-               [:span.log-timestamp (:timestamp item)])
-             [:span.log-info (str (:taskName item) "." (subs (:task item) 0 12) "@" (:taskNode item))]
-             [:span.log-body (str " " (:line item))]
-             [:br]]) filtered-items))]]))
+            (line item timestamp)) filtered-items))]]))

                   (state/update-value [:fetching] false cursor)
                   (state/update-value [:data] response cursor))}))

(defn- init-state
  []
  (state/set-value {:filter      {:predicate ""}

  (mixin/refresh
    (fn [service]
      (when (not (:fetching (state/get-value cursor)))
        (log-append-handler service (-> (state/get-value cursor)
                                        :data
                                        (last)
                                        :timestamp))))))

(def init-state-mixin
  (mixin/init
    (fn [_]
      (init-state))))

(rum/defc line < rum/static [item timestamp]
  [:div
   (when timestamp
     [:span.log-timestamp (:timestamp item)])
   [:span.log-info (str (:taskName item) "." (subs (:task item) 0 12) "@" (:taskNode item))]
   [:span.log-body (str " " (:line item))]])

(rum/defc form < rum/reactive
                 init-state-mixin
