41 lines
1.3 KiB
Clojure
41 lines
1.3 KiB
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]])
|
|
|
|
(defn dropdown [{: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)))
|
|
(conj (into
|
|
[:<>]
|
|
(r/children (r/current-component)))
|
|
[:span.icon [:i.fa.fa-chevron-down]])])
|