1
0
mirror of https://github.com/jhillyerd/inbucket.git synced 2025-12-17 17:47:03 +00:00

ui: Replace Mailbox Session use with ServeUrl (#185)

Plus a couple UI padding tweaks
This commit is contained in:
James Hillyerd
2020-09-24 15:59:12 -07:00
committed by GitHub
parent ebd25a60e1
commit 9b03c311db
3 changed files with 27 additions and 19 deletions

View File

@@ -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

View File

@@ -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)")
] ]
] ]

View File

@@ -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);
} }