Co-authored-by: tobi <tobi.smethurst@protonmail.com> Reviewed-on: https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/88 Co-authored-by: Zoë Bijl <moiety@noreply.codeberg.org> Co-committed-by: Zoë Bijl <moiety@noreply.codeberg.org>
29 lines
912 B
JavaScript
29 lines
912 B
JavaScript
import { injectIntl, defineMessages } from "react-intl";
|
|
|
|
import { connect } from "react-redux";
|
|
|
|
import { changeComposeSpoilerness } from "../../../actions/compose";
|
|
import TextIconButton from "../components/text_icon_button";
|
|
|
|
const messages = defineMessages({
|
|
marked: { id: "compose_form.spoiler.marked", defaultMessage: "Text is hidden behind warning" },
|
|
unmarked: { id: "compose_form.spoiler.unmarked", defaultMessage: "Text is not hidden" },
|
|
});
|
|
|
|
const mapStateToProps = (state, { intl }) => ({
|
|
label: "CW",
|
|
title: intl.formatMessage(state.getIn(["compose", "spoiler"]) ? messages.marked : messages.unmarked),
|
|
active: state.getIn(["compose", "spoiler"]),
|
|
ariaControls: "cw-spoiler-input",
|
|
});
|
|
|
|
const mapDispatchToProps = dispatch => ({
|
|
|
|
onClick () {
|
|
dispatch(changeComposeSpoilerness());
|
|
},
|
|
|
|
});
|
|
|
|
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(TextIconButton));
|