Clean up answerbox layout

This commit is contained in:
Andreas Nedbal 2020-04-26 17:13:31 +02:00
parent 0afff3f84d
commit 7513ef2b9e
19 changed files with 81 additions and 83 deletions

View File

@ -1,3 +0,0 @@
- provide(:title, answer_title(@answer))
.container.j2-page
= render 'shared/answerbox', a: @answer

View File

@ -38,4 +38,4 @@
- unless a.user == current_user - unless a.user == current_user
%a.dropdown-item{href: '#', data: { a_id: a.id, action: 'ab-report' }} %a.dropdown-item{href: '#', data: { a_id: a.id, action: 'ab-report' }}
%i.fa.fa-exclamation-triangle %i.fa.fa-exclamation-triangle
= t 'views.actions.report' = t 'views.actions.report'

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,3 @@
.tab-pane.active.fade.show{role: "tabpanel", id: "answers"} .tab-pane.active.fade.show{role: "tabpanel", id: "answers"}
- answers.each do |a| - answers.each do |a|
= render 'shared/answerbox', a: a = render 'answerbox', a: a

View File

@ -1,3 +1,3 @@
.tab-pane.fade{role: "tabpanel", id: "comments"} .tab-pane.fade{role: "tabpanel", id: "comments"}
- comments.each do |a| - comments.each do |a|
= render 'shared/answerbox', a: a = render 'answerbox', a: a

View File

@ -1,6 +1,6 @@
#timeline #timeline
- @timeline.each do |answer| - @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 = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id

View File

@ -1,5 +1,5 @@
$('#timeline').append('<% @timeline.each do |answer| $('#timeline').append('<% @timeline.each do |answer|
%><%= j render 'shared/answerbox', a: answer %><%= j render 'answerbox', a: answer
%><% end %>'); %><% end %>');
<% if @more_data_available %> <% if @more_data_available %>
$('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>'); $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>');

View File

@ -1,6 +1,6 @@
#timeline #timeline
- @timeline.each do |answer| - @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 = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id

View File

@ -1,5 +1,5 @@
$('#timeline').append('<% @timeline.each do |answer| $('#timeline').append('<% @timeline.each do |answer|
%><%= j render 'shared/answerbox', a: answer %><%= j render 'answerbox', a: answer
%><% end %>'); %><% end %>');
<% if @more_data_available %> <% if @more_data_available %>
$('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>'); $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>');

View File

@ -6,7 +6,7 @@
#answers #answers
- @answers.each do |a| - @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 = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id

View File

@ -1,5 +1,5 @@
$('#answers').append('<% @answers.each do |answer| $('#answers').append('<% @answers.each do |answer|
%><%= j render 'shared/answerbox', a: answer, show_question: false %><%= j render 'answerbox', a: answer, show_question: false
%><% end %>'); %><% end %>');
<% if @more_data_available %> <% if @more_data_available %>
$('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id %>'); $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id %>');

View File

@ -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

View File

@ -1,6 +1,6 @@
#timeline #timeline
- @timeline.each do |answer| - @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 = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id

View File

@ -1,5 +1,5 @@
$('#timeline').append('<% @timeline.each do |answer| $('#timeline').append('<% @timeline.each do |answer|
%><%= j render 'shared/answerbox', a: answer %><%= j render 'answerbox', a: answer
%><% end %>'); %><% end %>');
<% if @more_data_available %> <% if @more_data_available %>
$('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>'); $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>');

View File

@ -4,7 +4,7 @@
- unless @user.banned? - unless @user.banned?
#answers #answers
- @answers.each do |a| - @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 = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id

View File

@ -1,5 +1,5 @@
$('#answers').append('<% @answers.each do |a| $('#answers').append('<% @answers.each do |a|
%><%= j render 'shared/answerbox', a: a %><%= j render 'answerbox', a: a
%><% end %>'); %><% end %>');
<% if @more_data_available %> <% if @more_data_available %>
$('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id %>'); $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id %>');