diff options
Diffstat (limited to 'elm/Discussions/PostEdit.elm')
-rw-r--r-- | elm/Discussions/PostEdit.elm | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/elm/Discussions/PostEdit.elm b/elm/Discussions/PostEdit.elm index 0eb787d2..00b833ba 100644 --- a/elm/Discussions/PostEdit.elm +++ b/elm/Discussions/PostEdit.elm @@ -25,7 +25,7 @@ type alias Model = , id : String , num : Int , can_mod : Bool - , hidden : Bool + , hidden : Maybe String , nolastmod : Bool , delete : Bool , msg : TP.Model @@ -56,7 +56,7 @@ encode m = type Msg - = Hidden Bool + = Hidden (Maybe String) | Nolastmod Bool | Delete Bool | Content TP.Msg @@ -67,9 +67,9 @@ type Msg update : Msg -> Model -> (Model, Cmd Msg) update msg model = case msg of - Hidden b -> ({ model | hidden = b }, Cmd.none) - Nolastmod b -> ({ model | nolastmod=b }, Cmd.none) - Delete b -> ({ model | delete = b }, Cmd.none) + Hidden s -> ({ model | hidden = s }, Cmd.none) + Nolastmod b -> ({ model | nolastmod = b }, Cmd.none) + Delete b -> ({ model | delete = b }, Cmd.none) Content m -> let (nm,nc) = TP.update m model.msg in ({ model | msg = nm }, Cmd.map Content nc) Submit -> ({ model | state = Api.Loading }, GPE.send (encode model) Submitted) @@ -79,13 +79,18 @@ update msg model = view : Model -> Html Msg view model = - form_ Submit (model.state == Api.Loading) - [ div [ class "mainbox" ] + form_ "" Submit (model.state == Api.Loading) + [ article [] [ h1 [] [ text "Edit post" ] , table [ class "formtable" ] <| [ formField "Post" [ a [ href <| "/" ++ model.id ++ "." ++ String.fromInt model.num ] [ text <| "#" ++ String.fromInt model.num ++ " on " ++ model.id ] ] , if model.can_mod - then formField "" [ label [] [ inputCheck "" model.hidden Hidden, text " Hidden" ] ] + then formField "" + [ label [] [ inputCheck "" (model.hidden /= Nothing) (\b -> Hidden (if b then Just "" else Nothing)), text " Hidden" ] + , Maybe.withDefault (text "") <| Maybe.map (\msg -> + span [] [ br [] [], inputText "" msg (Just >> Hidden) [placeholder "(Optional) reason for deletion", style "width" "500px"] ] + ) model.hidden + ] else text "" , if model.can_mod then formField "" [ label [] [ inputCheck "" model.nolastmod Nolastmod, text " Don't update last modification timestamp" ] ] @@ -93,8 +98,8 @@ view model = , tr [ class "newpart" ] [ td [ colspan 2 ] [ text "" ] ] , formField "msg::Message" [ TP.view "msg" model.msg Content 700 ([rows 12, cols 50] ++ GPE.valMsg) - [ b [ class "standout" ] [ text " (English please!) " ] - , a [ href "/d9#3" ] [ text "Formatting" ] + [ b [] [ text " (English please!) " ] + , a [ href "/d9#4" ] [ text "Formatting" ] ] ] ] @@ -103,6 +108,5 @@ view model = , formField "" [ inputCheck "" model.delete Delete, text " Permanently delete this post. This action can not be reverted, only do this with obvious spam!" ] ]) ] - , div [ class "mainbox" ] - [ fieldset [ class "submit" ] [ submitButton "Submit" model.state True ] ] + , article [ class "submit" ] [ submitButton "Submit" model.state True ] ] |