summaryrefslogtreecommitdiff
path: root/src/aome/core.cljs
diff options
context:
space:
mode:
authorTim <contact@bytim.eu>2026-05-14 15:12:49 +0200
committerTim <contact@bytim.eu>2026-05-14 15:12:49 +0200
commit607f920d4c880ef548be07c26f6df706bc5f2486 (patch)
tree77fd96383a331e589e5be6024a7820b1a4c78c57 /src/aome/core.cljs
Initial commitHEADmaster
Diffstat (limited to 'src/aome/core.cljs')
-rw-r--r--src/aome/core.cljs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/aome/core.cljs b/src/aome/core.cljs
new file mode 100644
index 0000000..a4cb41f
--- /dev/null
+++ b/src/aome/core.cljs
@@ -0,0 +1,40 @@
+(ns aome.core
+ (:require [reagent.core :as r]
+ [reagent.dom.client :as rdclient]
+ [aome.org-file :as aorg-file]))
+
+(defn header []
+ [:fieldset
+ [:div {:class ["field" "label" "border" "small"] :style {:display :inline-block :margin-top :auto}}
+ [:input {:type :text :placeholder " " :value @aorg-file/current-file-name
+ :on-change #(reset! aorg-file/current-file-name (.. % -target -value))}]
+ [:label "File name"]]
+ [:div {:class ["field" "label" "suffix" "border" "small"] :style {:width :fit-content :display :inline-block :margin-top :auto}}
+ [:select {:on-change #(reset! aorg-file/current-file-extension (.. % -target -value))}
+ [:option {:selected (= @aorg-file/current-file-extension ".org")} ".org"]
+ [:option {:selected (= @aorg-file/current-file-extension ".org.gpg")} ".org.gpg"]]
+ [:label "File extension"]
+ [:i "arrow_drop_down"]]
+ [:button {:class ["responsive" "border"] :style {:display :inline-block :width :fit-content} :on-click aorg-file/save-to-file-picker!}
+ [:i "save"]
+ [:span "Save"]]
+ [:button {:class ["responsive" "border"] :style {:width :fit-content} :on-click aorg-file/load-from-file-picker!}
+ [:i "file_open"]
+ [:span "Read file"]]])
+
+(defn editor []
+ [:textarea {:style {:resize :none :width "100%" :height "50em"}
+ :on-change #(reset! aorg-file/content (.. % -target -value))
+ :value @aorg-file/content}])
+
+(defn render []
+ [:div
+ [header]
+ [editor]])
+
+(defn init! []
+ (-> js/document
+ (.getElementById "app")
+ rdclient/create-root
+ (rdclient/render [render])))
+