diff --git a/src/main/blog/handlers.cljs b/src/main/blog/handlers.cljs index a9f13b4..349fdb3 100644 --- a/src/main/blog/handlers.cljs +++ b/src/main/blog/handlers.cljs @@ -7,7 +7,8 @@ [client] (fn [req res] (let [channel (chan) - search (.-search (.-query req))] + session (.-user (.-session req)) + search (.-search (.-query req))] (go (try (let [articles (if (nil? search) @@ -16,8 +17,9 @@ (res/status 200) (.render res "index" (-> {:articles articles + :authorized (some? session) :url "/"} - (cljs.core/clj->js)))) + (clj->js)))) (catch js/Error err (res/status 500) (res/send (ex-message err)))))))) @@ -25,7 +27,9 @@ (defn login-page-handler-factory [] (fn [req res] - (.render res "login"))) + (let [session (.-user (.-session req))] + (.render res "login" (-> {:authorized (some? session)} + (clj->js)))))) (defn login-page-auth-handler-factory [] @@ -81,6 +85,7 @@ [client] (fn [req res] (let [channel (chan) + session (.-user (.-session req)) search (.-search (.-query req))] (go (try @@ -90,8 +95,9 @@ (res/status 200) (.render res "admin_panel" (-> {:articles articles + :authorized (some? session) :url "/admin"} - (cljs.core/clj->js)))) + (clj->js)))) (catch js/Error err (res/status 500) (res/send (ex-message err)))))))) @@ -112,7 +118,7 @@ (res/status 200) (.render res "article_full" (-> {:article article :layout false} - (cljs.core/clj->js)))))) + (clj->js)))))) (catch js/Error err (res/status 500) (res/send (ex-message err)))))))) @@ -133,7 +139,7 @@ (res/status 200) (.render res "article_row" (-> {:article article :layout false } - (cljs.core/clj->js)))))) + (clj->js)))))) (catch js/Error err (res/status 500) (res/send (ex-message err)))))))) @@ -154,7 +160,7 @@ (res/status 200) (.render res "admin_article_preview_content" (-> {:article article :layout false } - (cljs.core/clj->js)))))) + (clj->js)))))) (catch js/Error err (res/status 500) (res/send (ex-message err)))))))) @@ -175,7 +181,7 @@ (res/status 200) (.render res "admin_article_edit_content" (-> {:article article :layout false } - (cljs.core/clj->js)))))) + (clj->js)))))) (catch js/Error err (res/status 500) (res/send (ex-message err)))))))) @@ -222,7 +228,7 @@ (.render res "articles_briefly" (-> {:articles articles :layout false} - (cljs.core/clj->js)))) + (clj->js)))) (catch js/Error err (res/status 500) (res/send (ex-message err)))))))) @@ -239,7 +245,7 @@ (.render res "article_rows" (-> {:articles articles :layout false} - (cljs.core/clj->js)))) + (clj->js)))) (catch js/Error err (res/status 500) (res/send (ex-message err)))))))) diff --git a/views/partials/footer.hbs b/views/partials/footer.hbs index d2bc1ce..4d00764 100644 --- a/views/partials/footer.hbs +++ b/views/partials/footer.hbs @@ -7,6 +7,11 @@
  • About
  • + {{#if authorized }} +
  • + Logout +
  • + {{/if}} Copyright © 2024 Kostiantyn Klochko. All Rights Reserved. diff --git a/views/partials/navbar.hbs b/views/partials/navbar.hbs index a7c82c1..828073a 100644 --- a/views/partials/navbar.hbs +++ b/views/partials/navbar.hbs @@ -17,6 +17,11 @@
  • About
  • + {{#if authorized }} +
  • + Logout +
  • + {{/if}}