eikek 2ac0b84e52 Link shares to the user, not the collective
The user is required when searching because of folders (sadly), so the
share is connected to the user.
2021-10-24 01:41:18 +02:00

101 lines
2.5 KiB
Elm

{-
Copyright 2020 Eike K. & Contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-}
module Comp.ShareTable exposing
( Msg(..)
, SelectAction(..)
, update
, view
)
import Api.Model.ShareDetail exposing (ShareDetail)
import Comp.Basic as B
import Html exposing (..)
import Html.Attributes exposing (..)
import Messages.Comp.ShareTable exposing (Texts)
import Styles as S
import Util.Html
import Util.String
type Msg
= Select ShareDetail
type SelectAction
= Edit ShareDetail
update : Msg -> SelectAction
update msg =
case msg of
Select share ->
Edit share
--- View
view : Texts -> List ShareDetail -> Html Msg
view texts shares =
table [ class S.tableMain ]
[ thead []
[ tr []
[ th [ class "" ] []
, th [ class "text-left" ]
[ text texts.basics.id
]
, th [ class "text-left" ]
[ text texts.basics.name
]
, th [ class "text-center" ]
[ text texts.active
]
, th [ class "hidden sm:table-cell text-center" ]
[ text texts.user
]
, th [ class "hidden sm:table-cell text-center" ]
[ text texts.publishUntil
]
]
]
, tbody []
(List.map (renderShareLine texts) shares)
]
renderShareLine : Texts -> ShareDetail -> Html Msg
renderShareLine texts share =
tr
[ class S.tableRow
]
[ B.editLinkTableCell texts.basics.edit (Select share)
, td [ class "text-left py-4 md:py-2" ]
[ text (Util.String.ellipsis 8 share.id)
]
, td [ class "text-left py-4 md:py-2" ]
[ text (Maybe.withDefault "-" share.name)
]
, td [ class "w-px px-2 text-center" ]
[ if not share.enabled then
i [ class "fa fa-ban" ] []
else if share.expired then
i [ class "fa fa-bolt text-red-600 dark:text-orange-800" ] []
else
i [ class "fa fa-check" ] []
]
, td [ class "hidden sm:table-cell text-center" ]
[ text share.owner.name
]
, td [ class "hidden sm:table-cell text-center" ]
[ texts.formatDateTime share.publishUntil |> text
]
]