* UX: add type tag and design update * UX: clarify status copy in reviewQ * DEV: switch to selectKit * UX: color approve/reject buttons in RQ * DEV: regroup actions * UX: add type tag and design update * UX: clarify status copy in reviewQ * Join questions for flagged post with "or" with new I18n function * Move ReviewableScores component out of context * Add CSS classes to reviewable-item based on human type * UX: add table header for scoring * UX: don't display % score * UX: prefix modifier class with dash * UX: reviewQ flag table styling * UX: consistent use of ignore icon * DEV: only show context question on pending status * UX: only show table headers on pending status * DEV: reviewQ regroup actions for hidden posts * UX: reviewQ > approve/reject buttons * UX: reviewQ add fadeout * UX: reviewQ styling * DEV: move scores back into component * UX: reviewQ mobile styling * UX: score table on mobile * UX: reviewQ > move meta info outside table * UX: reviewQ > score layout fixes * DEV: readd `agree_and_keep` and fix the spec tests. * Fix the spec tests * fix the quint test * DEV: readd deleting replies * UX: reviewQ copy tweaks * DEV: readd test for ignore + delete replies * Remove old * FIX: Add perform_ignore back in for backwards compat * DEV: add an action alias `ignore` for `ignore_and_do_nothing`. --------- Co-authored-by: Martin Brennan <martin@discourse.org> Co-authored-by: Vinoth Kannan <svkn.87@gmail.com>
46 lines
1013 B
JavaScript
46 lines
1013 B
JavaScript
import {
|
|
APPROVED,
|
|
DELETED,
|
|
IGNORED,
|
|
PENDING,
|
|
REJECTED,
|
|
} from "discourse/models/reviewable";
|
|
import I18n from "I18n";
|
|
import { htmlHelper } from "discourse-common/lib/helpers";
|
|
import { iconHTML } from "discourse-common/lib/icon-library";
|
|
|
|
function dataFor(status) {
|
|
switch (status) {
|
|
case PENDING:
|
|
return { name: "pending" };
|
|
case APPROVED:
|
|
return { icon: "check", name: "approved" };
|
|
case REJECTED:
|
|
return { icon: "times", name: "rejected" };
|
|
case IGNORED:
|
|
return { icon: "external-link-alt", name: "ignored" };
|
|
case DELETED:
|
|
return { icon: "trash-alt", name: "deleted" };
|
|
}
|
|
}
|
|
|
|
export function htmlStatus(status) {
|
|
let data = dataFor(status);
|
|
if (!data) {
|
|
return;
|
|
}
|
|
|
|
let icon = data.icon ? iconHTML(data.icon) : "";
|
|
|
|
return `
|
|
<span class="${data.name}">
|
|
${icon}
|
|
${I18n.t("review.statuses." + data.name + ".title")}
|
|
</span>
|
|
`;
|
|
}
|
|
|
|
export default htmlHelper((status) => {
|
|
return htmlStatus(status);
|
|
});
|