diff options
Diffstat (limited to 'src/guff.cr')
-rw-r--r-- | src/guff.cr | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/src/guff.cr b/src/guff.cr index 2343d12..9791288 100644 --- a/src/guff.cr +++ b/src/guff.cr @@ -2122,8 +2122,33 @@ module Guff ECR.def_to_s("src/views/logout-page.ecr") end + class BlogListItemView < HTMLView + def initialize(context : Context, @post_id : Int64) + super(context) + end + + ECR.def_to_s("src/views/blog/list-item.ecr") + end + + # + # TODO: add y/m/d/page + # class BlogListView < HTMLView - ECR.def_to_s("src/views/blog-list.ecr") + TITLE = "Blog List" + + def initialize(context : Context, @post_ids : Array(Int64)) + super(context) + end + + def posts + String.build do |io| + @post_ids.each do |id| + BlogListItemView.new(@context, id).to_s(io) + end + end + end + + ECR.def_to_s("src/views/blog/list.ecr") end end @@ -2599,7 +2624,8 @@ module Guff context.response.headers["x-frame-options"] = "SAMEORIGIN" context.response.content_type = "text/html; charset=utf-8" context.response.status_code = 200 - context.response << "blog list: ids = #{ids.join(", ")}" + + Views::BlogListView.new(@context, ids).to_s(context.response) else # unknown page call_next(context) |