- display_all ||= nil .card.answerbox{ data: { id: a.id, q_id: a.question.id, navigation_target: "traversable" } } - if @question.nil? .card-header = render QuestionComponent.new(question: a.question, context_user: a.user, collapse: !display_all) .card-body .answerbox__answer-body{ data: { controller: a.long? ? "collapse" : nil } } .answerbox__answer-text{ class: a.long? && !display_all ? "collapsed" : "", data: { collapse_target: "content" } } = markdown a.content - if a.long? && !display_all = render "shared/collapse", type: "answer" - if @user.nil? .row .col-sm-6.text-start.text-muted .d-flex .flex-shrink-0 %a{ href: user_path(a.user) } = render AvatarComponent.new(user: a.user, size: "sm", classes: ["answerbox__answer-user-avatar"]) .flex-grow-1 %h6.answerbox__answer-user = raw t(".answered", hide: hidespan(t(".hide"), "d-none d-sm-inline"), user: user_screen_name(a.user)) .answerbox__answer-date = link_to(raw(t("time.distance_ago", time: time_tooltip(a))), answer_path(a.user.screen_name, a.id), data: { selection_hotkey: "l" }) .col-md-6.d-flex.d-md-block.answerbox__actions = render "answerbox/actions", a:, display_all: - else .row .col-md-6.text-start.text-muted %i.fa.fa-clock-o = link_to(raw(t("time.distance_ago", time: time_tooltip(a))), answer_path(a.user.screen_name, a.id), class: "answerbox__permalink") - if a.pinned_at.present? %span.answerbox__pinned ยท %i.fa.fa-thumbtack = t(".pinned") .col-md-6.d-md-flex.answerbox__actions = render "answerbox/actions", a:, display_all: .card-footer{ id: "ab-comments-section-#{a.id}", class: display_all.nil? ? "d-none" : nil } = turbo_frame_tag("ab-reactions-list-#{a.id}", src: reactions_path(a.question, a), loading: :lazy) do .d-flex.smiles .flex-shrink-0.me-1 %i.fa.fa-smile-o = turbo_frame_tag("ab-comments-list-#{a.id}", src: comments_path(a.question, a), loading: :lazy) do .d-flex.justify-content-center .spinner-border{ role: :status } .visually-hidden= t("voc.loading") - if user_signed_in? %button.d-none{ name: "ab-open-and-comment", data: { a_id: a.id, selection_hotkey: "c" } } .comment__compose-wrapper{ name: "ab-comment-new-group", data: { a_id: a.id, controller: "character-count", character_count_max_value: 512 } } .form-group.has-feedback.comment__input-group.input-group %textarea.form-control.comment__input{ type: :text, placeholder: t(".comments.placeholder"), name: "ab-comment-new", data: { a_id: a.id, "character-count-target": "input" } } .comment__submit-wrapper %button.btn.btn-primary{ type: :button, name: "ab-comment-new-submit", title: t(".comments.action"), data: { a_id: a.id, "character-count-target": "action" } } %i.fa.fa-paper-plane-o %span.text-muted.form-control-feedback.comment__character-count{ id: "ab-comment-charcount-#{a.id}", data: { "character-count-target": "counter" } } 512