mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 09:37:02 +00:00
ui: Replace Mailbox Session use with ServeUrl (#185)
Plus a couple UI padding tweaks
This commit is contained in:
@@ -103,6 +103,10 @@ type alias Model =
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
type alias ServeUrl =
|
||||||
|
List String -> String
|
||||||
|
|
||||||
|
|
||||||
init : Session -> String -> Maybe MessageID -> ( Model, Effect Msg )
|
init : Session -> String -> Maybe MessageID -> ( Model, Effect Msg )
|
||||||
init session mailboxName selection =
|
init session mailboxName selection =
|
||||||
( { session = session
|
( { session = session
|
||||||
@@ -230,9 +234,7 @@ update msg model =
|
|||||||
( { model | bodyMode = bodyMode }, Effect.none )
|
( { model | bodyMode = bodyMode }, Effect.none )
|
||||||
|
|
||||||
ModalFocused message ->
|
ModalFocused message ->
|
||||||
( { model | session = Modal.updateSession message model.session }
|
( model, Effect.focusModalResult message )
|
||||||
, Effect.none
|
|
||||||
)
|
|
||||||
|
|
||||||
OnSearchInput searchInput ->
|
OnSearchInput searchInput ->
|
||||||
updateSearchInput model searchInput
|
updateSearchInput model searchInput
|
||||||
@@ -452,6 +454,10 @@ updateOpenMessage model id =
|
|||||||
view : Model -> { title : String, modal : Maybe (Html Msg), content : List (Html Msg) }
|
view : Model -> { title : String, modal : Maybe (Html Msg), content : List (Html Msg) }
|
||||||
view model =
|
view model =
|
||||||
let
|
let
|
||||||
|
serveUrl : ServeUrl
|
||||||
|
serveUrl =
|
||||||
|
Api.serveUrl model.session
|
||||||
|
|
||||||
mode =
|
mode =
|
||||||
case model.state of
|
case model.state of
|
||||||
ShowingList _ (ShowingMessage _) ->
|
ShowingList _ (ShowingMessage _) ->
|
||||||
@@ -476,10 +482,10 @@ view model =
|
|||||||
)
|
)
|
||||||
|
|
||||||
ShowingList _ (ShowingMessage message) ->
|
ShowingList _ (ShowingMessage message) ->
|
||||||
viewMessage model.session model.session.zone message model.bodyMode
|
viewMessage serveUrl model.session.zone message model.bodyMode
|
||||||
|
|
||||||
ShowingList _ (Transitioning message) ->
|
ShowingList _ (Transitioning message) ->
|
||||||
viewMessage model.session model.session.zone message model.bodyMode
|
viewMessage serveUrl model.session.zone message model.bodyMode
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
text ""
|
text ""
|
||||||
@@ -584,14 +590,14 @@ messageChip model selected message =
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
viewMessage : Session -> Time.Zone -> Message -> Body -> Html Msg
|
viewMessage : ServeUrl -> Time.Zone -> Message -> Body -> Html Msg
|
||||||
viewMessage session zone message bodyMode =
|
viewMessage serveUrl zone message bodyMode =
|
||||||
let
|
let
|
||||||
htmlUrl =
|
htmlUrl =
|
||||||
Api.serveUrl session [ "mailbox", message.mailbox, message.id, "html" ]
|
serveUrl [ "mailbox", message.mailbox, message.id, "html" ]
|
||||||
|
|
||||||
sourceUrl =
|
sourceUrl =
|
||||||
Api.serveUrl session [ "mailbox", message.mailbox, message.id, "source" ]
|
serveUrl [ "mailbox", message.mailbox, message.id, "source" ]
|
||||||
|
|
||||||
htmlButton =
|
htmlButton =
|
||||||
if message.html == "" then
|
if message.html == "" then
|
||||||
@@ -622,7 +628,7 @@ viewMessage session zone message bodyMode =
|
|||||||
]
|
]
|
||||||
, messageErrors message
|
, messageErrors message
|
||||||
, messageBody message bodyMode
|
, messageBody message bodyMode
|
||||||
, attachments session message
|
, attachments serveUrl message
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@@ -685,20 +691,22 @@ messageBody message bodyMode =
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
attachments : Session -> Message -> Html Msg
|
attachments : ServeUrl -> Message -> Html Msg
|
||||||
attachments session message =
|
attachments serveUrl message =
|
||||||
if List.isEmpty message.attachments then
|
if List.isEmpty message.attachments then
|
||||||
div [] []
|
text ""
|
||||||
|
|
||||||
else
|
else
|
||||||
table [ class "attachments well" ] (List.map (attachmentRow session message) message.attachments)
|
message.attachments
|
||||||
|
|> List.map (attachmentRow serveUrl message)
|
||||||
|
|> table [ class "attachments well" ]
|
||||||
|
|
||||||
|
|
||||||
attachmentRow : Session -> Message -> Message.Attachment -> Html Msg
|
attachmentRow : ServeUrl -> Message -> Message.Attachment -> Html Msg
|
||||||
attachmentRow session message attach =
|
attachmentRow serveUrl message attach =
|
||||||
let
|
let
|
||||||
url =
|
url =
|
||||||
Api.serveUrl session
|
serveUrl
|
||||||
[ "mailbox"
|
[ "mailbox"
|
||||||
, message.mailbox
|
, message.mailbox
|
||||||
, message.id
|
, message.id
|
||||||
|
|||||||
@@ -413,7 +413,7 @@ viewMetric metric =
|
|||||||
, div [ class "value" ] [ text (metric.formatter metric.value) ]
|
, div [ class "value" ] [ text (metric.formatter metric.value) ]
|
||||||
, div [ class "graph" ]
|
, div [ class "graph" ]
|
||||||
[ metric.graph metric.history
|
[ metric.graph metric.history
|
||||||
, text ("(" ++ String.fromInt metric.minutes ++ "min)")
|
, text (" (" ++ String.fromInt metric.minutes ++ "min)")
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ a.button {
|
|||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
margin: 4px;
|
margin: 4px;
|
||||||
padding: 3px 8px;
|
padding: 3px 8px 4px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
text-shadow: 0 -1px 0 rgba(0,0,0,0.2);
|
text-shadow: 0 -1px 0 rgba(0,0,0,0.2);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user