From 90e90e8be2f0ee102898586aec4c444c6ba6e9bd Mon Sep 17 00:00:00 2001 From: r888888888 Date: Mon, 17 Jun 2013 13:15:52 -0700 Subject: [PATCH] new action for intro page for new users --- .../stylesheets/specific/explore.css.scss | 15 +++++++++++++ app/controllers/explore/posts_controller.rb | 5 +++++ app/presenters/intro_presenter.rb | 11 ++++++++++ app/views/explore/posts/intro.html.erb | 21 +++++++++++++++++++ config/routes.rb | 1 + 5 files changed, 53 insertions(+) create mode 100644 app/assets/stylesheets/specific/explore.css.scss create mode 100644 app/presenters/intro_presenter.rb create mode 100644 app/views/explore/posts/intro.html.erb diff --git a/app/assets/stylesheets/specific/explore.css.scss b/app/assets/stylesheets/specific/explore.css.scss new file mode 100644 index 000000000..283129beb --- /dev/null +++ b/app/assets/stylesheets/specific/explore.css.scss @@ -0,0 +1,15 @@ +div#c-explore-posts { + header { + text-align: center; + + h1 { + font-size: 3em; + } + } + + div.posts { + padding: 1em; + margin-bottom: 2em; + background: #EEF; + } +} diff --git a/app/controllers/explore/posts_controller.rb b/app/controllers/explore/posts_controller.rb index e19ca0c95..49b20f774 100644 --- a/app/controllers/explore/posts_controller.rb +++ b/app/controllers/explore/posts_controller.rb @@ -7,5 +7,10 @@ module Explore @posts = @post_set.posts respond_with(@posts) end + + def intro + @presenter = IntroPresenter.new + render :layout => "blank" + end end end diff --git a/app/presenters/intro_presenter.rb b/app/presenters/intro_presenter.rb new file mode 100644 index 000000000..d405e196d --- /dev/null +++ b/app/presenters/intro_presenter.rb @@ -0,0 +1,11 @@ +class IntroPresenter + def popular_tags + Tag.order("post_count desc").limit(8).map(&:name) + end + + def each + popular_tags.each do |tag| + yield(tag, PostSets::Post.new(tag, 1, 6)) + end + end +end diff --git a/app/views/explore/posts/intro.html.erb b/app/views/explore/posts/intro.html.erb new file mode 100644 index 000000000..8d3a8fcfb --- /dev/null +++ b/app/views/explore/posts/intro.html.erb @@ -0,0 +1,21 @@ +
+
+
+

Danbooru

+ + + <%= form_tag(posts_path, :method => :get) do %> + <%= text_field_tag "tags", "", :size => 50 %> + <%= submit_tag "Search" %> + <% end %> +
+ + <% @presenter.each do |tag, post_set| %> +
+

<%= link_to tag, posts_path(:tags => tag) %>

+ <%= post_set.presenter.post_previews_html(self) %> +
+
+ <% end %> +
+
diff --git a/config/routes.rb b/config/routes.rb index a4f4cc3bb..ea6a2f3fb 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -40,6 +40,7 @@ Danbooru::Application.routes.draw do collection do get :popular get :hot + get :intro end end end