Merge branch 'security/fix-html-class-scrubbing' into 'develop'
[akkoma] / priv / static / packs / features / getting_started.js.map
index 722210036294d93aa969411c03285b01e12c3e00..c1c4fcff49fb8d37f3000bcdcac5e4f0b7b9a5c2 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./app/javascript/mastodon/features/getting_started/index.js"],"names":["messages","Object","react_intl__WEBPACK_IMPORTED_MODULE_8__","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","GettingStarted","react_redux__WEBPACK_IMPORTED_MODULE_9__","state","myAccount","getIn","_initial_state__WEBPACK_IMPORTED_MODULE_13__","unreadFollowRequests","immutable__WEBPACK_IMPORTED_MODULE_16__","size","customPanelEnabled","customPanel","dispatch","fetchFollowRequests","_actions_accounts__WEBPACK_IMPORTED_MODULE_14__","fetchPanel","_actions_pleroma__WEBPACK_IMPORTED_MODULE_15__","fetchPleromaConfig","componentDidMount","_props","this","props","get","render","number","limit","_props2","intl","multiColumn","navItems","i","height","push","babel_runtime_helpers_jsx__WEBPACK_IMPORTED_MODULE_0___default","_ui_components_column_subheading__WEBPACK_IMPORTED_MODULE_7__","text","formatMessage","_ui_components_column_link__WEBPACK_IMPORTED_MODULE_6__","icon","to","badge","href","staticContent","dangerouslySetInnerHTML","__html","style","marginLeft","marginRight","rel","target","_ui_components_column__WEBPACK_IMPORTED_MODULE_5__","label","className","_compose_components_navigation_bar__WEBPACK_IMPORTED_MODULE_18__","account","invitesEnabled","react_router_dom__WEBPACK_IMPORTED_MODULE_17__","data-method","values","mastofe","mastodon","pleroma","react_immutable_pure_component__WEBPACK_IMPORTED_MODULE_12__","propTypes","prop_types__WEBPACK_IMPORTED_MODULE_10___default","a","object","isRequired","react_immutable_proptypes__WEBPACK_IMPORTED_MODULE_11___default","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 } from '../../initial_state';\nimport { fetchFollowRequests } from '../../actions/accounts';\nimport { fetchPanel, fetchPleromaConfig } from '../../actions/pleroma';\nimport { List as ImmutableList } from 'immutable';\nimport { Link } from 'react-router-dom';\nimport NavigationBar from '../compose/components/navigation_bar';\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});\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});\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\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class 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    unreadFollowRequests: PropTypes.number,\n    unreadNotifications: PropTypes.number,\n    customPanelEnabled: PropTypes.bool,\n    customPanel: PropTypes.string.isRequired,\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        <ColumnSubheading key={i++} text={intl.formatMessage(messages.personal)} />\n      );\n\n      height += 34*2 + 48*2;\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    );\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 dot = ' • ';\n    const staticContent = (customPanelEnabled ? <div dangerouslySetInnerHTML={{__html: customPanel}} style={{marginLeft: -12, marginRight: -12}} /> :\n      <p>\n        <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/FAQ.md' rel='noopener' target='_blank'><FormattedMessage id='getting_started.faq' defaultMessage='FAQ' /></a>\n        {dot}\n        <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/User-guide.md' rel='noopener' target='_blank'><FormattedMessage id='getting_started.userguide' defaultMessage='User Guide' /></a>\n        {dot}\n        <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md' rel='noopener' target='_blank'><FormattedMessage id='getting_started.appsshort' defaultMessage='Apps' /></a>\n        {dot}\n        <a href='https://pleroma.social'><FormattedMessage id='getting_started.pleroma' defaultMessage='Pleroma' /></a>\n      </p>\n    );\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              <i className='fa fa-bars fa-fw column-header__icon' />\n              <FormattedMessage id='getting_started.heading' defaultMessage='Getting started' />\n            </button>\n          </h1>\n        </div>}\n\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        <div className='getting-started getting-started__panel scrollable'>\n          {staticContent}\n        </div>\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          <p>\n            <FormattedMessage\n              id='getting_started.mastofe_notice'\n              defaultMessage='{mastofe} is libre software based on {mastodon} frontend adapted for {pleroma}.'\n              values={{\n                mastofe: <a href='https://git.pleroma.social/pleroma/mastofe' rel='noopener' target='_blank'>Mastofe</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          </p>\n        </div>\n      </Column>\n    );\n  }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file
+{"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":""}
\ No newline at end of file