Handle post visibility. (#14)
This commit is contained in:
parent
126f3318ee
commit
9b1520ffbc
@ -17,6 +17,7 @@ type DraftMsg
|
|||||||
| UpdateSensitive Bool
|
| UpdateSensitive Bool
|
||||||
| UpdateSpoiler String
|
| UpdateSpoiler String
|
||||||
| UpdateStatus String
|
| UpdateStatus String
|
||||||
|
| UpdateVisibility String
|
||||||
|
|
||||||
|
|
||||||
type Msg
|
type Msg
|
||||||
@ -189,6 +190,9 @@ updateDraft draftMsg draft =
|
|||||||
UpdateStatus status ->
|
UpdateStatus status ->
|
||||||
{ draft | status = status }
|
{ draft | status = status }
|
||||||
|
|
||||||
|
UpdateVisibility visibility ->
|
||||||
|
{ draft | visibility = visibility }
|
||||||
|
|
||||||
|
|
||||||
update : Msg -> Model -> ( Model, Cmd Msg )
|
update : Msg -> Model -> ( Model, Cmd Msg )
|
||||||
update msg model =
|
update msg model =
|
||||||
|
37
src/View.elm
37
src/View.elm
@ -1,5 +1,6 @@
|
|||||||
module View exposing (view)
|
module View exposing (view)
|
||||||
|
|
||||||
|
import Dict
|
||||||
import Html exposing (..)
|
import Html exposing (..)
|
||||||
import Html.Attributes exposing (..)
|
import Html.Attributes exposing (..)
|
||||||
import Html.Events exposing (..)
|
import Html.Events exposing (..)
|
||||||
@ -9,6 +10,16 @@ import Mastodon
|
|||||||
import Model exposing (Model, DraftMsg(..), Msg(..))
|
import Model exposing (Model, DraftMsg(..), Msg(..))
|
||||||
|
|
||||||
|
|
||||||
|
visibilities : Dict.Dict String String
|
||||||
|
visibilities =
|
||||||
|
Dict.fromList
|
||||||
|
[ ( "public", "post to public timelines" )
|
||||||
|
, ( "unlisted", "do not show in public timelines" )
|
||||||
|
, ( "private", "post to followers only" )
|
||||||
|
, ( "direct", "post to mentioned users only" )
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
replace : String -> String -> String -> String
|
replace : String -> String -> String -> String
|
||||||
replace from to str =
|
replace from to str =
|
||||||
String.split from str |> String.join to
|
String.split from str |> String.join to
|
||||||
@ -101,6 +112,10 @@ draftView { draft } =
|
|||||||
|
|
||||||
Just _ ->
|
Just _ ->
|
||||||
True
|
True
|
||||||
|
|
||||||
|
visibilityOptionView ( visibility, description ) =
|
||||||
|
option [ value visibility ]
|
||||||
|
[ text <| visibility ++ ": " ++ description ]
|
||||||
in
|
in
|
||||||
div [ class "col-md-3" ]
|
div [ class "col-md-3" ]
|
||||||
[ div [ class "panel panel-default" ]
|
[ div [ class "panel panel-default" ]
|
||||||
@ -148,7 +163,7 @@ draftView { draft } =
|
|||||||
, rows 8
|
, rows 8
|
||||||
, placeholder <|
|
, placeholder <|
|
||||||
if hasSpoiler then
|
if hasSpoiler then
|
||||||
"This text with be hidden by default, as you have enabled a spoiler."
|
"This text will be hidden by default, as you have enabled a spoiler."
|
||||||
else
|
else
|
||||||
"Once upon a time..."
|
"Once upon a time..."
|
||||||
, onInput <| DraftEvent << UpdateStatus
|
, onInput <| DraftEvent << UpdateStatus
|
||||||
@ -157,6 +172,19 @@ draftView { draft } =
|
|||||||
]
|
]
|
||||||
[]
|
[]
|
||||||
]
|
]
|
||||||
|
, div [ class "form-group" ]
|
||||||
|
[ label [ for "visibility" ] [ text "Visibility" ]
|
||||||
|
, select
|
||||||
|
[ id "visibility"
|
||||||
|
, class "form-control"
|
||||||
|
, onInput <| DraftEvent << UpdateVisibility
|
||||||
|
, required True
|
||||||
|
, value draft.visibility
|
||||||
|
]
|
||||||
|
<|
|
||||||
|
List.map visibilityOptionView <|
|
||||||
|
Dict.toList visibilities
|
||||||
|
]
|
||||||
, div [ class "form-group checkbox" ]
|
, div [ class "form-group checkbox" ]
|
||||||
[ label []
|
[ label []
|
||||||
[ input
|
[ input
|
||||||
@ -165,7 +193,7 @@ draftView { draft } =
|
|||||||
, checked draft.sensitive
|
, checked draft.sensitive
|
||||||
]
|
]
|
||||||
[]
|
[]
|
||||||
, text " NSFW"
|
, text " This post is NSFW"
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, p [ class "text-right" ]
|
, p [ class "text-right" ]
|
||||||
@ -209,7 +237,10 @@ authView model =
|
|||||||
]
|
]
|
||||||
[]
|
[]
|
||||||
, p [ class "help-block" ]
|
, p [ class "help-block" ]
|
||||||
[ text "You'll be redirected to that server to authenticate yourself. We don't have access to your password." ]
|
[ text <|
|
||||||
|
"You'll be redirected to that server to authenticate yourself. "
|
||||||
|
++ "We don't have access to your password."
|
||||||
|
]
|
||||||
]
|
]
|
||||||
, button [ class "btn btn-primary", type_ "submit" ]
|
, button [ class "btn btn-primary", type_ "submit" ]
|
||||||
[ text "Sign into Tooty" ]
|
[ text "Sign into Tooty" ]
|
||||||
|
Loading…
Reference in New Issue
Block a user