{"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/tags.jsx","webpack:///./app/javascript/mastodon/features/explore/statuses.jsx","webpack:///./app/javascript/mastodon/features/explore/suggestions.jsx","webpack:///./app/javascript/mastodon/features/explore/results.jsx","webpack:///./app/javascript/mastodon/features/explore/index.jsx"],"names":["Story","React","PureComponent","constructor","arguments","state","thumbnailLoaded","handleImageLoad","this","setState","render","url","title","publisher","sharedTimes","thumbnail","blurhash","props","_jsx","className","href","target","rel","Skeleton","width","ShortNumber","value","renderer","accountsCountRenderer","Fragment","classNames","Blurhash","hash","src","onLoad","alt","role","Links","componentDidMount","dispatch","fetchTrendingLinks","isLoading","links","banner","DismissableBanner","id","FormattedMessage","defaultMessage","isEmpty","LoadingIndicator","map","link","get","getIn","connect","Tags","fetchTrendingHashtags","hashtags","hashtag","Hashtag","isLoadingHashtags","Statuses","handleLoadMore","_debounce","expandTrendingStatuses","leading","fetchTrendingStatuses","hasMore","statusIds","multiColumn","emptyMessage","createElement","StatusList","trackScroll","scrollKey","onLoadMore","bindToDocument","withCounters","Suggestions","fetchSuggestions","suggestions","suggestion","AccountCard","messages","defineMessages","appendLoadMore","list","size","push","LoadMore","visible","onClick","renderAccounts","results","ImmutableList","item","Account","renderHashtags","renderStatuses","Status","Results","type","handleSelectAll","handleSelectAccounts","handleSelectHashtags","handleSelectStatuses","handleLoadMoreAccounts","loadMore","handleLoadMoreStatuses","handleLoadMoreHashtags","expandSearch","intl","q","filteredResults","concat","Helmet","formatMessage","injectIntl","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","name","content","contextTypes","router","PropTypes","object","layout","showTrends"],"mappings":"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","file":"js/features/explore-39ac31f377be22db1d9b.chunk.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Blurhash from 'mastodon/components/blurhash';\nimport { accountsCountRenderer } from 'mastodon/components/hashtag';\nimport ShortNumber from 'mastodon/components/short_number';\nimport Skeleton from 'mastodon/components/skeleton';\nimport classNames from 'classnames';\n\nexport default class Story extends React.PureComponent {\n\n static propTypes = {\n url: PropTypes.string,\n title: PropTypes.string,\n publisher: PropTypes.string,\n sharedTimes: PropTypes.number,\n thumbnail: PropTypes.string,\n blurhash: PropTypes.string,\n };\n\n state = {\n thumbnailLoaded: false,\n };\n\n handleImageLoad = () => this.setState({ thumbnailLoaded: true });\n\n render () {\n const { url, title, publisher, sharedTimes, thumbnail, blurhash } = this.props;\n\n const { thumbnailLoaded } = this.state;\n\n return (\n \n
\n
{publisher ? publisher : }
\n
{title ? title : }
\n
{typeof sharedTimes === 'number' ? : }
\n
\n\n
\n {thumbnail ? (\n \n
\n \n
\n ) : }\n
\n
\n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Story from './components/story';\nimport LoadingIndicator from 'mastodon/components/loading_indicator';\nimport { connect } from 'react-redux';\nimport { fetchTrendingLinks } from 'mastodon/actions/trends';\nimport { FormattedMessage } from 'react-intl';\nimport DismissableBanner from 'mastodon/components/dismissable_banner';\n\nconst mapStateToProps = state => ({\n links: state.getIn(['trends', 'links', 'items']),\n isLoading: state.getIn(['trends', 'links', 'isLoading']),\n});\n\nclass Links extends React.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 => (\n \n ))}\n
\n );\n }\n\n}\n\nexport default connect(mapStateToProps)(Links);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { ImmutableHashtag as Hashtag } from 'mastodon/components/hashtag';\nimport LoadingIndicator from 'mastodon/components/loading_indicator';\nimport { connect } from 'react-redux';\nimport { fetchTrendingHashtags } from 'mastodon/actions/trends';\nimport { FormattedMessage } from 'react-intl';\nimport DismissableBanner from 'mastodon/components/dismissable_banner';\n\nconst mapStateToProps = state => ({\n hashtags: state.getIn(['trends', 'tags', 'items']),\n isLoadingHashtags: state.getIn(['trends', 'tags', 'isLoading']),\n});\n\nclass Tags extends React.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 React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport StatusList from 'mastodon/components/status_list';\nimport { FormattedMessage } from 'react-intl';\nimport { connect } from 'react-redux';\nimport { fetchTrendingStatuses, expandTrendingStatuses } from 'mastodon/actions/trends';\nimport { debounce } from 'lodash';\nimport DismissableBanner from 'mastodon/components/dismissable_banner';\n\nconst mapStateToProps = state => ({\n statusIds: state.getIn(['status_lists', 'trending', 'items']),\n isLoading: state.getIn(['status_lists', 'trending', 'isLoading'], true),\n hasMore: !!state.getIn(['status_lists', 'trending', 'next']),\n});\n\nclass Statuses extends React.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 React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport AccountCard from 'mastodon/features/directory/components/account_card';\nimport LoadingIndicator from 'mastodon/components/loading_indicator';\nimport { connect } from 'react-redux';\nimport { fetchSuggestions } from 'mastodon/actions/suggestions';\nimport { FormattedMessage } from 'react-intl';\n\nconst mapStateToProps = state => ({\n suggestions: state.getIn(['suggestions', 'items']),\n isLoading: state.getIn(['suggestions', 'isLoading']),\n});\n\nclass Suggestions extends React.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 React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { injectIntl, defineMessages, FormattedMessage } from 'react-intl';\nimport { connect } from 'react-redux';\nimport { expandSearch } from 'mastodon/actions/search';\nimport Account from 'mastodon/containers/account_container';\nimport Status from 'mastodon/containers/status_container';\nimport { ImmutableHashtag as Hashtag } from 'mastodon/components/hashtag';\nimport { List as ImmutableList } from 'immutable';\nimport LoadMore from 'mastodon/components/load_more';\nimport LoadingIndicator from 'mastodon/components/loading_indicator';\nimport { Helmet } from 'react-helmet';\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 React.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 React from 'react';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport Column from 'mastodon/components/column';\nimport ColumnHeader from 'mastodon/components/column_header';\nimport { NavLink, Switch, Route } from 'react-router-dom';\nimport Links from './links';\nimport Tags from './tags';\nimport Statuses from './statuses';\nimport Suggestions from './suggestions';\nimport Search from 'mastodon/features/compose/containers/search_container';\nimport SearchResults from './results';\nimport { Helmet } from 'react-helmet';\nimport { showTrends } from 'mastodon/initial_state';\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']) || !showTrends,\n});\n\nclass Explore extends React.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":""}