Put poll options behind content warnings

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
merge-requests/653/head
marcin mikołajczak 3 years ago
parent 38ad49c1e6
commit e5184642fe

@ -16,7 +16,6 @@ import { MediaGallery, Video, Audio } from '../features/ui/util/async-components
import { HotKeys } from 'react-hotkeys';
import classNames from 'classnames';
import Icon from 'soapbox/components/icon';
import PollContainer from 'soapbox/containers/poll_container';
import { Link, NavLink } from 'react-router-dom';
import { getDomain } from 'soapbox/utils/accounts';
import HoverRefWrapper from 'soapbox/components/hover_ref_wrapper';
@ -361,10 +360,6 @@ class Status extends ImmutablePureComponent {
status = status.get('reblog');
}
if (status.get('poll')) {
poll = <PollContainer pollId={status.get('poll')} />;
}
const size = status.get('media_attachments').size;
if (size > 0) {

@ -6,6 +6,7 @@ import { isRtl } from '../rtl';
import { FormattedMessage } from 'react-intl';
import Permalink from './permalink';
import classnames from 'classnames';
import PollContainer from 'soapbox/containers/poll_container';
import Icon from 'soapbox/components/icon';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import { addGreentext } from 'soapbox/utils/greentext';
@ -240,6 +241,8 @@ class StatusContent extends React.PureComponent {
{mentionsPlaceholder}
<div tabIndex={!hidden ? 0 : null} className={`status__content__text ${!hidden ? 'status__content__text--visible' : ''}`} style={directionStyle} dangerouslySetInnerHTML={content} lang={status.get('language')} />
{!hidden && !!status.get('poll') && <PollContainer pollId={status.get('poll')} />}
</div>
);
} else if (this.props.onClick) {
@ -261,9 +264,13 @@ class StatusContent extends React.PureComponent {
output.push(readMoreButton);
}
if (status.get('poll')) {
output.push(<PollContainer pollId={status.get('poll')} />);
}
return output;
} else {
return (
const output = [
<div
tabIndex='0'
ref={this.setRef}
@ -273,8 +280,14 @@ class StatusContent extends React.PureComponent {
style={directionStyle}
dangerouslySetInnerHTML={content}
lang={status.get('language')}
/>
);
/>,
];
if (status.get('poll')) {
output.push(<PollContainer pollId={status.get('poll')} />);
}
return output;
}
}

@ -11,7 +11,7 @@ import { getDomain } from 'soapbox/utils/accounts';
import Avatar from 'soapbox/components/avatar';
import DisplayName from 'soapbox/components/display_name';
import AttachmentList from 'soapbox/components/attachment_list';
import PollContainer from 'soapbox/containers/poll_container';
import PollPreview from './poll_preview';
import ScheduledStatusActionBar from './scheduled_status_action_bar';
const mapStateToProps = (state, props) => {
@ -72,7 +72,7 @@ class ScheduledStatus extends ImmutablePureComponent {
media={status.get('media_attachments')}
/>
{status.get('poll') && <PollContainer pollId={status.get('poll')} />}
{status.get('poll') && <PollPreview poll={status.get('poll')} />}
{showThread && status.get('in_reply_to_id') && status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) && (
<button className='status__content__read-more-button' onClick={this.handleClick}>

@ -14,7 +14,6 @@ import Audio from '../../audio';
import scheduleIdleTask from '../../ui/util/schedule_idle_task';
import classNames from 'classnames';
import Icon from 'soapbox/components/icon';
import PollContainer from 'soapbox/containers/poll_container';
import StatusInteractionBar from './status_interaction_bar';
import { getDomain } from 'soapbox/utils/accounts';
import HoverRefWrapper from 'soapbox/components/hover_ref_wrapper';
@ -103,9 +102,6 @@ export default class DetailedStatus extends ImmutablePureComponent {
outerStyle.height = `${this.state.height}px`;
}
if (status.get('poll')) {
poll = <PollContainer pollId={status.get('poll')} />;
}
if (size > 0) {
if (size === 1 && status.getIn(['media_attachments', 0, 'type']) === 'video') {
const video = status.getIn(['media_attachments', 0]);

@ -209,6 +209,8 @@
"compose_form.publish": "Wyślij",
"compose_form.publish_loud": "{publish}!",
"compose_form.schedule": "Zaplanuj",
"compose_form.scheduled_statuses.click_here": "Naciśnij tutaj",
"compose_form.scheduled_statuses.message": "Masz zaplanowane wpisy. {click_here}, aby je zobaczyć.",
"compose_form.sensitive.hide": "Oznacz multimedia jako wrażliwe",
"compose_form.sensitive.marked": "Zawartość multimedia jest oznaczona jako wrażliwa",
"compose_form.sensitive.unmarked": "Zawartość multimedialna nie jest oznaczona jako wrażliwa",
@ -221,7 +223,7 @@
"confirmations.admin.delete_local_user.checkbox": "Wiem, że właśnie usuwam lokalnego użytkownika.",
"confirmations.admin.delete_status.confirm": "Usuń wpis",
"confirmations.admin.delete_status.message": "Zamierzasz usunąć wpis użytkownika @{acct}. To działanie nie może zostać cofnięte.",
"confirmations.admin.delete_user.confirm": "@Usuń {name}",
"confirmations.admin.delete_user.confirm": "Usuń @{name}",
"confirmations.admin.delete_user.message": "Zamierzasz usunąć @{acct}. TO DZIAŁANIE NIE MOŻE ZOSTAĆ COFNIĘTE.",
"confirmations.admin.mark_status_not_sensitive.confirm": "Oznacz wpis jako niewrażliwy",
"confirmations.admin.mark_status_not_sensitive.message": "Zamierzasz oznaczyć wpis {acct} jako niewrażliwy.",

Loading…
Cancel
Save