diff options
| author | Tim <contact@bytim.eu> | 2026-05-14 15:12:49 +0200 |
|---|---|---|
| committer | Tim <contact@bytim.eu> | 2026-05-14 15:12:49 +0200 |
| commit | 607f920d4c880ef548be07c26f6df706bc5f2486 (patch) | |
| tree | 77fd96383a331e589e5be6024a7820b1a4c78c57 /src/aome/core.cljs | |
Diffstat (limited to 'src/aome/core.cljs')
| -rw-r--r-- | src/aome/core.cljs | 40 |
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]))) + |
