{"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 } 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":""}