From 45c44989c8fb6e24badd18bb83ac5f68de0aceaf Mon Sep 17 00:00:00 2001 From: kibigo! Date: Fri, 17 Nov 2017 19:11:18 -0800 Subject: Forking glitch theme --- .../notifications/components/notification.js | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 app/javascript/themes/glitch/features/notifications/components/notification.js (limited to 'app/javascript/themes/glitch/features/notifications/components/notification.js') diff --git a/app/javascript/themes/glitch/features/notifications/components/notification.js b/app/javascript/themes/glitch/features/notifications/components/notification.js new file mode 100644 index 000000000..a309d3a42 --- /dev/null +++ b/app/javascript/themes/glitch/features/notifications/components/notification.js @@ -0,0 +1,88 @@ +// 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 'themes/glitch/containers/status_container'; +import NotificationFollow from './follow'; + +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, + settings: ImmutablePropTypes.map.isRequired, + }; + + renderFollow () { + const { notification } = this.props; + return ( + + ); + } + + renderMention () { + const { notification } = this.props; + return ( + + ); + } + + renderFavourite () { + const { notification } = this.props; + return ( + + ); + } + + renderReblog () { + const { notification } = this.props; + return ( + + ); + } + + render () { + const { notification } = this.props; + switch(notification.get('type')) { + case 'follow': + return this.renderFollow(); + case 'mention': + return this.renderMention(); + case 'favourite': + return this.renderFavourite(); + case 'reblog': + return this.renderReblog(); + default: + return null; + } + } + +} -- cgit