diff options
Diffstat (limited to 'users/grfn/bbbg/src/bbbg/views/flash.clj')
-rw-r--r-- | users/grfn/bbbg/src/bbbg/views/flash.clj | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/users/grfn/bbbg/src/bbbg/views/flash.clj b/users/grfn/bbbg/src/bbbg/views/flash.clj deleted file mode 100644 index a44b21d4cb..0000000000 --- a/users/grfn/bbbg/src/bbbg/views/flash.clj +++ /dev/null @@ -1,39 +0,0 @@ -(ns bbbg.views.flash - (:require [clojure.spec.alpha :as s])) - -(s/def :flash/type #{:success :error :warning :info}) -(s/def :flash/message string?) -(s/def ::flash (s/keys :req [:flash/type :flash/message])) -(s/fdef add-flash :args (s/cat :resp map? :flash ::flash) :ret map?) - -;;; - -(def ^:dynamic *flash* nil) - -(defn wrap-page-flash [handler] - (fn - ([request] - (binding [*flash* (:flash request)] - (handler request))) - ([request respond raise] - (binding [*flash* (:flash request)] - (handler request respond raise))))) - -(defn add-flash [resp flash] - (update-in resp [:flash :flash/messages] conj flash)) - -(defn render-flash - ([] (render-flash *flash*)) - ([flash] - (when-some [messages (not-empty (:flash/messages flash))] - [:ul.flash-messages - (for [message messages] - [:li.flash-message - {:class (str "flash-" (-> message :flash/type name))} - (:flash/message message)])]))) - -(def test-flash - {:flash/messages - (for [type [:success :error :warning :info]] - {:flash/type type - :flash/message (str "Sample " type " message")})}) |