2019-05-25 12:27:00 -07:00
import React from 'react' ;
2019-06-12 06:45:00 -07:00
import ImmutablePureComponent from 'react-immutable-pure-component' ;
2019-05-25 12:27:00 -07:00
import { NavLink , withRouter } from 'react-router-dom' ;
import { FormattedMessage } from 'react-intl' ;
import Icon from 'flavours/glitch/components/icon' ;
import NotificationsCounterIcon from './notifications_counter_icon' ;
2019-05-25 17:55:37 -07:00
import FollowRequestsNavLink from './follow_requests_nav_link' ;
2019-05-25 12:27:00 -07:00
import ListPanel from './list_panel' ;
2019-06-12 06:45:00 -07:00
import { openModal } from 'flavours/glitch/actions/modal' ;
import { connect } from 'react-redux' ;
2019-05-25 12:27:00 -07:00
2019-06-12 06:45:00 -07:00
const mapStateToProps = ( ) => { } ;
2019-05-25 12:27:00 -07:00
2019-06-12 06:45:00 -07:00
const mapDispatchToProps = dispatch => ( {
openSettings ( e ) {
e . preventDefault ( ) ;
e . stopPropagation ( ) ;
dispatch ( openModal ( 'SETTINGS' , { } ) ) ;
} ,
} ) ;
2019-05-25 12:27:00 -07:00
2019-06-12 06:45:00 -07:00
export default @ connect ( mapStateToProps , mapDispatchToProps )
@ withRouter
class NavigationPanel extends ImmutablePureComponent {
render ( ) {
const { openSettings } = this . props ;
2019-05-25 12:27:00 -07:00
2019-06-12 06:45:00 -07:00
return (
< div className = 'navigation-panel' >
< NavLink className = 'column-link column-link--transparent' to = '/timelines/home' data - preview - title - id = 'column.home' data - preview - icon = 'home' > < Icon className = 'column-link__icon' icon = 'home' fixedWidth / > < FormattedMessage id = 'tabs_bar.home' defaultMessage = 'Home' / > < / N a v L i n k >
< NavLink className = 'column-link column-link--transparent' to = '/notifications' data - preview - title - id = 'column.notifications' data - preview - icon = 'bell' > < NotificationsCounterIcon className = 'column-link__icon' / > < FormattedMessage id = 'tabs_bar.notifications' defaultMessage = 'Notifications' / > < / N a v L i n k >
< FollowRequestsNavLink / >
< NavLink className = 'column-link column-link--transparent' to = '/timelines/public/local' data - preview - title - id = 'column.community' data - preview - icon = 'users' > < Icon className = 'column-link__icon' icon = 'users' fixedWidth / > < FormattedMessage id = 'tabs_bar.local_timeline' defaultMessage = 'Local' / > < / N a v L i n k >
< NavLink className = 'column-link column-link--transparent' exact to = '/timelines/public' data - preview - title - id = 'column.public' data - preview - icon = 'globe' > < Icon className = 'column-link__icon' icon = 'globe' fixedWidth / > < FormattedMessage id = 'tabs_bar.federated_timeline' defaultMessage = 'Federated' / > < / N a v L i n k >
< NavLink className = 'column-link column-link--transparent' to = '/timelines/direct' > < Icon className = 'column-link__icon' icon = 'envelope' fixedWidth / > < FormattedMessage id = 'navigation_bar.direct' defaultMessage = 'Direct messages' / > < / N a v L i n k >
< NavLink className = 'column-link column-link--transparent' to = '/favourites' > < Icon className = 'column-link__icon' icon = 'star' fixedWidth / > < FormattedMessage id = 'navigation_bar.favourites' defaultMessage = 'Favourites' / > < / N a v L i n k >
< NavLink className = 'column-link column-link--transparent' to = '/lists' > < Icon className = 'column-link__icon' icon = 'list-ul' fixedWidth / > < FormattedMessage id = 'navigation_bar.lists' defaultMessage = 'Lists' / > < / N a v L i n k >
2019-05-25 12:27:00 -07:00
2019-06-12 06:45:00 -07:00
< ListPanel / >
< hr / >
< a className = 'column-link column-link--transparent' href = '/settings/preferences' target = '_blank' > < Icon className = 'column-link__icon' icon = 'cog' fixedWidth / > < FormattedMessage id = 'navigation_bar.preferences' defaultMessage = 'Preferences' / > < / a >
< a className = 'column-link column-link--transparent' href = '#' onClick = { openSettings } > < Icon className = 'column-link__icon' icon = 'cogs' fixedWidth / > < FormattedMessage id = 'navigation_bar.app_settings' defaultMessage = 'App settings' / > < / a >
< a className = 'column-link column-link--transparent' href = '/relationships' target = '_blank' > < Icon className = 'column-link__icon' icon = 'users' fixedWidth / > < FormattedMessage id = 'navigation_bar.follows_and_followers' defaultMessage = 'Follows and followers' / > < / a >
< a className = 'column-link column-link--transparent' href = '/explore' > < Icon className = 'column-link__icon' icon = 'address-book-o' fixedWidth / > < FormattedMessage id = 'navigation_bar.profile_directory' defaultMessage = 'Profile directory' / > < / a >
< / d i v >
) ;
} ;
} ;