Appease the dog overlords

This commit is contained in:
Andreas Nedbal 2023-02-05 20:18:51 +01:00 committed by Andreas Nedbal
parent 14d841d31a
commit 8f0ae5171d
3 changed files with 18 additions and 18 deletions

View File

@ -1,4 +1,6 @@
require 'cgi' # frozen_string_literal: true
require "cgi"
class Ajax::AnswerController < AjaxController class Ajax::AnswerController < AjaxController
include SocialHelper::TwitterMethods include SocialHelper::TwitterMethods
@ -9,7 +11,7 @@ class Ajax::AnswerController < AjaxController
params.require :answer params.require :answer
params.require :inbox params.require :inbox
inbox = (params[:inbox] == 'true') inbox = (params[:inbox] == "true")
if inbox if inbox
inbox_entry = Inbox.find(params[:id]) inbox_entry = Inbox.find(params[:id])
@ -35,7 +37,6 @@ class Ajax::AnswerController < AjaxController
current_user.answer question, params[:answer] current_user.answer question, params[:answer]
end end
@response[:status] = :okay @response[:status] = :okay
@response[:message] = t(".success") @response[:message] = t(".success")
@response[:success] = true @response[:success] = true
@ -43,16 +44,16 @@ class Ajax::AnswerController < AjaxController
if current_user.sharing_enabled if current_user.sharing_enabled
@response[:sharing] = { @response[:sharing] = {
twitter: twitter_share_url(answer), twitter: twitter_share_url(answer),
tumblr: tumblr_share_url(answer), tumblr: tumblr_share_url(answer),
custom: CGI.escape(prepare_tweet(answer)) custom: CGI.escape(prepare_tweet(answer))
} }
end end
unless inbox return if inbox
# this assign is needed because shared/_answerbox relies on it, I think
@question = 1 # this assign is needed because shared/_answerbox relies on it, I think
@response[:render] = render_to_string(partial: 'answerbox', locals: { a: answer, show_question: false }) @question = 1
end @response[:render] = render_to_string(partial: "answerbox", locals: { a: answer, show_question: false })
end end
def destroy def destroy
@ -60,15 +61,13 @@ class Ajax::AnswerController < AjaxController
answer = Answer.find(params[:answer]) answer = Answer.find(params[:answer])
unless (current_user == answer.user) or (privileged? answer.user) unless (current_user == answer.user) || (privileged? answer.user)
@response[:status] = :nopriv @response[:status] = :nopriv
@response[:message] = t(".nopriv") @response[:message] = t(".nopriv")
return return
end end
if answer.user == current_user Inbox.create!(user: answer.user, question: answer.question, new: true, returning: true) if answer.user == current_user
Inbox.create!(user: answer.user, question: answer.question, new: true, returning: true)
end
answer.destroy answer.destroy
@response[:status] = :okay @response[:status] = :okay

View File

@ -16,7 +16,7 @@ export default class extends Controller {
declare readonly configValue: Record<string, string>; declare readonly configValue: Record<string, string>;
declare readonly autoCloseValue: boolean; declare readonly autoCloseValue: boolean;
connect() { connect(): void {
if (this.autoCloseValue) { if (this.autoCloseValue) {
this.twitterTarget.addEventListener('click', () => this.close()); this.twitterTarget.addEventListener('click', () => this.close());
this.tumblrTarget.addEventListener('click', () => this.close()); this.tumblrTarget.addEventListener('click', () => this.close());
@ -27,7 +27,7 @@ export default class extends Controller {
} }
} }
configValueChanged(value): void { configValueChanged(value: Record<string, string>): void {
if (Object.keys(value).length === 0) { if (Object.keys(value).length === 0) {
return; return;
} }

View File

@ -36,10 +36,11 @@
%p.format-help.ms-auto.align-self-center.mt-2.mt-sm-0.text-center %p.format-help.ms-auto.align-self-center.mt-2.mt-sm-0.text-center
= render "shared/format_link" = render "shared/format_link"
- if current_user.sharing_enabled - if current_user.sharing_enabled
.inbox-entry__sharing.text-center.p-2.justify-content-center.d-none{ data: { controller: "inbox-sharing", inbox_sharing_config_value: "{}", inbox_sharing_auto_close_value: current_user.sharing_autoclose.to_s }} .inbox-entry__sharing.text-center.p-2.justify-content-center.d-none{
data: { controller: "inbox-sharing", inbox_sharing_config_value: "{}", inbox_sharing_auto_close_value: current_user.sharing_autoclose.to_s } }
%button.btn-close.inbox-entry__close{ data: { action: "inbox-sharing#close" } } %button.btn-close.inbox-entry__close{ data: { action: "inbox-sharing#close" } }
%span.visually-hidden= t("voc.close") %span.visually-hidden= t("voc.close")
%div.align-self-center .align-self-center
%p.fs-3.fw-bold= t(".sharing.heading") %p.fs-3.fw-bold= t(".sharing.heading")
%p %p
%a.btn.btn-primary{ href: "https://twitter.com/intent/tweet?text=", data: { inbox_sharing_target: "twitter" }, target: "_blank" } %a.btn.btn-primary{ href: "https://twitter.com/intent/tweet?text=", data: { inbox_sharing_target: "twitter" }, target: "_blank" }