summaryrefslogtreecommitdiff
path: root/src/org_ckons_cljs/notifications/react.cljs
blob: 9fad6a437bf42b752bec137d28688a4aed1d2122 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
(ns org-ckons-cljs.notifications.react
  (:require-macros [hiccups.core :as hiccups :refer [html]])
  (:require [hiccups.runtime :as hiccupsrt]
            [dommy.core :as dommy]
            [clojure.string :as str]
            [reagent.core :as r]
            [reagent.dom :as rd]
            [reagent.dom.client :as rdc]))

(declare reset-message)
(declare reset-errormsg)
(declare comp-message)
(declare comp-errormsg)
(declare set-message)
(declare set-errormsg)

(def notification-state (r/atom {:message nil :errormsg nil}))

(defn reset-message [message]
  (reset! notification-state (assoc @notification-state :message message)))

(defn reset-errormsg [errormsg]
  (reset! notification-state (assoc @notification-state :errormsg errormsg)))

(defn comp-message []
  [:div {:class "alert alert-success"
         :style {:display (cond (empty? (@notification-state :message)) "none" :else "block")}}
   (@notification-state :message)])

(defn comp-errormsg []
  [:div {:class "alert alert-danger"
         :style {:display (cond (empty? (@notification-state :errormsg)) "none" :else "block")}}
   (@notification-state :errormsg)])

(defn set-message [message]
  (reset! notification-state (assoc @notification-state :message message)))

(defn set-errormsg [errormsg]
  (reset! notification-state (assoc @notification-state :errormsg errormsg)))