Skip to content

Commit 51c62a5

Browse files
committed
remove artificial delay in OtherModes view
1 parent 3ecb566 commit 51c62a5

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

source/views/transportation/other-modes.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,22 @@ export default class OtherModesView extends React.PureComponent {
7171
this.fetchData()
7272
}
7373

74-
fetchData = async () => {
74+
refresh = async () => {
7575
const start = Date.now()
76+
this.setState(() => ({refreshing: true}))
77+
78+
await this.fetchData()
79+
80+
// wait 0.5 seconds – if we let it go at normal speed, it feels broken.
81+
const elapsed = Date.now() - start
82+
if (elapsed < 500) {
83+
await delay(500 - elapsed)
84+
}
85+
86+
this.setState(() => ({refreshing: false}))
87+
}
88+
89+
fetchData = async () => {
7690
this.setState(() => ({loading: true}))
7791

7892
let {data: modes} = await fetchJson(GITHUB_URL).catch(err => {
@@ -84,12 +98,6 @@ export default class OtherModesView extends React.PureComponent {
8498
modes = defaultData.data
8599
}
86100

87-
// wait 0.5 seconds – if we let it go at normal speed, it feels broken.
88-
const elapsed = Date.now() - start
89-
if (elapsed < 500) {
90-
await delay(500 - elapsed)
91-
}
92-
93101
this.setState(() => ({modes, loading: false}))
94102
}
95103

@@ -102,8 +110,8 @@ export default class OtherModesView extends React.PureComponent {
102110
<FlatList
103111
keyExtractor={this.keyExtractor}
104112
renderItem={this.renderItem}
105-
refreshing={this.state.loading}
106-
onRefresh={this.fetchData}
113+
refreshing={this.state.refreshing}
114+
onRefresh={this.refreshing}
107115
data={this.state.modes}
108116
/>
109117
)

0 commit comments

Comments
 (0)