2017-05-02 02:27:01 -04:00
|
|
|
|
module View.Viewer exposing (viewerView)
|
|
|
|
|
|
|
|
|
|
import Html exposing (..)
|
|
|
|
|
import Html.Attributes exposing (..)
|
|
|
|
|
import Types exposing (..)
|
2017-07-13 11:34:00 -04:00
|
|
|
|
import Update.Viewer exposing (getPrevNext)
|
2017-05-02 02:27:01 -04:00
|
|
|
|
import View.Events exposing (..)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
viewerView : Viewer -> Html Msg
|
2017-07-13 11:34:00 -04:00
|
|
|
|
viewerView ({ attachments, attachment } as viewer) =
|
2017-05-02 02:27:01 -04:00
|
|
|
|
let
|
|
|
|
|
( prev, next ) =
|
2017-07-13 11:34:00 -04:00
|
|
|
|
getPrevNext viewer
|
2017-05-02 02:27:01 -04:00
|
|
|
|
|
2017-07-13 11:34:00 -04:00
|
|
|
|
navLink label className target event =
|
2017-05-02 02:27:01 -04:00
|
|
|
|
case target of
|
|
|
|
|
Nothing ->
|
|
|
|
|
text ""
|
|
|
|
|
|
|
|
|
|
Just target ->
|
|
|
|
|
a
|
|
|
|
|
[ href ""
|
|
|
|
|
, class className
|
2017-07-13 11:34:00 -04:00
|
|
|
|
, onClickWithPreventAndStop event
|
2017-05-02 02:27:01 -04:00
|
|
|
|
]
|
|
|
|
|
[ text label ]
|
|
|
|
|
in
|
|
|
|
|
div
|
|
|
|
|
[ class "viewer"
|
|
|
|
|
, tabindex -1
|
|
|
|
|
, onClickWithPreventAndStop <| ViewerEvent CloseViewer
|
|
|
|
|
]
|
|
|
|
|
[ span [ class "close" ] [ text "×" ]
|
2017-07-13 11:34:00 -04:00
|
|
|
|
, navLink "❮" "prev" prev <| ViewerEvent NextAttachment
|
2017-05-02 02:27:01 -04:00
|
|
|
|
, case attachment.type_ of
|
|
|
|
|
"image" ->
|
|
|
|
|
img [ class "viewer-content", src attachment.url ] []
|
|
|
|
|
|
2021-03-06 22:31:09 -05:00
|
|
|
|
"audio" ->
|
|
|
|
|
audio
|
|
|
|
|
[ class "viewer-content"
|
|
|
|
|
, controls True
|
|
|
|
|
]
|
|
|
|
|
[ source [ src attachment.url ] [] ]
|
|
|
|
|
|
2017-05-02 02:27:01 -04:00
|
|
|
|
_ ->
|
|
|
|
|
video
|
|
|
|
|
[ class "viewer-content"
|
|
|
|
|
, preload "auto"
|
|
|
|
|
, autoplay True
|
|
|
|
|
, loop True
|
2021-03-06 22:31:09 -05:00
|
|
|
|
, controls True
|
2017-05-02 02:27:01 -04:00
|
|
|
|
]
|
|
|
|
|
[ source [ src attachment.url ] [] ]
|
2017-07-13 11:34:00 -04:00
|
|
|
|
, navLink "❯" "next" next <| ViewerEvent NextAttachment
|
2017-05-02 02:27:01 -04:00
|
|
|
|
]
|