Extract tag dropdown into a separate component

This commit is contained in:
eikek
2022-01-15 13:26:32 +01:00
parent 829fb2af87
commit ab2b18e192
16 changed files with 335 additions and 157 deletions

View File

@ -89,6 +89,7 @@ module Api exposing
, getSources
, getTagCloud
, getTags
, getTagsIgnoreError
, getUsers
, initOtp
, itemBasePreviewURL
@ -1280,20 +1281,35 @@ getContacts flags kind q receive =
--- Tags
getTags : Flags -> String -> TagOrder -> (Result Http.Error TagList -> msg) -> Cmd msg
getTags flags query order receive =
Http2.authGet
getTagsTask : Flags -> String -> TagOrder -> Task.Task Http.Error TagList
getTagsTask flags query order =
Http2.authTask
{ url =
flags.config.baseUrl
++ "/api/v1/sec/tag?sort="
++ Data.TagOrder.asString order
++ "&q="
++ Url.percentEncode query
, method = "GET"
, headers = []
, account = getAccount flags
, expect = Http.expectJson receive Api.Model.TagList.decoder
, body = Http.emptyBody
, resolver = Http2.jsonResolver Api.Model.TagList.decoder
, timeout = Nothing
}
getTags : Flags -> String -> TagOrder -> (Result Http.Error TagList -> msg) -> Cmd msg
getTags flags query order receive =
getTagsTask flags query order |> Task.attempt receive
getTagsIgnoreError : Flags -> String -> TagOrder -> (TagList -> msg) -> Cmd msg
getTagsIgnoreError flags query order tagger =
getTagsTask flags query order
|> Task.attempt (Result.map tagger >> Result.withDefault (tagger Api.Model.TagList.empty))
postTag : Flags -> Tag -> (Result Http.Error BasicResult -> msg) -> Cmd msg
postTag flags tag receive =
let