{"version":3,"sources":["webpack:///./app/javascript/mastodon/features/explore/components/story.jsx","webpack:///./app/javascript/mastodon/features/explore/links.jsx","webpack:///./app/javascript/mastodon/features/explore/results.jsx","webpack:///./app/javascript/mastodon/features/explore/statuses.jsx","webpack:///./app/javascript/mastodon/features/explore/suggestions.jsx","webpack:///./app/javascript/mastodon/features/explore/tags.jsx","webpack:///./app/javascript/mastodon/features/explore/index.jsx"],"names":["Story","PureComponent","constructor","arguments","state","thumbnailLoaded","handleImageLoad","this","setState","render","expanded","url","title","lang","publisher","author","publishedAt","sharedTimes","thumbnail","blurhash","props","_jsx","className","classNames","href","target","rel","Skeleton","width","_jsxs","_Fragment","children","RelativeTimestamp","timestamp","FormattedMessage","id","defaultMessage","values","name","ShortNumber","value","renderer","accountsCountRenderer","Blurhash","hash","src","onLoad","alt","role","Links","componentDidMount","dispatch","fetchTrendingLinks","isLoading","links","banner","DismissableBanner","isEmpty","LoadingIndicator","map","link","i","get","getIn","connect","messages","defineMessages","appendLoadMore","list","onLoadMore","size","push","LoadMore","visible","onClick","renderAccounts","results","ImmutableList","item","Account","renderHashtags","Hashtag","hashtag","renderStatuses","Status","Results","type","handleSelectAll","handleSelectAccounts","handleSelectHashtags","handleSelectStatuses","handleLoadMoreAccounts","loadMore","handleLoadMoreStatuses","handleLoadMoreHashtags","expandSearch","intl","q","filteredResults","concat","Helmet","formatMessage","injectIntl","Statuses","handleLoadMore","_debounce","expandTrendingStatuses","leading","fetchTrendingStatuses","hasMore","statusIds","multiColumn","emptyMessage","StatusList","trackScroll","timelineId","scrollKey","bindToDocument","withCounters","getStatusList","Suggestions","fetchSuggestions","suggestions","suggestion","AccountCard","Tags","fetchTrendingHashtags","hashtags","isLoadingHashtags","searchResults","Explore","handleHeaderClick","column","scrollTop","setRef","c","isSearching","signedIn","context","identity","Column","ref","label","ColumnHeader","icon","Search","SearchResults","NavLink","exact","to","tagName","Switch","Route","path","component","content","contextTypes","router","PropTypes","object","layout","trendsEnabled"],"mappings":"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","file":"js/features/explore-23377463f7b28345b1fc.chunk.js","sourcesContent":["import PropTypes from 'prop-types';\nimport { PureComponent } from 'react';\n\nimport { FormattedMessage } from 'react-intl';\n\nimport classNames from 'classnames';\n\nimport { Blurhash } from 'mastodon/components/blurhash';\nimport { accountsCountRenderer } from 'mastodon/components/hashtag';\nimport { RelativeTimestamp } from 'mastodon/components/relative_timestamp';\nimport { ShortNumber } from 'mastodon/components/short_number';\nimport { Skeleton } from 'mastodon/components/skeleton';\n\nexport default class Story extends PureComponent {\n\n static propTypes = {\n url: PropTypes.string,\n title: PropTypes.string,\n lang: PropTypes.string,\n publisher: PropTypes.string,\n publishedAt: PropTypes.string,\n author: PropTypes.string,\n sharedTimes: PropTypes.number,\n thumbnail: PropTypes.string,\n blurhash: PropTypes.string,\n expanded: PropTypes.bool,\n };\n\n state = {\n thumbnailLoaded: false,\n };\n\n handleImageLoad = () => this.setState({ thumbnailLoaded: true });\n\n render () {\n const { expanded, url, title, lang, publisher, author, publishedAt, sharedTimes, thumbnail, blurhash } = this.props;\n\n const { thumbnailLoaded } = this.state;\n\n return (\n \n
\n
{publisher ? {publisher} : }{publishedAt && <> · }
\n
{title ? title : }
\n
{author && <>{author} }} /> · }{typeof sharedTimes === 'number' ? : }
\n
\n\n
\n {thumbnail ? (\n <>\n
\n \n \n ) : }\n
\n
\n );\n }\n\n}\n","import PropTypes from 'prop-types';\nimport { PureComponent } from 'react';\n\nimport { FormattedMessage } from 'react-intl';\n\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\n\nimport { fetchTrendingLinks } from 'mastodon/actions/trends';\nimport { DismissableBanner } from 'mastodon/components/dismissable_banner';\nimport { LoadingIndicator } from 'mastodon/components/loading_indicator';\n\nimport Story from './components/story';\n\nconst mapStateToProps = state => ({\n links: state.getIn(['trends', 'links', 'items']),\n isLoading: state.getIn(['trends', 'links', 'isLoading']),\n});\n\nclass Links extends PureComponent {\n\n static propTypes = {\n links: ImmutablePropTypes.list,\n isLoading: PropTypes.bool,\n dispatch: PropTypes.func.isRequired,\n };\n\n componentDidMount () {\n const { dispatch } = this.props;\n dispatch(fetchTrendingLinks());\n }\n\n render () {\n const { isLoading, links } = this.props;\n\n const banner = (\n \n \n \n );\n\n if (!isLoading && links.isEmpty()) {\n return (\n
\n {banner}\n\n
\n \n
\n
\n );\n }\n\n return (\n
\n {banner}\n\n {isLoading ? () : links.map((link, i) => (\n \n ))}\n
\n );\n }\n\n}\n\nexport default connect(mapStateToProps)(Links);\n","import PropTypes from 'prop-types';\nimport { PureComponent } from 'react';\n\nimport { injectIntl, defineMessages, FormattedMessage } from 'react-intl';\n\nimport { Helmet } from 'react-helmet';\n\nimport { List as ImmutableList } from 'immutable';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\n\nimport { expandSearch } from 'mastodon/actions/search';\nimport { ImmutableHashtag as Hashtag } from 'mastodon/components/hashtag';\nimport { LoadMore } from 'mastodon/components/load_more';\nimport { LoadingIndicator } from 'mastodon/components/loading_indicator';\nimport Account from 'mastodon/containers/account_container';\nimport Status from 'mastodon/containers/status_container';\n\nconst messages = defineMessages({\n title: { id: 'search_results.title', defaultMessage: 'Search for {q}' },\n});\n\nconst mapStateToProps = state => ({\n isLoading: state.getIn(['search', 'isLoading']),\n results: state.getIn(['search', 'results']),\n q: state.getIn(['search', 'searchTerm']),\n});\n\nconst appendLoadMore = (id, list, onLoadMore) => {\n if (list.size >= 5) {\n return list.push();\n } else {\n return list;\n }\n};\n\nconst renderAccounts = (results, onLoadMore) => appendLoadMore('accounts', results.get('accounts', ImmutableList()).map(item => (\n \n)), onLoadMore);\n\nconst renderHashtags = (results, onLoadMore) => appendLoadMore('hashtags', results.get('hashtags', ImmutableList()).map(item => (\n \n)), onLoadMore);\n\nconst renderStatuses = (results, onLoadMore) => appendLoadMore('statuses', results.get('statuses', ImmutableList()).map(item => (\n \n)), onLoadMore);\n\nclass Results extends PureComponent {\n\n static propTypes = {\n results: ImmutablePropTypes.map,\n isLoading: PropTypes.bool,\n multiColumn: PropTypes.bool,\n dispatch: PropTypes.func.isRequired,\n q: PropTypes.string,\n intl: PropTypes.object,\n };\n\n state = {\n type: 'all',\n };\n\n handleSelectAll = () => this.setState({ type: 'all' });\n handleSelectAccounts = () => this.setState({ type: 'accounts' });\n handleSelectHashtags = () => this.setState({ type: 'hashtags' });\n handleSelectStatuses = () => this.setState({ type: 'statuses' });\n handleLoadMoreAccounts = () => this.loadMore('accounts');\n handleLoadMoreStatuses = () => this.loadMore('statuses');\n handleLoadMoreHashtags = () => this.loadMore('hashtags');\n\n loadMore (type) {\n const { dispatch } = this.props;\n dispatch(expandSearch(type));\n }\n\n render () {\n const { intl, isLoading, q, results } = this.props;\n const { type } = this.state;\n\n let filteredResults = ImmutableList();\n\n if (!isLoading) {\n switch(type) {\n case 'all':\n filteredResults = filteredResults.concat(renderAccounts(results, this.handleLoadMoreAccounts), renderHashtags(results, this.handleLoadMoreHashtags), renderStatuses(results, this.handleLoadMoreStatuses));\n break;\n case 'accounts':\n filteredResults = filteredResults.concat(renderAccounts(results, this.handleLoadMoreAccounts));\n break;\n case 'hashtags':\n filteredResults = filteredResults.concat(renderHashtags(results, this.handleLoadMoreHashtags));\n break;\n case 'statuses':\n filteredResults = filteredResults.concat(renderStatuses(results, this.handleLoadMoreStatuses));\n break;\n }\n\n if (filteredResults.size === 0) {\n filteredResults = (\n
\n \n
\n );\n }\n }\n\n return (\n <>\n
\n \n \n \n \n
\n\n
\n {isLoading ? : filteredResults}\n
\n\n \n {intl.formatMessage(messages.title, { q })}\n \n \n );\n }\n\n}\n\nexport default connect(mapStateToProps)(injectIntl(Results));\n","import PropTypes from 'prop-types';\nimport { PureComponent } from 'react';\n\nimport { FormattedMessage } from 'react-intl';\n\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\n\nimport { debounce } from 'lodash';\n\nimport { fetchTrendingStatuses, expandTrendingStatuses } from 'mastodon/actions/trends';\nimport { DismissableBanner } from 'mastodon/components/dismissable_banner';\nimport StatusList from 'mastodon/components/status_list';\nimport { getStatusList } from 'mastodon/selectors';\n\nconst mapStateToProps = state => ({\n statusIds: getStatusList(state, 'trending'),\n isLoading: state.getIn(['status_lists', 'trending', 'isLoading'], true),\n hasMore: !!state.getIn(['status_lists', 'trending', 'next']),\n});\n\nclass Statuses extends PureComponent {\n\n static propTypes = {\n statusIds: ImmutablePropTypes.list,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n multiColumn: PropTypes.bool,\n dispatch: PropTypes.func.isRequired,\n };\n\n componentDidMount () {\n const { dispatch } = this.props;\n dispatch(fetchTrendingStatuses());\n }\n\n handleLoadMore = debounce(() => {\n const { dispatch } = this.props;\n dispatch(expandTrendingStatuses());\n }, 300, { leading: true });\n\n render () {\n const { isLoading, hasMore, statusIds, multiColumn } = this.props;\n\n const emptyMessage = ;\n\n return (\n <>\n \n \n \n\n \n \n );\n }\n\n}\n\nexport default connect(mapStateToProps)(Statuses);\n","import PropTypes from 'prop-types';\nimport { PureComponent } from 'react';\n\nimport { FormattedMessage } from 'react-intl';\n\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\n\nimport { fetchSuggestions } from 'mastodon/actions/suggestions';\nimport { LoadingIndicator } from 'mastodon/components/loading_indicator';\nimport AccountCard from 'mastodon/features/directory/components/account_card';\n\nconst mapStateToProps = state => ({\n suggestions: state.getIn(['suggestions', 'items']),\n isLoading: state.getIn(['suggestions', 'isLoading']),\n});\n\nclass Suggestions extends PureComponent {\n\n static propTypes = {\n isLoading: PropTypes.bool,\n suggestions: ImmutablePropTypes.list,\n dispatch: PropTypes.func.isRequired,\n };\n\n componentDidMount () {\n const { dispatch } = this.props;\n dispatch(fetchSuggestions(true));\n }\n\n render () {\n const { isLoading, suggestions } = this.props;\n\n if (!isLoading && suggestions.isEmpty()) {\n return (\n
\n
\n \n
\n
\n );\n }\n\n return (\n
\n {isLoading ? : suggestions.map(suggestion => (\n \n ))}\n
\n );\n }\n\n}\n\nexport default connect(mapStateToProps)(Suggestions);\n","import PropTypes from 'prop-types';\nimport { PureComponent } from 'react';\n\nimport { FormattedMessage } from 'react-intl';\n\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\n\nimport { fetchTrendingHashtags } from 'mastodon/actions/trends';\nimport { DismissableBanner } from 'mastodon/components/dismissable_banner';\nimport { ImmutableHashtag as Hashtag } from 'mastodon/components/hashtag';\nimport { LoadingIndicator } from 'mastodon/components/loading_indicator';\n\nconst mapStateToProps = state => ({\n hashtags: state.getIn(['trends', 'tags', 'items']),\n isLoadingHashtags: state.getIn(['trends', 'tags', 'isLoading']),\n});\n\nclass Tags extends PureComponent {\n\n static propTypes = {\n hashtags: ImmutablePropTypes.list,\n isLoading: PropTypes.bool,\n dispatch: PropTypes.func.isRequired,\n };\n\n componentDidMount () {\n const { dispatch } = this.props;\n dispatch(fetchTrendingHashtags());\n }\n\n render () {\n const { isLoading, hashtags } = this.props;\n\n const banner = (\n \n \n \n );\n\n if (!isLoading && hashtags.isEmpty()) {\n return (\n
\n {banner}\n\n
\n \n
\n
\n );\n }\n\n return (\n
\n {banner}\n\n {isLoading ? () : hashtags.map(hashtag => (\n \n ))}\n
\n );\n }\n\n}\n\nexport default connect(mapStateToProps)(Tags);\n","import PropTypes from 'prop-types';\nimport { PureComponent } from 'react';\n\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\n\nimport { Helmet } from 'react-helmet';\nimport { NavLink, Switch, Route } from 'react-router-dom';\n\nimport { connect } from 'react-redux';\n\nimport Column from 'mastodon/components/column';\nimport ColumnHeader from 'mastodon/components/column_header';\nimport Search from 'mastodon/features/compose/containers/search_container';\nimport { trendsEnabled } from 'mastodon/initial_state';\n\nimport Links from './links';\nimport SearchResults from './results';\nimport Statuses from './statuses';\nimport Suggestions from './suggestions';\nimport Tags from './tags';\n\nconst messages = defineMessages({\n title: { id: 'explore.title', defaultMessage: 'Explore' },\n searchResults: { id: 'explore.search_results', defaultMessage: 'Search results' },\n});\n\nconst mapStateToProps = state => ({\n layout: state.getIn(['meta', 'layout']),\n isSearching: state.getIn(['search', 'submitted']) || !trendsEnabled,\n});\n\nclass Explore extends PureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n identity: PropTypes.object,\n };\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n multiColumn: PropTypes.bool,\n isSearching: PropTypes.bool,\n };\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n };\n\n setRef = c => {\n this.column = c;\n };\n\n render() {\n const { intl, multiColumn, isSearching } = this.props;\n const { signedIn } = this.context.identity;\n\n return (\n \n \n\n
\n \n
\n\n
\n {isSearching ? (\n \n ) : (\n <>\n
\n \n \n \n\n \n \n \n\n {signedIn && (\n \n \n \n )}\n\n \n \n \n
\n\n \n \n \n \n \n \n \n \n\n \n {intl.formatMessage(messages.title)}\n \n \n \n )}\n
\n
\n );\n }\n\n}\n\nexport default connect(mapStateToProps)(injectIntl(Explore));\n"],"sourceRoot":""}