37 lines
1.3 KiB
Clojure
37 lines
1.3 KiB
Clojure
(ns pmme-ui.core
|
|
(:require [clojure.string :as str]))
|
|
|
|
(defn handle-greet [event]
|
|
(.preventDefault event)
|
|
(let [input (.getElementById js/document "greet-input")
|
|
msg-element (.getElementById js/document "greet-msg")
|
|
name (.-value input)]
|
|
(if (empty? (str/trim name))
|
|
(set! (.-innerHTML msg-element) "Please enter a name!")
|
|
(do
|
|
;; You could call a Tauri command here instead
|
|
(js/console.log "Testing the chrome thingie")
|
|
(set! (.-innerHTML msg-element)
|
|
(str "Hello, " name "! 👋 (from ClojureScript)!"))
|
|
(set! (.-value input) "")))))
|
|
|
|
(defn greet-handler [event]
|
|
(handle-greet event))
|
|
|
|
(defn setup-greet-form []
|
|
(when-let [form (.getElementById js/document "greet-form")]
|
|
(.addEventListener form "submit" greet-handler)))
|
|
|
|
(defn add-dynamic-styling []
|
|
(let [style (.createElement js/document "style")]
|
|
(set! (.-textContent style)
|
|
"#greet-msg { color: #646cff; font-weight: bold; margin-top: 1rem; }")
|
|
(.appendChild (.-head js/document) style)))
|
|
|
|
(defn init []
|
|
(js/console.log "PMME UI initialized!")
|
|
(setup-greet-form)
|
|
(add-dynamic-styling)
|
|
;; Remove the app element modification since it doesn't exist in this HTML
|
|
(js/console.log "Greet form is now powered by ClojureScript!"))
|