diff --git a/lib/volumen/admin_routes.rb b/lib/volumen/admin_routes.rb index 5aa9f21..d7925af 100644 --- a/lib/volumen/admin_routes.rb +++ b/lib/volumen/admin_routes.rb @@ -3,6 +3,7 @@ module Volumen # Server-rendered admin routes, registered into Volumen::Server. module AdminRoutes + # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity def self.registered(app) app.get "/admin" do redirect to("/admin/") @@ -11,6 +12,7 @@ module Volumen app.get "/admin/" do require_login! @posts = sorted_posts + @crumbs = [["Posts", nil]] erb :list end @@ -43,6 +45,7 @@ module Volumen require_login! @mode = :new @post = Post.new(metadata: { "lang" => config.language }) + @crumbs = [["Posts", to("/admin/")], ["New post", nil]] erb :form end @@ -57,6 +60,8 @@ module Volumen @mode = :edit @post = store.find(params["slug"]) halt(404, "Not found") if @post.nil? + title = @post.title.to_s.empty? ? params["slug"] : @post.title + @crumbs = [["Posts", to("/admin/")], [title, nil]] erb :form end @@ -106,6 +111,7 @@ module Volumen app.get "/admin/settings" do require_login! + @crumbs = [["Settings", nil]] render_settings end @@ -141,6 +147,7 @@ module Volumen check_csrf! remove_user(params["username"]) end + # rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity end end end diff --git a/lib/volumen/web/views/form.erb b/lib/volumen/web/views/form.erb index 3514062..d79e3cd 100644 --- a/lib/volumen/web/views/form.erb +++ b/lib/volumen/web/views/form.erb @@ -1,108 +1,190 @@ -
<%= @mode == :new ? "Draft a new article in Markdown." : "Update and publish this post." %>
+<%= h(@error) %>
+