From 70307aad9e1e1711053b1d28a72199d91cc3ff65 Mon Sep 17 00:00:00 2001 From: 3wc <3wc@doesthisthing.work> Date: Mon, 27 Mar 2023 11:51:30 -0400 Subject: [PATCH 1/2] Attempt at parsing "version" from JSON --- src/Pages/App_String.elm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Pages/App_String.elm b/src/Pages/App_String.elm index 4756b95..922ea52 100644 --- a/src/Pages/App_String.elm +++ b/src/Pages/App_String.elm @@ -37,7 +37,7 @@ type alias App = { name : String , category : String , repository : Maybe String - , versions : Maybe (List String) + , versions : List String , icon : Maybe String , status : Int , slug : String @@ -316,13 +316,24 @@ featuresDecoder = ] +versionsDecoder = + Decode.keyValuePairs Decode.value + |> Decode.map buildVersions + + +buildVersions : List ( String, Decode.Value ) -> List String +buildVersions versions = + List.map (\( version, _ ) -> version) versions + + appDecoder : Decode.Decoder App appDecoder = Decode.succeed App |> andMap (Decode.field "name" Decode.string) |> andMap (Decode.field "category" Decode.string) |> andMap (Decode.maybe (Decode.field "repository" Decode.string)) - |> andMap (Decode.succeed Nothing) + |> andMap (Decode.at [ "versions" ] versionsDecoder) + -- |> andMap (Decode.succeed Nothing) |> andMap (Decode.maybe (Decode.field "icon" Decode.string)) |> andMap (Decode.at [ "features" ] featuresDecoder) |> andMap (Decode.succeed "") From 57b4db9bb2a7d6865b3104148d87fb835b885c18 Mon Sep 17 00:00:00 2001 From: 3wc <3wc@doesthisthing.work> Date: Tue, 28 Mar 2023 00:15:35 -0400 Subject: [PATCH 2/2] Add preliminary list of recipe versions --- src/Pages/App_String.elm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Pages/App_String.elm b/src/Pages/App_String.elm index 922ea52..4fd9870 100644 --- a/src/Pages/App_String.elm +++ b/src/Pages/App_String.elm @@ -271,7 +271,10 @@ viewApp app readme = [ div [] (Markdown.toHtml Nothing readme) ] , div [ class "card-footer" ] - [] + [ h5 [] [ text "Versions" ] + , ul [] ( + List.map (\version -> li [] [ text (version) ]) app.versions + )] ] ] @@ -316,14 +319,18 @@ featuresDecoder = ] + + +versionsDecoder : Decode.Decoder (List String) versionsDecoder = - Decode.keyValuePairs Decode.value - |> Decode.map buildVersions + Decode.list (Decode.keyValuePairs Decode.value) + |> Decode.map buildVersions -buildVersions : List ( String, Decode.Value ) -> List String +buildVersions : List (List ( String, Decode.Value )) -> List String buildVersions versions = - List.map (\( version, _ ) -> version) versions + List.concatMap (List.map (\( version, _ ) -> version)) versions + appDecoder : Decode.Decoder App