philomena/lib/philomena_web/templates/image/index.html.slime
2024-06-06 22:28:35 +02:00

55 lines
1.9 KiB
Text

elixir:
header = assigns[:header] || ""
params = assigns[:params] || assigns[:scope] || []
scope = assigns[:scope] || []
tags = assigns[:tags] || []
route = assigns[:route] || fn p -> ~p"/images?#{p}" end
image_url = fn image -> ~p"/images/#{image}?#{scope}" end
sorted_url = fn image, hit -> ~p"/images/#{image}?#{Keyword.put(scope, :sort, hit["sort"])}" end
pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @images, route: route, params: params
info = render PhilomenaWeb.PaginationView, "_pagination_info.html", page: @images
.block.block--borderless#imagelist-container
= if header != "" do
.block__header.page__header
=> header
.block.block--borderless.flex__row.flex--spaced-out.flex--wrap
= if @images.total_pages > 1 do
.button__group--standalone
.page__pagination = pagination
- else
div
.flex__row
.button__group--standalone
= random_button @conn, params
= hidden_toggle @conn, route, params
= deleted_toggle @conn, route, params
= if can?(@conn, :batch_update, Tag) do
.button__group--standalone.button__group--warning
= quick_tag @conn
= info_row @conn, tags
.media-list
= for record <- @images do
= case record do
- {image, hit} ->
= render PhilomenaWeb.ImageView, "_image_box.html", image: image, link: sorted_url.(image, hit), size: assigns[:size] || :thumb, conn: @conn
- image ->
= render PhilomenaWeb.ImageView, "_image_box.html", image: image, link: image_url.(image), size: assigns[:size] || :thumb, conn: @conn
br
.block.block--borderless.flex__row.flex--normal-gap.flex--wrap
.button__group--standalone
.page__pagination = pagination
.page__info.button__group--standalone
a href="/settings/edit" title="Display Settings"
i.fa.fa-cog
span.hidden--mobile<>
' Display Settings
span.page__info
= info