summaryrefslogtreecommitdiff
path: root/elm/Discussions/PostEdit.elm
diff options
context:
space:
mode:
Diffstat (limited to 'elm/Discussions/PostEdit.elm')
-rw-r--r--elm/Discussions/PostEdit.elm28
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 ]
]