@@ -168,12 +168,45 @@ subscriptions model =
168168view : Model -> Html Msg
169169view model =
170170 div []
171- [ gamesIndex model
171+ [ featured model
172+ , gamesIndex model
172173 , playersIndex model
173174 ]
174175
175176
176177
178+ -- FEATURED
179+ 180+ 181+ featured : Model -> Html msg
182+ featured model =
183+ case featuredGame model. gamesList of
184+ Just game ->
185+ div [ class " row featured" ]
186+ [ div [ class " container" ]
187+ [ div [ class " featured-img" ]
188+ [ img [ class " featured-thumbnail" , src game. thumbnail ] [] ]
189+ , div [ class " featured-data" ]
190+ [ h2 [] [ text " Featured" ]
191+ , h3 [] [ text game. title ]
192+ , p [] [ text game. description ]
193+ , button [ class " button" ] [ text " Play Now!" ]
194+ ]
195+ ]
196+ ]
197+ 198+ Nothing ->
199+ div [] []
200+ 201+ 202+ featuredGame : List Game -> Maybe Game
203+ featuredGame games =
204+ games
205+ |> List . filter . featured
206+ |> List . head
207+ 208+ 209+ 177210-- GAMES
178211
179212
@@ -183,7 +216,7 @@ gamesIndex model =
183216 div [] []
184217
185218 else
186- div [ class " games-index" ]
219+ div [ class " games-index container " ]
187220 [ h2 [] [ text " Games" ]
188221 , gamesList model. gamesList
189222 ]
@@ -196,9 +229,16 @@ gamesList games =
196229
197230gamesListItem : Game -> Html msg
198231gamesListItem game =
199- li [ class " game-item" ]
200- [ strong [] [ text game. title ]
201- , p [] [ text game. description ]
232+ a [ href " #" ]
233+ [ li [ class " game-item" ]
234+ [ div [ class " game-image" ]
235+ [ img [ src game. thumbnail ] []
236+ ]
237+ , div [ class " game-info" ]
238+ [ h3 [] [ text game. title ]
239+ , p [] [ text game. description ]
240+ ]
241+ ]
202242 ]
203243
204244
@@ -212,7 +252,7 @@ playersIndex model =
212252 div [] []
213253
214254 else
215- div [ class " players-index" ]
255+ div [ class " players-index container " ]
216256 [ h2 [] [ text " Players" ]
217257 , model. playersList
218258 |> playersSortedByScore
@@ -234,12 +274,17 @@ playersList players =
234274
235275playersListItem : Player -> Html msg
236276playersListItem player =
277+ let
278+ playerLink name =
279+ a [ href ( " players/" ++ String . fromInt player. id) ]
280+ [ strong [ class " player-name" ] [ text name ] ]
281+ in
237282 li [ class " player-item" ]
238- [ case player. displayName of
283+ [ p [ class " player-score" ] [ text ( String . fromInt player. score) ]
284+ , case player. displayName of
239285 Just displayName ->
240- strong [] [ text displayName]
286+ playerLink displayName
241287
242288 Nothing ->
243- strong [] [ text player. username ]
244- , p [] [ text ( String . fromInt player. score) ]
289+ playerLink player. username
245290 ]
0 commit comments