|
@@ -178,8 +178,12 @@ class HomeScreen extends React.Component<Props> {
|
178
|
178
|
let dashboardData = [];
|
179
|
179
|
if (fetchedData.news_feed != null)
|
180
|
180
|
newsData = fetchedData.news_feed.data;
|
|
181
|
+ else
|
|
182
|
+ newsData = [];
|
181
|
183
|
if (fetchedData.dashboard != null)
|
182
|
184
|
dashboardData = this.generateDashboardDataset(fetchedData.dashboard);
|
|
185
|
+ else
|
|
186
|
+ dashboardData = this.generateDashboardDataset(null);
|
183
|
187
|
return [
|
184
|
188
|
{
|
185
|
189
|
title: '',
|
|
@@ -200,7 +204,7 @@ class HomeScreen extends React.Component<Props> {
|
200
|
204
|
* @param dashboardData
|
201
|
205
|
* @return {Array<dashboardItem>}
|
202
|
206
|
*/
|
203
|
|
- generateDashboardDataset(dashboardData: fullDashboard): Array<dashboardItem> {
|
|
207
|
+ generateDashboardDataset(dashboardData: fullDashboard | null): Array<dashboardItem> {
|
204
|
208
|
return [
|
205
|
209
|
{id: 'actions', content: []},
|
206
|
210
|
{
|
|
@@ -208,49 +212,49 @@ class HomeScreen extends React.Component<Props> {
|
208
|
212
|
content: [
|
209
|
213
|
{
|
210
|
214
|
id: 'washers',
|
211
|
|
- data: dashboardData.available_machines.washers,
|
|
215
|
+ data: dashboardData == null ? 0 : dashboardData.available_machines.washers,
|
212
|
216
|
icon: 'washing-machine',
|
213
|
217
|
color: this.colors.proxiwashColor,
|
214
|
218
|
onPress: this.onProxiwashClick,
|
215
|
|
- isAvailable: dashboardData.available_machines.washers > 0
|
|
219
|
+ isAvailable: dashboardData == null ? false : dashboardData.available_machines.washers > 0
|
216
|
220
|
},
|
217
|
221
|
{
|
218
|
222
|
id: 'dryers',
|
219
|
|
- data: dashboardData.available_machines.dryers,
|
|
223
|
+ data: dashboardData == null ? 0 : dashboardData.available_machines.dryers,
|
220
|
224
|
icon: 'tumble-dryer',
|
221
|
225
|
color: this.colors.proxiwashColor,
|
222
|
226
|
onPress: this.onProxiwashClick,
|
223
|
|
- isAvailable: dashboardData.available_machines.dryers > 0
|
|
227
|
+ isAvailable: dashboardData == null ? false : dashboardData.available_machines.dryers > 0
|
224
|
228
|
},
|
225
|
229
|
{
|
226
|
230
|
id: 'available_tutorials',
|
227
|
|
- data: dashboardData.available_tutorials,
|
|
231
|
+ data: dashboardData == null ? 0 : dashboardData.available_tutorials,
|
228
|
232
|
icon: 'school',
|
229
|
233
|
color: this.colors.tutorinsaColor,
|
230
|
234
|
onPress: this.onTutorInsaClick,
|
231
|
|
- isAvailable: dashboardData.available_tutorials > 0
|
|
235
|
+ isAvailable: dashboardData == null ? false : dashboardData.available_tutorials > 0
|
232
|
236
|
},
|
233
|
237
|
{
|
234
|
238
|
id: 'proximo_articles',
|
235
|
|
- data: dashboardData.proximo_articles,
|
|
239
|
+ data: dashboardData == null ? 0 : dashboardData.proximo_articles,
|
236
|
240
|
icon: 'shopping',
|
237
|
241
|
color: this.colors.proximoColor,
|
238
|
242
|
onPress: this.onProximoClick,
|
239
|
|
- isAvailable: dashboardData.proximo_articles > 0
|
|
243
|
+ isAvailable: dashboardData == null ? false : dashboardData.proximo_articles > 0
|
240
|
244
|
},
|
241
|
245
|
{
|
242
|
246
|
id: 'today_menu',
|
243
|
|
- data: dashboardData.today_menu,
|
|
247
|
+ data: dashboardData == null ? 0 : dashboardData.today_menu,
|
244
|
248
|
icon: 'silverware-fork-knife',
|
245
|
249
|
color: this.colors.menuColor,
|
246
|
250
|
onPress: this.onMenuClick,
|
247
|
|
- isAvailable: dashboardData.today_menu.length > 0
|
|
251
|
+ isAvailable: dashboardData == null ? false : dashboardData.today_menu.length > 0
|
248
|
252
|
},
|
249
|
253
|
]
|
250
|
254
|
},
|
251
|
255
|
{
|
252
|
256
|
id: 'event',
|
253
|
|
- content: dashboardData.today_events
|
|
257
|
+ content: dashboardData == null ? [] : dashboardData.today_events
|
254
|
258
|
},
|
255
|
259
|
];
|
256
|
260
|
}
|
|
@@ -509,6 +513,7 @@ class HomeScreen extends React.Component<Props> {
|
509
|
513
|
renderItem={this.getRenderItem}
|
510
|
514
|
itemHeight={FEED_ITEM_HEIGHT}
|
511
|
515
|
onScroll={this.onScroll}
|
|
516
|
+ showError={false}
|
512
|
517
|
/>
|
513
|
518
|
<AnimatedFAB
|
514
|
519
|
{...this.props}
|