diff --git a/app/views/answer/show.html.haml b/app/views/answer/show.html.haml deleted file mode 100644 index 9c1b3f1d..00000000 --- a/app/views/answer/show.html.haml +++ /dev/null @@ -1,3 +0,0 @@ -- provide(:title, answer_title(@answer)) -.container.j2-page - = render 'shared/answerbox', a: @answer diff --git a/app/views/shared/_answerbox_buttons.html.haml b/app/views/answerbox/_actions.haml similarity index 98% rename from app/views/shared/_answerbox_buttons.html.haml rename to app/views/answerbox/_actions.haml index d6aacc01..a41345cb 100644 --- a/app/views/shared/_answerbox_buttons.html.haml +++ b/app/views/answerbox/_actions.haml @@ -38,4 +38,4 @@ - unless a.user == current_user %a.dropdown-item{href: '#', data: { a_id: a.id, action: 'ab-report' }} %i.fa.fa-exclamation-triangle - = t 'views.actions.report' + = t 'views.actions.report' \ No newline at end of file diff --git a/app/views/shared/_comments.html.haml b/app/views/answerbox/_comments.haml similarity index 100% rename from app/views/shared/_comments.html.haml rename to app/views/answerbox/_comments.haml diff --git a/app/views/answerbox/_header.haml b/app/views/answerbox/_header.haml new file mode 100644 index 00000000..282116c1 --- /dev/null +++ b/app/views/answerbox/_header.haml @@ -0,0 +1,29 @@ +.card-header + .media.question-media + - unless a.question.author_is_anonymous + %a.pull-left{href: show_user_profile_path(a.question.user.screen_name)} + %img.img-rounded.answerbox--img{src: gravatar_url(a.question.user)} + .media-body.question-body + - if user_signed_in? + .pull-right + .btn-group + %button.btn.btn-link.btn-sm.dropdown-toggle{data: { toggle: :dropdown }, aria: { expanded: :false }} + %span.caret + .dropdown-menu.dropdown-menu-right{role: :menu} + - if current_user.mod? or a.question.user == current_user + %a.dropdown-item.text-danger{href: '#', tabindex: -1, data: { action: 'ab-question-destroy', q_id: a.question.id }} + %i.fa.fa-trash-o + = t 'views.actions.delete' + - unless a.question.user == current_user + %a.dropdown-item{href: '#', tabindex: -1, data: { action: 'ab-question-report', q_id: a.question.id }} + %i.fa.fa-exclamation-triangle + = t 'views.actions.report' + %h6.text-muted.media-heading.answerbox--question-user + = raw t('views.answerbox.asked', user: user_screen_name(a.question.user, anonymous: a.question.author_is_anonymous), time: time_tooltip(a.question)) + - unless a.question.author_is_anonymous + - if a.question.answer_count > 1 + · + %a{href: show_user_question_path(a.question.user.screen_name, a.question.id)} + = pluralize(a.question.answer_count, t('views.general.answer')) + .answerbox--question-text + = a.question.content \ No newline at end of file diff --git a/app/views/shared/_smiles.html.haml b/app/views/answerbox/_smiles.haml similarity index 100% rename from app/views/shared/_smiles.html.haml rename to app/views/answerbox/_smiles.haml diff --git a/app/views/application/_answerbox.haml b/app/views/application/_answerbox.haml new file mode 100644 index 00000000..1c1566b9 --- /dev/null +++ b/app/views/application/_answerbox.haml @@ -0,0 +1,39 @@ +.card.answerbox{data: { id: a.id, q_id: a.question.id }} + - if @question.nil? + = render "answerbox/header", a: a + .card-body + - if @display_all.nil? + .answerbox--answer-text + = markdown a.content[0..255] + - if a.content.length > 255 + [...] + %p + %a.btn.btn-primary{href: show_user_answer_path(a.user.screen_name, a.id)} + = t 'views.answerbox.read' + - else + .answerbox--answer-text + = markdown a.content + - if @user.nil? + .row + .col-md-6.col-sm-4.col-xs-6.text-left.text-muted + .media + .pull-left + %a{href: show_user_profile_path(a.user.screen_name)} + %img.img-rounded.answerbox--img{src: gravatar_url(a.user)} + .media-body + %h6.media-heading.answerbox--answer-user + = raw t('views.answerbox.answered', hide: hidespan(t('views.answerbox.hide'), "xs"), user: user_screen_name(a.user)) + .answerbox--answer-date + = link_to(raw(t('views.answerbox.time', time: time_tooltip(a))), show_user_answer_path(a.user.screen_name, a.id)) + .col-md-6.col-sm-8.col-xs-6.text-right + = render 'answerbox/actions', a: a + - else + .row + .col-md-6.col-sm-4.col-xs-6.text-left.text-muted + %i.fa.fa-clock-o + = link_to(raw(t('views.answerbox.time', time: time_tooltip(a))), show_user_answer_path(a.user.screen_name, a.id)) + .col-md-6.col-sm-8.col-xs-6.text-right + = render 'answerbox/actions', a: a + .card-footer{id: "ab-comments-section-#{a.id}", style: @display_all.nil? ? 'display: none' : nil } + %div{id: "ab-smiles-#{a.id}"}= render 'answerbox/smiles', a: a + %div{id: "ab-comments-#{a.id}"}= render 'answerbox/comments', a: a \ No newline at end of file diff --git a/app/views/discover/_tab_answers.html.haml b/app/views/discover/_tab_answers.html.haml index 35438dd3..0738798d 100644 --- a/app/views/discover/_tab_answers.html.haml +++ b/app/views/discover/_tab_answers.html.haml @@ -1,3 +1,3 @@ .tab-pane.active.fade.show{role: "tabpanel", id: "answers"} - answers.each do |a| - = render 'shared/answerbox', a: a + = render 'answerbox', a: a diff --git a/app/views/discover/_tab_discussed.html.haml b/app/views/discover/_tab_discussed.html.haml index a6b73b4f..1dafe7ce 100644 --- a/app/views/discover/_tab_discussed.html.haml +++ b/app/views/discover/_tab_discussed.html.haml @@ -1,3 +1,3 @@ .tab-pane.fade{role: "tabpanel", id: "comments"} - comments.each do |a| - = render 'shared/answerbox', a: a + = render 'answerbox', a: a diff --git a/app/views/group/index.haml b/app/views/group/index.haml index 878d73fc..61e139a3 100644 --- a/app/views/group/index.haml +++ b/app/views/group/index.haml @@ -1,6 +1,6 @@ #timeline - @timeline.each do |answer| - = render 'shared/answerbox', a: answer + = render 'answerbox', a: answer = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id diff --git a/app/views/group/index.js.erb b/app/views/group/index.js.erb index fd1ddb36..59591f8d 100644 --- a/app/views/group/index.js.erb +++ b/app/views/group/index.js.erb @@ -1,5 +1,5 @@ $('#timeline').append('<% @timeline.each do |answer| - %><%= j render 'shared/answerbox', a: answer + %><%= j render 'answerbox', a: answer %><% end %>'); <% if @more_data_available %> $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>'); diff --git a/app/views/public/index.haml b/app/views/public/index.haml index 50f62dd9..18a8e660 100644 --- a/app/views/public/index.haml +++ b/app/views/public/index.haml @@ -1,6 +1,6 @@ #timeline - @timeline.each do |answer| - = render 'shared/answerbox', a: answer + = render 'answerbox', a: answer = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id diff --git a/app/views/public/index.js.erb b/app/views/public/index.js.erb index fd1ddb36..59591f8d 100644 --- a/app/views/public/index.js.erb +++ b/app/views/public/index.js.erb @@ -1,5 +1,5 @@ $('#timeline').append('<% @timeline.each do |answer| - %><%= j render 'shared/answerbox', a: answer + %><%= j render 'answerbox', a: answer %><% end %>'); <% if @more_data_available %> $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>'); diff --git a/app/views/question/show.html.haml b/app/views/question/show.html.haml index 72b7991f..224bb758 100644 --- a/app/views/question/show.html.haml +++ b/app/views/question/show.html.haml @@ -6,7 +6,7 @@ #answers - @answers.each do |a| - = render 'shared/answerbox', a: a, show_question: false + = render 'answerbox', a: a, show_question: false = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id diff --git a/app/views/question/show.js.erb b/app/views/question/show.js.erb index 10610656..fbbf582f 100644 --- a/app/views/question/show.js.erb +++ b/app/views/question/show.js.erb @@ -1,5 +1,5 @@ $('#answers').append('<% @answers.each do |answer| - %><%= j render 'shared/answerbox', a: answer, show_question: false + %><%= j render 'answerbox', a: answer, show_question: false %><% end %>'); <% if @more_data_available %> $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id %>'); diff --git a/app/views/shared/_answerbox.html.haml b/app/views/shared/_answerbox.html.haml deleted file mode 100644 index 2bf170e4..00000000 --- a/app/views/shared/_answerbox.html.haml +++ /dev/null @@ -1,67 +0,0 @@ -.card.answerbox{data: { id: a.id, q_id: a.question.id }} - - if @question.nil? - .card-header - .media.question-media - - unless a.question.author_is_anonymous - %a.pull-left{href: show_user_profile_path(a.question.user.screen_name)} - %img.img-rounded.answerbox--img{src: gravatar_url(a.question.user)} - .media-body.question-body - - if user_signed_in? - .pull-right - .btn-group - %button.btn.btn-link.btn-sm.dropdown-toggle{data: { toggle: :dropdown }, aria: { expanded: :false }} - %span.caret - .dropdown-menu.dropdown-menu-right{role: :menu} - - if current_user.mod? or a.question.user == current_user - %a.dropdown-item.text-danger{href: '#', tabindex: -1, data: { action: 'ab-question-destroy', q_id: a.question.id }} - %i.fa.fa-trash-o - = t 'views.actions.delete' - - unless a.question.user == current_user - %a.dropdown-item{href: '#', tabindex: -1, data: { action: 'ab-question-report', q_id: a.question.id }} - %i.fa.fa-exclamation-triangle - = t 'views.actions.report' - %h6.text-muted.media-heading.answerbox--question-user - = raw t('views.answerbox.asked', user: user_screen_name(a.question.user, anonymous: a.question.author_is_anonymous), time: time_tooltip(a.question)) - - unless a.question.author_is_anonymous - - if a.question.answer_count > 1 - · - %a{href: show_user_question_path(a.question.user.screen_name, a.question.id)} - = pluralize(a.question.answer_count, t('views.general.answer')) - .answerbox--question-text - = a.question.content - .card-body - - if @display_all.nil? - .answerbox--answer-text - = markdown a.content[0..255] - - if a.content.length > 255 - [...] - %p - %a.btn.btn-primary{href: show_user_answer_path(a.user.screen_name, a.id)} - = t 'views.answerbox.read' - - else - .answerbox--answer-text - = markdown a.content - - if @user.nil? - .row - .col-md-6.col-sm-4.col-xs-6.text-left.text-muted - .media - .pull-left - %a{href: show_user_profile_path(a.user.screen_name)} - %img.img-rounded.answerbox--img{src: gravatar_url(a.user)} - .media-body - %h6.media-heading.answerbox--answer-user - = raw t('views.answerbox.answered', hide: hidespan(t('views.answerbox.hide'), "xs"), user: user_screen_name(a.user)) - .answerbox--answer-date - = link_to(raw(t('views.answerbox.time', time: time_tooltip(a))), show_user_answer_path(a.user.screen_name, a.id)) - .col-md-6.col-sm-8.col-xs-6.text-right - = render 'shared/answerbox_buttons', a: a - - else - .row - .col-md-6.col-sm-4.col-xs-6.text-left.text-muted - %i.fa.fa-clock-o - = link_to(raw(t('views.answerbox.time', time: time_tooltip(a))), show_user_answer_path(a.user.screen_name, a.id)) - .col-md-6.col-sm-8.col-xs-6.text-right - = render 'shared/answerbox_buttons', a: a - .card-footer{id: "ab-comments-section-#{a.id}", style: @display_all.nil? ? 'display: none' : nil } - %div{id: "ab-smiles-#{a.id}"}= render 'shared/smiles', a: a - %div{id: "ab-comments-#{a.id}"}= render 'shared/comments', a: a diff --git a/app/views/static/index.haml b/app/views/static/index.haml index 12355001..5b4eda6d 100644 --- a/app/views/static/index.haml +++ b/app/views/static/index.haml @@ -1,6 +1,6 @@ #timeline - @timeline.each do |answer| - = render 'shared/answerbox', a: answer + = render 'answerbox', a: answer = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id diff --git a/app/views/static/index.js.erb b/app/views/static/index.js.erb index fd1ddb36..59591f8d 100644 --- a/app/views/static/index.js.erb +++ b/app/views/static/index.js.erb @@ -1,5 +1,5 @@ $('#timeline').append('<% @timeline.each do |answer| - %><%= j render 'shared/answerbox', a: answer + %><%= j render 'answerbox', a: answer %><% end %>'); <% if @more_data_available %> $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>'); diff --git a/app/views/user/show.haml b/app/views/user/show.haml index e1734f5d..a7e81008 100644 --- a/app/views/user/show.haml +++ b/app/views/user/show.haml @@ -4,7 +4,7 @@ - unless @user.banned? #answers - @answers.each do |a| - = render 'shared/answerbox', a: a + = render 'answerbox', a: a = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id diff --git a/app/views/user/show.js.erb b/app/views/user/show.js.erb index 443b9d7b..be445de6 100644 --- a/app/views/user/show.js.erb +++ b/app/views/user/show.js.erb @@ -1,5 +1,5 @@ $('#answers').append('<% @answers.each do |a| - %><%= j render 'shared/answerbox', a: a + %><%= j render 'answerbox', a: a %><% end %>'); <% if @more_data_available %> $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id %>');