@@ -43,6 +43,7 @@ import Html.Events
43
43
import Http exposing (Body )
44
44
import Json.Decode
45
45
import Json.Decode.Pipeline
46
+ import List.Extra
46
47
import Route exposing (SearchType )
47
48
import Search
48
49
exposing
@@ -266,15 +267,14 @@ viewResultItem nixosChannels channel _ show item =
266
267
case ( item. source. flake, item. source. flakeUrl ) of
267
268
-- its a flake
268
269
( Just ( flake :: [] ) , Just url ) ->
269
- Just
270
- [ li [] [ mkLink flake url ]
271
- ]
270
+ [ li [] [ mkLink flake url ]
271
+ ]
272
272
273
273
( Just ( flake :: moduleName :: [] ) , Just url ) ->
274
- Just [ li [] [ mkLink flake url, text " #" , text moduleName ] ]
274
+ [ li [] [ mkLink flake url, text " #" , text moduleName ] ]
275
275
276
276
_ ->
277
- Nothing
277
+ []
278
278
in
279
279
li
280
280
[ class " option"
@@ -286,7 +286,7 @@ viewResultItem nixosChannels channel _ show item =
286
286
[ Just <|
287
287
ul [ class " search-result-button" ]
288
288
( List . append
289
- ( flakeOrNixpkgs |> Maybe . withDefault [] )
289
+ flakeOrNixpkgs
290
290
[ li []
291
291
[ a
292
292
[ onClick toggle
@@ -318,7 +318,7 @@ findSource nixosChannels channel source =
318
318
value
319
319
320
320
asGithubLink value =
321
- case List . head ( List . filter ( \ x -> x. id == channel) nixosChannels) of
321
+ case List . Extra . find ( \ x -> x. id == channel) nixosChannels of
322
322
Just channelDetails ->
323
323
a
324
324
[ href <| githubUrlPrefix channelDetails. branch ++ ( value |> String . replace " :" " #L" )
@@ -328,33 +328,36 @@ findSource nixosChannels channel source =
328
328
329
329
Nothing ->
330
330
text <| cleanPosition value
331
-
332
- sourceFile =
333
- Maybe . map asGithubLink source. source
334
-
335
- flakeOrNixpkgs : Maybe ( List ( Html a))
336
- flakeOrNixpkgs =
337
- case ( source. flake, source. flakeUrl ) of
338
- -- its a flake
339
- ( Just ( name :: attrs) , Just flakeUrl_ ) ->
340
- let
341
- module_ =
342
- Maybe . withDefault " (default)" <| Maybe . map ( \ m -> " (Module: " ++ m ++ " )" ) <| List . head attrs
343
- in
344
- Just <|
345
- List . append
346
- ( Maybe . withDefault [] <| Maybe . map ( \ sourceFile_ -> [ sourceFile_, span [] [ text " in " ] ] ) sourceFile)
347
- [ span [] [ text " Flake: " ]
348
- , a [ href flakeUrl_ ] [ text <| name ++ module_ ]
331
+ in
332
+ case ( source. flake, source. flakeUrl, source. source ) of
333
+ -- its a flake
334
+ ( Just ( name :: attrs) , Just flakeUrl_, _ ) ->
335
+ let
336
+ module_ : String
337
+ module_ =
338
+ List . head attrs
339
+ |> Maybe . map ( \ m -> " (Module: " ++ m ++ " )" )
340
+ |> Maybe . withDefault " (default)"
341
+ in
342
+ List . append
343
+ ( source. source
344
+ |> Maybe . map
345
+ ( \ source_ ->
346
+ [ asGithubLink source_
347
+ , span [] [ text " in " ]
349
348
]
349
+ )
350
+ |> Maybe . withDefault []
351
+ )
352
+ [ span [] [ text " Flake: " ]
353
+ , a [ href flakeUrl_ ] [ text <| name ++ module_ ]
354
+ ]
350
355
351
- ( Nothing , _ ) ->
352
- Maybe . map ( \ l -> [ l ] ) sourceFile
356
+ ( Nothing , _, Just source_ ) ->
357
+ [ asGithubLink source_ ]
353
358
354
- _ ->
355
- Nothing
356
- in
357
- Maybe . withDefault [ span [] [ text " Not Found" ] ] flakeOrNixpkgs
359
+ _ ->
360
+ [ span [] [ text " Not Found" ] ]
358
361
359
362
360
363
0 commit comments