Merge pull request #160 from glitch-soc/ugly-fix-notif-clearing
workaround for notif clearing
This commit is contained in:
		@@ -19,38 +19,30 @@ Imports:
 | 
				
			|||||||
//  Package imports  //
 | 
					//  Package imports  //
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//  Mastodon imports  //
 | 
					 | 
				
			||||||
import { makeGetNotification } from '../../../mastodon/selectors';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//  Our imports  //
 | 
					//  Our imports  //
 | 
				
			||||||
import Notification from '.';
 | 
					import Notification from '.';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 | 
					//  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					const mapStateToProps = (state, props) => {
 | 
				
			||||||
 | 
					  // replace account id with object
 | 
				
			||||||
 | 
					  let leNotif = props.notification.set('account', state.getIn(['accounts', props.notification.get('account')]));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
State mapping:
 | 
					  // populate markedForDelete from state - is mysteriously lost somewhere
 | 
				
			||||||
--------------
 | 
					  for (let n of state.getIn(['notifications', 'items'])) {
 | 
				
			||||||
 | 
					    if (n.get('id') === props.notification.get('id')) {
 | 
				
			||||||
 | 
					      leNotif = leNotif.set('markedForDelete', n.get('markedForDelete'));
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The `mapStateToProps()` function maps various state properties to the
 | 
					  return ({
 | 
				
			||||||
props of our component. We wrap this in `makeMapStateToProps()` so that
 | 
					    notification: leNotif,
 | 
				
			||||||
we only have to call `makeGetNotification()` once instead of every
 | 
					 | 
				
			||||||
time.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const makeMapStateToProps = () => {
 | 
					 | 
				
			||||||
  const getNotification = makeGetNotification();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  const mapStateToProps = (state, props) => ({
 | 
					 | 
				
			||||||
    notification: getNotification(state, props.notification, props.accountId),
 | 
					 | 
				
			||||||
    settings: state.get('local_settings'),
 | 
					    settings: state.get('local_settings'),
 | 
				
			||||||
    notifCleaning: state.getIn(['notifications', 'cleaningMode']),
 | 
					    notifCleaning: state.getIn(['notifications', 'cleaningMode']),
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					 | 
				
			||||||
  return mapStateToProps;
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 | 
					//  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default connect(makeMapStateToProps)(Notification);
 | 
					export default connect(mapStateToProps)(Notification);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ import Link from 'react-router-dom/Link';
 | 
				
			|||||||
import { FormattedDate, FormattedNumber } from 'react-intl';
 | 
					import { FormattedDate, FormattedNumber } from 'react-intl';
 | 
				
			||||||
import CardContainer from '../containers/card_container';
 | 
					import CardContainer from '../containers/card_container';
 | 
				
			||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
import Video from '../../video';
 | 
					// import Video from '../../video';
 | 
				
			||||||
import VisibilityIcon from '../../../../glitch/components/status/visibility_icon';
 | 
					import VisibilityIcon from '../../../../glitch/components/status/visibility_icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default class DetailedStatus extends ImmutablePureComponent {
 | 
					export default class DetailedStatus extends ImmutablePureComponent {
 | 
				
			||||||
@@ -37,9 +37,9 @@ export default class DetailedStatus extends ImmutablePureComponent {
 | 
				
			|||||||
    e.stopPropagation();
 | 
					    e.stopPropagation();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  handleOpenVideo = startTime => {
 | 
					  // handleOpenVideo = startTime => {
 | 
				
			||||||
    this.props.onOpenVideo(this.props.status.getIn(['media_attachments', 0]), startTime);
 | 
					  //   this.props.onOpenVideo(this.props.status.getIn(['media_attachments', 0]), startTime);
 | 
				
			||||||
  }
 | 
					  // }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  render () {
 | 
					  render () {
 | 
				
			||||||
    const status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;
 | 
					    const status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,9 +26,9 @@ describe 'about/show.html.haml', without_verify_partial_doubles: true do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    header_tags = view.content_for(:header_tags)
 | 
					    header_tags = view.content_for(:header_tags)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    expect(header_tags).to match(%r{<meta content='.+' property='og:title'>})
 | 
					    expect(header_tags).to match(%r{<meta content=".+" property="og:title" />})
 | 
				
			||||||
    expect(header_tags).to match(%r{<meta content='website' property='og:type'>})
 | 
					    expect(header_tags).to match(%r{<meta content="website" property="og:type" />})
 | 
				
			||||||
    expect(header_tags).to match(%r{<meta content='.+' property='og:image'>})
 | 
					    expect(header_tags).to match(%r{<meta content=".+" property="og:image" />})
 | 
				
			||||||
    expect(header_tags).to match(%r{<meta content='http://.+' property='og:url'>})
 | 
					    expect(header_tags).to match(%r{<meta content="http://.+" property="og:url" />})
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user