diff --git a/app/controllers/Report.scala b/app/controllers/Report.scala index 7c09f60f88..562433956f 100644 --- a/app/controllers/Report.scala +++ b/app/controllers/Report.scala @@ -200,7 +200,7 @@ final class Report( env.user.repo named data.username flatMap { _ ?? { user => if (user == me) BadRequest.fuccess - else api.commFlag(Reporter(me), Suspect(user), data.resource, data.text) inject Ok + else api.commFlag(Reporter(me), Suspect(user), data.resource, data.text) inject jsonOkResult } } ) diff --git a/app/views/report/form.scala b/app/views/report/form.scala index 31085952e0..0717e01107 100644 --- a/app/views/report/form.scala +++ b/app/views/report/form.scala @@ -57,16 +57,4 @@ object form { ) ) } - - def flag(username: String, resource: String, text: String) = - postForm(action := routes.Report.flag, cls := "comm-flag")( - form3.hidden("username", username), - form3.hidden("resource", resource), - form3.hidden("text", text take 140), - submitButton( - cls := "button button-empty button-red confirm", - dataIcon := "", - title := "Report spam or offensive language" - ) - ) } diff --git a/ui/msg/src/ctrl.ts b/ui/msg/src/ctrl.ts index 375f4fa169..e3e1f705b0 100644 --- a/ui/msg/src/ctrl.ts +++ b/ui/msg/src/ctrl.ts @@ -177,11 +177,18 @@ export default class MsgCtrl { report = () => { const user = this.data.convo?.user; if (user) { - const text = this.data.convo?.msgs.find(m => m.user != this.data.me.id)?.text.slice(0, 140); - if (text) network.report(user.name, text).then(_ => alert('Your report has been sent.')); + const text = this.reportableMsg()?.text.slice(0, 140); + if (text) + network + .report(user.name, text) + .then(_ => alert('Your report has been sent.')) + .catch(err => alert('Failed to send report: ' + err)); } }; + reportableMsg = (): Msg | undefined => + this.data.convo?.msgs.find(m => m.user != this.data.me.id && m.text.length > 2); + block = () => { const userId = this.data.convo?.user.id; if (userId) network.block(userId).then(() => this.openConvo(userId)); diff --git a/ui/msg/src/view/actions.ts b/ui/msg/src/view/actions.ts index 3ffec8352c..dbc56d0724 100644 --- a/ui/msg/src/view/actions.ts +++ b/ui/msg/src/view/actions.ts @@ -54,7 +54,7 @@ export default function renderActions(ctrl: MsgCtrl, convo: Convo): VNode[] { hook: bind('click', withConfirm(ctrl.delete)), }) ); - if (convo.msgs[0]) + if (ctrl.reportableMsg()) nodes.push( h(`button.${cls}.bad`, { key: 'report',