Use attachment preview urls

This changes the preview urls to use the concrete attachment ids. This
way browsers have it easier to switch the preview image when the
attachment position is changed.
This commit is contained in:
Eike Kettner 2020-11-09 14:29:52 +01:00
parent 8c08bf233d
commit 67e8994aec
2 changed files with 16 additions and 3 deletions

View File

@ -144,6 +144,7 @@ import Api.Model.InviteResult exposing (InviteResult)
import Api.Model.ItemDetail exposing (ItemDetail)
import Api.Model.ItemFtsSearch exposing (ItemFtsSearch)
import Api.Model.ItemInsights exposing (ItemInsights)
import Api.Model.ItemLight exposing (ItemLight)
import Api.Model.ItemLightList exposing (ItemLightList)
import Api.Model.ItemProposals exposing (ItemProposals)
import Api.Model.ItemSearch exposing (ItemSearch)
@ -1503,8 +1504,20 @@ deleteAllItems flags ids receive =
--- Item
itemPreviewURL : String -> String
itemPreviewURL itemId =
itemPreviewURL : ItemLight -> String
itemPreviewURL item =
let
makeUrl a =
"/api/v1/sec/attachment/" ++ a.id ++ "/preview?withFallback=true"
in
List.sortBy .position item.attachments
|> List.head
|> Maybe.map makeUrl
|> Maybe.withDefault (itemBasePreviewURL item.id)
itemBasePreviewURL : String -> String
itemBasePreviewURL itemId =
"/api/v1/sec/item/" ++ itemId ++ "/preview?withFallback=true"

View File

@ -238,7 +238,7 @@ viewItem cfg settings item =
div [ class "image" ]
[ img
[ class "preview-image"
, src (Api.itemPreviewURL item.id)
, src (Api.itemPreviewURL item)
, Data.UiSettings.cardPreviewSize settings
]
[]