| 
									
										
										
										
											2016-06-20 11:35:19 -07:00
										 |  |  | import { createSelector } from 'reselect'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export const userSelector = createSelector( | 
					
						
							|  |  |  |   state => state.app.user, | 
					
						
							|  |  |  |   state => state.entities.user, | 
					
						
							|  |  |  |   (username, userMap) => ({ | 
					
						
							|  |  |  |     user: userMap[username] || {} | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  | ); | 
					
						
							| 
									
										
										
										
											2016-08-03 12:56:00 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | export const firstChallengeSelector = createSelector( | 
					
						
							|  |  |  |   state => state.entities.challenge, | 
					
						
							|  |  |  |   state => state.entities.block, | 
					
						
							|  |  |  |   state => state.entities.superBlock, | 
					
						
							|  |  |  |   state => state.challengesApp.superBlocks, | 
					
						
							|  |  |  |   (challengeMap, blockMap, superBlockMap, superBlocks) => { | 
					
						
							|  |  |  |     if ( | 
					
						
							|  |  |  |       !challengeMap || | 
					
						
							|  |  |  |       !blockMap || | 
					
						
							|  |  |  |       !superBlockMap || | 
					
						
							|  |  |  |       !superBlocks | 
					
						
							|  |  |  |     ) { | 
					
						
							|  |  |  |       return {}; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-08-04 15:01:37 -07:00
										 |  |  |     try { | 
					
						
							|  |  |  |       return challengeMap[ | 
					
						
							|  |  |  |         blockMap[ | 
					
						
							|  |  |  |           superBlockMap[ | 
					
						
							|  |  |  |             superBlocks[0] | 
					
						
							|  |  |  |           ].blocks[0] | 
					
						
							|  |  |  |         ].challenges[0] | 
					
						
							|  |  |  |       ]; | 
					
						
							|  |  |  |     } catch (err) { | 
					
						
							|  |  |  |       console.error(err); | 
					
						
							|  |  |  |       return {}; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-08-03 12:56:00 -07:00
										 |  |  |   } | 
					
						
							|  |  |  | ); |