Files
integreat/src/cljs/auto_ap/views/components/buttons.cljs
2021-01-24 09:45:13 -08:00

28 lines
998 B
Clojure

(ns auto-ap.views.components.buttons
(:require [auto-ap.views.utils :refer [dispatch-event]]
[reagent.core :as r]))
(defn fa-icon [{:keys [event icon class on-click] :as params}]
[:a.button (cond-> params
true (dissoc :event :icon)
(and (not on-click)
event)
(assoc :on-click (dispatch-event event)))
(into
[:<>
[:span.icon [:i.fa {:class icon}]]]
(r/children (r/current-component)))])
(defn sl-icon [{:keys [event icon class on-click] :as params}]
[:a.button (cond-> params
true (dissoc :event :icon)
(and (not on-click)
event) (assoc :on-click (dispatch-event event)))
[:span.icon [:span {:class icon :style {:font-weight "400"}}]]])
(defn new-button [{:keys [event name class ]}]
[:a.button.is-outlined {:class class
:on-click (dispatch-event event)}
[:span.icon [:i.fa.fa-plus]]
[:span name]])