{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/mastodon/features/getting_started/index.js"],"names":["messages","defineMessages","home_timeline","id","defaultMessage","notifications","public_timeline","settings_subheading","community_timeline","direct","preferences","follow_requests","favourites","blocks","domain_blocks","mutes","pins","lists","discover","personal","security","menu","profile_directory","switch_to_glitch","GettingStarted","connect","state","myAccount","getIn","me","unreadFollowRequests","ImmutableList","size","customPanelEnabled","customPanel","dispatch","fetchFollowRequests","fetchPanel","fetchPleromaConfig","switchFlavour","injectIntl","e","_this","props","componentDidMount","_this$props","this","get","render","number","limit","_this$props2","intl","multiColumn","navItems","i","height","push","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","_ui_components_column_subheading__WEBPACK_IMPORTED_MODULE_7__","text","formatMessage","_ui_components_column_link__WEBPACK_IMPORTED_MODULE_6__","icon","to","href","onClick","switch_flavour_glitch","className","tabIndex","badge","instance_panel","dangerouslySetInnerHTML","__html","_ui_components_column__WEBPACK_IMPORTED_MODULE_5__","label","mastodon_components_icon__WEBPACK_IMPORTED_MODULE_19__","fixedWidth","react_intl__WEBPACK_IMPORTED_MODULE_8__","style","_compose_components_navigation_bar__WEBPACK_IMPORTED_MODULE_18__","account","invitesEnabled","target","react_router_dom__WEBPACK_IMPORTED_MODULE_17__","data-method","values","mastofe","rel","glitchsoc","mastodon","pleroma","ImmutablePureComponent","PropTypes","object","isRequired","ImmutablePropTypes","map","columns","list","bool","func","unreadNotifications","string"],"mappings":"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","file":"features/getting_started.js","sourcesContent":["import React from 'react';\nimport Column from '../ui/components/column';\nimport ColumnLink from '../ui/components/column_link';\nimport ColumnSubheading from '../ui/components/column_subheading';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me, invitesEnabled, profile_directory, repository, source_url } from '../../initial_state';\nimport { fetchFollowRequests } from '../../actions/accounts';\nimport { fetchPanel, fetchPleromaConfig, switchFlavour } from 'mastodon/actions/pleroma';\nimport { List as ImmutableList } from 'immutable';\nimport { Link } from 'react-router-dom';\nimport NavigationBar from '../compose/components/navigation_bar';\nimport Icon from 'mastodon/components/icon';\n\nconst messages = defineMessages({\n home_timeline: { id: 'tabs_bar.home', defaultMessage: 'Home' },\n notifications: { id: 'tabs_bar.notifications', defaultMessage: 'Notifications' },\n public_timeline: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },\n settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings' },\n community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },\n direct: { id: 'navigation_bar.direct', defaultMessage: 'Direct messages' },\n preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },\n follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },\n favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },\n blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' },\n domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' },\n mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },\n pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' },\n lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },\n discover: { id: 'navigation_bar.discover', defaultMessage: 'Discover' },\n personal: { id: 'navigation_bar.personal', defaultMessage: 'Personal' },\n security: { id: 'navigation_bar.security', defaultMessage: 'Security' },\n menu: { id: 'getting_started.heading', defaultMessage: 'Getting started' },\n profile_directory: { id: 'getting_started.directory', defaultMessage: 'Profile directory' },\n switch_to_glitch: { id: 'navigation_bar.switch_to_glitch', defaultMessage: 'Switch to Glitch Flavour' },\n});\n\nconst mapStateToProps = state => ({\n myAccount: state.getIn(['accounts', me]),\n unreadFollowRequests: state.getIn(['user_lists', 'follow_requests', 'items'], ImmutableList()).size,\n customPanelEnabled: state.getIn(['custom_panel', 'enabled']),\n customPanel: state.getIn(['custom_panel', 'panel']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n fetchFollowRequests: () => dispatch(fetchFollowRequests()),\n fetchPanel: () => dispatch(fetchPanel()),\n fetchPleromaConfig: () => dispatch(fetchPleromaConfig()),\n switchFlavour: () => dispatch(switchFlavour()),\n});\n\nconst badgeDisplay = (number, limit) => {\n if (number === 0) {\n return undefined;\n } else if (limit && number >= limit) {\n return `${limit}+`;\n } else {\n return number;\n }\n};\n\nexport default @connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nclass GettingStarted extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n columns: ImmutablePropTypes.list,\n multiColumn: PropTypes.bool,\n fetchFollowRequests: PropTypes.func.isRequired,\n fetchPanel: PropTypes.func.isRequired,\n fetchPleromaConfig: PropTypes.func.isRequired,\n switchFlavour: PropTypes.func.isRequired,\n unreadFollowRequests: PropTypes.number,\n unreadNotifications: PropTypes.number,\n customPanelEnabled: PropTypes.bool,\n customPanel: PropTypes.string.isRequired,\n };\n\n switch_flavour_glitch = (e) => {\n this.props.switchFlavour('glitch');\n }\n\n componentDidMount () {\n const { myAccount, fetchFollowRequests, fetchPleromaConfig, fetchPanel } = this.props;\n\n if (myAccount.get('locked')) {\n fetchFollowRequests();\n }\n\n fetchPleromaConfig();\n fetchPanel();\n }\n\n render () {\n const { intl, myAccount, multiColumn, unreadFollowRequests, customPanelEnabled, customPanel } = this.props;\n\n const navItems = [];\n let i = 1;\n let height = (multiColumn) ? 0 : 60;\n\n if (multiColumn) {\n navItems.push(\n <ColumnSubheading key={i++} text={intl.formatMessage(messages.discover)} />,\n <ColumnLink key={i++} icon='users' text={intl.formatMessage(messages.community_timeline)} to='/timelines/public/local' />,\n <ColumnLink key={i++} icon='globe' text={intl.formatMessage(messages.public_timeline)} to='/timelines/public' />,\n );\n\n height += 34 + 48*2;\n\n if (profile_directory) {\n navItems.push(\n <ColumnLink key={i++} icon='address-book' text={intl.formatMessage(messages.profile_directory)} href='/explore' />\n );\n\n height += 48;\n }\n\n navItems.push(\n <ColumnSubheading key={i++} text={intl.formatMessage(messages.personal)} />\n );\n\n height += 34;\n } else if (profile_directory) {\n navItems.push(\n <ColumnLink key={i++} icon='address-book' text={intl.formatMessage(messages.profile_directory)} href='/explore' />\n );\n\n height += 48;\n }\n\n navItems.push(\n <ColumnLink key={i++} icon='envelope' text={intl.formatMessage(messages.direct)} to='/timelines/direct' />,\n <ColumnLink key={i++} icon='star' text={intl.formatMessage(messages.favourites)} to='/favourites' />,\n <ColumnLink key={i++} icon='list-ul' text={intl.formatMessage(messages.lists)} to='/lists' />,\n <a key={i++} href='#' onClick={this.switch_flavour_glitch} className='column-link' tabIndex='0'><i className={`fa fa-fw fa-exchange column-link__icon`} />{intl.formatMessage(messages.switch_to_glitch)}</a>\n );\n\n height += 48*3;\n\n if (myAccount.get('locked')) {\n navItems.push(<ColumnLink key={i++} icon='users' text={intl.formatMessage(messages.follow_requests)} badge={badgeDisplay(unreadFollowRequests, 40)} to='/follow_requests' />);\n height += 48;\n }\n\n if (!multiColumn) {\n navItems.push(\n <ColumnSubheading key={i++} text={intl.formatMessage(messages.settings_subheading)} />,\n <ColumnLink key={i++} icon='gears' text={intl.formatMessage(messages.preferences)} href='/user-settings' />,\n );\n\n height += 34 + 48;\n }\n\n const instance_panel = (customPanelEnabled ? <div className='getting-started getting-started__panel scrollable' dangerouslySetInnerHTML={{__html: customPanel}} /> : null);\n\n return (\n <Column label={intl.formatMessage(messages.menu)}>\n {multiColumn && <div className='column-header__wrapper'>\n <h1 className='column-header'>\n <button>\n <Icon id='bars' className='column-header__icon' fixedWidth />\n <FormattedMessage id='getting_started.heading' defaultMessage='Getting started' />\n </button>\n </h1>\n </div>}\n\n <div className='getting-started'>\n <div className='getting-started__wrapper scrollable' style={{ height }}>\n {!multiColumn && <NavigationBar account={myAccount} />}\n {navItems}\n </div>\n\n {!multiColumn && <div className='flex-spacer' />}\n\n {instance_panel}\n\n {!multiColumn && <div className='flex-spacer' />}\n\n <div className='getting-started__footer scrollable'>\n <ul>\n {invitesEnabled && <li><a href='/invites' target='_blank'><FormattedMessage id='getting_started.invite' defaultMessage='Invite people' /></a> · </li>}\n {multiColumn && <li><Link to='/keyboard-shortcuts'><FormattedMessage id='navigation_bar.keyboard_shortcuts' defaultMessage='Hotkeys' /></Link> · </li>}\n <li><a href='/auth/sign_out' data-method='delete'><FormattedMessage id='navigation_bar.logout' defaultMessage='Logout' /></a></li>\n </ul>\n\n <p>\n <FormattedMessage\n id='getting_started.mastofe_notice'\n defaultMessage='Mastofe is a libre distribution of the frontend from {glitchsoc}, a friendly fork of {mastodon}. You can contribute or report issues at {mastofe}.'\n values={{\n mastofe: <a href='https://git.pleroma.social/pleroma/mastofe' rel='noopener' target='_blank'>Mastofe</a>,\n glitchsoc: <a href='https://github.com/glitch-soc/mastodon' rel='noopener' target='_blank'>glitch-soc</a>,\n mastodon: <a href='https://github.com/tootsuite/mastodon' rel='noopener' target='_blank'>Mastodon</a>,\n pleroma: <a href='https://pleroma.social' rel='noopener' target='_blank'>Pleroma</a>,\n }}\n />\n <FormattedMessage\n id='getting_started.vanilla_support_warning'\n defaultMessage='Please be warned that the vanilla flavour isn’t as supported as the glitch one, expect bugs related to the API'\n />\n </p>\n </div>\n </div>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}