2019-05-26 04:27:00 +09:00
import React from 'react' ;
import { NavLink , withRouter } from 'react-router-dom' ;
import { FormattedMessage } from 'react-intl' ;
import Icon from 'flavours/glitch/components/icon' ;
2019-08-07 00:57:52 +09:00
import { profile _directory , showTrends } from 'flavours/glitch/util/initial_state' ;
2019-08-31 20:04:26 +09:00
import { preferencesLink , relationshipsLink } from 'flavours/glitch/util/backend_links' ;
2019-05-26 04:27:00 +09:00
import NotificationsCounterIcon from './notifications_counter_icon' ;
2019-05-26 09:55:37 +09:00
import FollowRequestsNavLink from './follow_requests_nav_link' ;
2019-05-26 04:27:00 +09:00
import ListPanel from './list_panel' ;
2019-08-07 00:57:52 +09:00
import TrendsContainer from 'flavours/glitch/features/getting_started/containers/trends_container' ;
2019-05-26 04:27:00 +09:00
2019-06-13 02:38:57 +09:00
const NavigationPanel = ( { onOpenSettings } ) => (
< div className = 'navigation-panel' >
2021-09-26 12:46:13 +09:00
< NavLink className = 'column-link column-link--transparent' to = '/home' data - preview - title - id = 'column.home' data - preview - icon = 'home' > < Icon className = 'column-link__icon' id = 'home' fixedWidth / > < FormattedMessage id = 'tabs_bar.home' defaultMessage = 'Home' / > < / N a v L i n k >
2019-06-13 02:38:57 +09:00
< 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 / >
2021-09-26 12:46:13 +09:00
< NavLink className = 'column-link column-link--transparent' to = '/public/local' data - preview - title - id = 'column.community' data - preview - icon = 'users' > < Icon className = 'column-link__icon' id = '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 = '/public' data - preview - title - id = 'column.public' data - preview - icon = 'globe' > < Icon className = 'column-link__icon' id = '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 = '/conversations' > < Icon className = 'column-link__icon' id = 'envelope' fixedWidth / > < FormattedMessage id = 'navigation_bar.direct' defaultMessage = 'Direct messages' / > < / N a v L i n k >
2019-09-09 22:28:45 +09:00
< NavLink className = 'column-link column-link--transparent' to = '/bookmarks' > < Icon className = 'column-link__icon' id = 'bookmark' fixedWidth / > < FormattedMessage id = 'navigation_bar.bookmarks' defaultMessage = 'Bookmarks' / > < / N a v L i n k >
{ profile _directory && < NavLink className = 'column-link column-link--transparent' to = '/directory' > < Icon className = 'column-link__icon' id = 'address-book-o' fixedWidth / > < FormattedMessage id = 'getting_started.directory' defaultMessage = 'Profile directory' / > < / N a v L i n k > }
< NavLink className = 'column-link column-link--transparent' to = '/lists' > < Icon className = 'column-link__icon' id = 'list-ul' fixedWidth / > < FormattedMessage id = 'navigation_bar.lists' defaultMessage = 'Lists' / > < / N a v L i n k >
2019-05-26 04:27:00 +09:00
2019-06-13 02:38:57 +09:00
< ListPanel / >
2019-05-26 04:27:00 +09:00
2019-06-13 02:38:57 +09:00
< hr / >
2019-05-26 04:27:00 +09:00
2019-09-09 22:28:45 +09:00
{ ! ! preferencesLink && < a className = 'column-link column-link--transparent' href = { preferencesLink } target = '_blank' > < Icon className = 'column-link__icon' id = 'cog' fixedWidth / > < FormattedMessage id = 'navigation_bar.preferences' defaultMessage = 'Preferences' / > < / a > }
< a className = 'column-link column-link--transparent' href = '#' onClick = { onOpenSettings } > < Icon className = 'column-link__icon' id = 'cogs' fixedWidth / > < FormattedMessage id = 'navigation_bar.app_settings' defaultMessage = 'App settings' / > < / a >
{ ! ! relationshipsLink && < a className = 'column-link column-link--transparent' href = { relationshipsLink } target = '_blank' > < Icon className = 'column-link__icon' id = 'users' fixedWidth / > < FormattedMessage id = 'navigation_bar.follows_and_followers' defaultMessage = 'Follows and followers' / > < / a > }
2019-08-07 00:57:52 +09:00
{ showTrends && < div className = 'flex-spacer' / > }
{ showTrends && < TrendsContainer / > }
2019-06-13 02:38:57 +09:00
< / d i v >
) ;
2019-05-26 04:27:00 +09:00
2019-06-13 02:38:57 +09:00
export default withRouter ( NavigationPanel ) ;