Skip to content

Commit

Permalink
fix: Added search stale
Browse files Browse the repository at this point in the history
  • Loading branch information
JureSotosek committed Sep 16, 2018
1 parent 7d0a360 commit d264ffe
Showing 1 changed file with 29 additions and 6 deletions.
35 changes: 29 additions & 6 deletions src/emma.js
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,13 @@ const SelectedPackages = ({ selectedPackages }) => (

// Restults

const SearchResults = ({ foundPackages, onToggle, loading, focused }) => {
const SearchResults = ({
foundPackages,
onToggle,
loading,
loadingBackground,
focused,
}) => {
if (loading === PROGRESS_LOADING) {
return (
<div>
Expand All @@ -144,7 +150,7 @@ const SearchResults = ({ foundPackages, onToggle, loading, focused }) => {
return <ErrorInfo err="Couldn't reach Algolia search!" />
}

if (isEmpty(foundPackages)) {
if (isEmpty(foundPackages) && !loadingBackground) {
return <NotFoundSearchInfo />
}

Expand Down Expand Up @@ -218,6 +224,7 @@ class Emma extends Component {
foundSuggestionsPackages: [],
selectedPackages: [],
loadingSearch: PROGRESS_NOT_LOADED,
loadingSearchBackground: false,
loadingSuggestions: PROGRESS_NOT_LOADED,
focused: FOCUSED_SEARCH,
}
Expand Down Expand Up @@ -245,6 +252,7 @@ class Emma extends Component {
foundSuggestionsPackages,
selectedPackages,
loadingSearch,
loadingSearchBackground,
loadingSuggestions,
focused,
} = this.state
Expand All @@ -263,6 +271,7 @@ class Emma extends Component {
foundPackages={foundSearchPackages}
onToggle={this.handleTogglePackage}
loading={loadingSearch}
loadingBackground={loadingSearchBackground}
focused={focused === FOCUSED_SEARCH}
/>
)}
Expand Down Expand Up @@ -351,26 +360,40 @@ class Emma extends Component {

async fetchSearch() {
const { query } = this.state
const { limit, dev } = this.props
const { limit } = this.props

this.setState({
focused: FOCUSED_SEARCH,
loadingSearch: PROGRESS_LOADING,
loadingSearchBackground: true,
})

setTimeout(() => {
if (this.state.loadingSearchBackground) {
this.setState({
loadingSearch: PROGRESS_LOADING,
loadingSearchBackground: false,
})
}
}, 1500)

try {
const hits = await getSearch(query, limit)
const cells = hitsToCells(hits)

this.setState({
loadingSearch: PROGRESS_LOADED,
loadingSearchBackground: false,
})

if (this.state.query === query) {
this.setState({
foundSearchPackages: cells,
loadingSearch: PROGRESS_LOADED,
})
}
} catch (err) {
this.setState({
loadingSearch: PROGRESS_ERROR,
loadingSearchBackground: PROGRESS_ERROR,
loadingSearchBackground: false,
})
}
}
Expand Down

0 comments on commit d264ffe

Please sign in to comment.