@ -3,7 +3,7 @@ import React from 'react';
import PropTypes from 'prop-types' ;
import { FormattedMessage , defineMessages , injectIntl } from 'react-intl' ;
import { Link } from 'react-router-dom' ;
import { version, repository , source _url , profile _directory as profileDirectory } from 'flavours/glitch/initial_state' ;
import { domain, version , source _url , profile _directory as profileDirectory } from 'flavours/glitch/initial_state' ;
import { logOut } from 'flavours/glitch/utils/log_out' ;
import { openModal } from 'flavours/glitch/actions/modal' ;
import { PERMISSION _INVITE _USERS } from 'flavours/glitch/permissions' ;
@ -48,44 +48,44 @@ class LinkFooter extends React.PureComponent {
render ( ) {
const { signedIn , permissions } = this . context . identity ;
const items = [ ] ;
items . push ( < a key = 'apps' href = 'https://joinmastodon.org/apps' target = '_blank' > < FormattedMessage id = 'navigation_bar.apps' defaultMessage = 'Get the app' / > < / a > ) ;
items . push ( < Link key = 'about' to = '/about' > < FormattedMessage id = 'navigation_bar.info' defaultMessage = 'About' / > < / L i n k > ) ;
items . push ( < a key = 'mastodon' href = 'https://joinmastodon.org' target = '_blank' > < FormattedMessage id = 'getting_started.what_is_mastodon' defaultMessage = 'About Mastodon' / > < / a > ) ;
items . push ( < a key = 'docs' href = 'https://docs.joinmastodon.org' target = '_blank' > < FormattedMessage id = 'getting_started.documentation' defaultMessage = 'Documentation' / > < / a > ) ;
items . push ( < Link key = 'privacy-policy' to = '/privacy-policy' > < FormattedMessage id = 'getting_started.privacy_policy' defaultMessage = 'Privacy Policy' / > < / L i n k > ) ;
items . push ( < Link key = 'hotkeys' to = '/keyboard-shortcuts' > < FormattedMessage id = 'navigation_bar.keyboard_shortcuts' defaultMessage = 'Hotkeys' / > < / L i n k > ) ;
if ( profileDirectory ) {
items . push ( < Link key = 'directory' to = '/directory' > < FormattedMessage id = 'getting_started.directory' defaultMessage = 'Directory' / > < / L i n k > ) ;
}
if ( signedIn ) {
if ( ( permissions & PERMISSION _INVITE _USERS ) === PERMISSION _INVITE _USERS ) {
items . push ( < a key = 'invites' href = '/invites' target = '_blank' > < FormattedMessage id = 'getting_started.invite' defaultMessage = 'Invite people' / > < / a > ) ;
}
items . push ( < a key = 'security' href = '/auth/edit' > < FormattedMessage id = 'getting_started.security' defaultMessage = 'Security' / > < / a > ) ;
items . push ( < a key = 'logout' href = '/auth/sign_out' onClick = { this . handleLogoutClick } > < FormattedMessage id = 'navigation_bar.logout' defaultMessage = 'Logout' / > < / a > ) ;
}
const canInvite = signedIn && ( ( permissions & PERMISSION _INVITE _USERS ) === PERMISSION _INVITE _USERS ) ;
const canProfileDirectory = profileDirectory ;
return (
< div className = 'getting-started__footer' >
< ul >
{ items . map ( ( item , index , array ) => (
< li > { item } { index === array . length - 1 ? null : ' · ' } < / l i >
) ) }
< / u l >
< div className = 'link-footer' >
< p >
< strong > { domain } < / s t r o n g > :
{ ' ' }
< Link key = 'about' to = '/about' > < FormattedMessage id = 'footer.about' defaultMessage = 'About' / > < / L i n k >
{ canInvite && (
< >
{ ' · ' }
< a key = 'invites' href = '/invites' target = '_blank' > < FormattedMessage id = 'footer.invite' defaultMessage = 'Invite people' / > < / a >
< / >
) }
{ canProfileDirectory && (
< >
{ ' · ' }
< Link key = 'directory' to = '/directory' > < FormattedMessage id = 'footer.directory' defaultMessage = 'Profiles directory' / > < / L i n k >
< / >
) }
{ ' · ' }
< Link key = 'privacy-policy' to = '/privacy-policy' > < FormattedMessage id = 'footer.privacy_policy' defaultMessage = 'Privacy policy' / > < / L i n k >
< / p >
< p >
< FormattedMessage
id = 'getting_started.open_source_notice'
defaultMessage = 'Glitchsoc is open source software, a friendly fork of {Mastodon}. You can contribute or report issues on GitHub at {github}.'
values = { {
github : < span > < a href = { source _url } rel = 'noopener noreferrer' target = '_blank' > { repository } < / a > ( v { v e r s i o n } ) < / s p a n > ,
Mastodon : < a href = 'https://github.com/mastodon/mastodon' rel = 'noopener noreferrer' target = '_blank' > Mastodon < / a > } }
/ >
< strong > Mastodon < / s t r o n g > :
{ ' ' }
< a href = 'https://joinmastodon.org' target = '_blank' > < FormattedMessage id = 'footer.about' defaultMessage = 'About' / > < / a >
{ ' · ' }
< a href = 'https://joinmastodon.org/apps' target = '_blank' > < FormattedMessage id = 'footer.get_app' defaultMessage = 'Get the app' / > < / a >
{ ' · ' }
< Link to = '/keyboard-shortcuts' > < FormattedMessage id = 'footer.keyboard_shortcuts' defaultMessage = 'Keyboard shortcuts' / > < / L i n k >
{ ' · ' }
< a href = { source _url } rel = 'noopener noreferrer' target = '_blank' > < FormattedMessage id = 'footer.source_code' defaultMessage = 'View source code' / > < / a >
{ ' · ' }
v { version }
< / p >
< / d i v >
) ;