// Package imports.
import React from 'react';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
// Our imports,
import StatusContainer from 'flavours/glitch/containers/status_container';
import NotificationFollow from './follow';
import NotificationFollowRequestContainer from '../containers/follow_request_container';
import NotificationAdminSignup from './admin_signup';
import NotificationAdminReportContainer from '../containers/admin_report_container';
export default class Notification extends ImmutablePureComponent {
static propTypes = {
notification: ImmutablePropTypes.map.isRequired,
hidden: PropTypes.bool,
onMoveUp: PropTypes.func.isRequired,
onMoveDown: PropTypes.func.isRequired,
onMention: PropTypes.func.isRequired,
getScrollPosition: PropTypes.func,
updateScrollBottom: PropTypes.func,
cacheMediaWidth: PropTypes.func,
cachedMediaWidth: PropTypes.number,
onUnmount: PropTypes.func,
unread: PropTypes.bool,
};
render () {
const {
hidden,
notification,
onMoveDown,
onMoveUp,
onMention,
getScrollPosition,
updateScrollBottom,
} = this.props;
switch(notification.get('type')) {
case 'follow':
return (
);
case 'follow_request':
return (
);
case 'admin.sign_up':
return (
);
case 'admin.report':
return (
);
case 'mention':
return (
);
case 'status':
return (
);
case 'favourite':
return (
);
case 'reaction':
return (
);
case 'reblog':
return (
);
case 'poll':
return (
);
case 'update':
return (
);
default:
return null;
}
}
}