Ensure uniqueness of found statuses & ensure only one loading circle
This commit is contained in:
parent
33740ea141
commit
002cc2c41e
2 changed files with 9 additions and 4 deletions
|
@ -8,6 +8,7 @@ import {
|
|||
faCircleNotch,
|
||||
faSearch
|
||||
} from '@fortawesome/free-solid-svg-icons'
|
||||
import { uniqBy } from 'lodash'
|
||||
|
||||
library.add(
|
||||
faCircleNotch,
|
||||
|
@ -86,16 +87,20 @@ const Search = {
|
|||
.then(data => {
|
||||
this.loading = false
|
||||
|
||||
let oldLength = this.statuses.length
|
||||
|
||||
// Always append to old results. If new results are empty, this doesn't change anything
|
||||
this.userIds = this.userIds.concat(map(data.accounts, 'id'))
|
||||
this.statuses = this.statuses.concat(data.statuses)
|
||||
this.statuses = uniqBy(this.statuses.concat(data.statuses), 'id')
|
||||
this.hashtags = this.hashtags.concat(data.hashtags)
|
||||
|
||||
this.currenResultTab = this.getActiveTab()
|
||||
this.loaded = true
|
||||
|
||||
this.statusesOffset += data.statuses.length
|
||||
this.lastStatusFetchCount = data.statuses.length
|
||||
// Offset from whatever we already have
|
||||
this.statusesOffset = this.statuses.length
|
||||
// Because the amount of new statuses can actually be zero, compare to old lenght instead
|
||||
this.lastStatusFetchCount = this.statuses.length - oldLength
|
||||
this.lastQuery = query
|
||||
})
|
||||
},
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
</button>
|
||||
</div>
|
||||
<div
|
||||
v-if="loading"
|
||||
v-if="loading && statusesOffset == 0"
|
||||
class="text-center loading-icon"
|
||||
>
|
||||
<FAIcon
|
||||
|
|
Loading…
Reference in a new issue