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!"))