Add finished/

This commit is contained in:
Richard Feldman
2018-05-01 21:49:22 -04:00
parent 975a010c1f
commit f17c09108d
575 changed files with 79140 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
module Data.UserPhoto exposing (UserPhoto, decoder, encode, src, toMaybeString)
import Html exposing (Attribute)
import Html.Attributes
import Json.Decode as Decode exposing (Decoder)
import Json.Encode as Encode exposing (Value)
import Json.Encode.Extra as EncodeExtra
type UserPhoto
= UserPhoto (Maybe String)
src : UserPhoto -> Attribute msg
src =
photoToUrl >> Html.Attributes.src
decoder : Decoder UserPhoto
decoder =
Decode.map UserPhoto (Decode.nullable Decode.string)
encode : UserPhoto -> Value
encode (UserPhoto maybeUrl) =
EncodeExtra.maybe Encode.string maybeUrl
toMaybeString : UserPhoto -> Maybe String
toMaybeString (UserPhoto maybeUrl) =
maybeUrl
-- INTERNAL --
photoToUrl : UserPhoto -> String
photoToUrl (UserPhoto maybeUrl) =
case maybeUrl of
Nothing ->
defaultPhotoUrl
Just "" ->
defaultPhotoUrl
Just url ->
url
defaultPhotoUrl : String
defaultPhotoUrl =
"https://static.productionready.io/images/smiley-cyrus.jpg"