import classNames from 'classnames';
import { changeComposeSensitivity } from 'mastodon/actions/compose';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
-import Icon from 'mastodon/components/icon';
const messages = defineMessages({
marked: { id: 'compose_form.sensitive.marked', defaultMessage: 'Media is marked as sensitive' },
return (
<div className='compose-form__sensitive-button'>
- <button className={classNames('icon-button', { active })} onClick={onClick} disabled={disabled} title={intl.formatMessage(active ? messages.marked : messages.unmarked)}>
- <Icon id='eye-slash' /> <FormattedMessage id='compose_form.sensitive.hide' defaultMessage='Mark media as sensitive' />
- </button>
+ <label className={classNames('icon-button', { active })} title={intl.formatMessage(active ? messages.marked : messages.unmarked)}>
+ <input
+ name='mark-sensitive'
+ type='checkbox'
+ checked={active}
+ onChange={onClick}
+ disabled={disabled}
+ />
+
+ <span className={classNames('checkbox', { active })} />
+
+ <FormattedMessage id='compose_form.sensitive.hide' defaultMessage='Mark media as sensitive' />
+ </label>
</div>
);
}
padding: 10px;
padding-top: 0;
- .icon-button {
- font-size: 14px;
- font-weight: 500;
+ font-size: 14px;
+ font-weight: 500;
+
+ &.active {
+ color: $highlight-text-color;
+ }
+
+ input[type=checkbox] {
+ display: none;
+ }
+
+ .checkbox {
+ display: inline-block;
+ position: relative;
+ border: 1px solid $ui-primary-color;
+ box-sizing: border-box;
+ width: 18px;
+ height: 18px;
+ flex: 0 0 auto;
+ margin-right: 10px;
+ top: -1px;
+ border-radius: 4px;
+ vertical-align: middle;
+
+ &.active {
+ border-color: $highlight-text-color;
+ background: $highlight-text-color;
+ }
}
}