elixir:
  header = assigns[:header] || ""
  params = assigns[:params] || assigns[:scope] || []
  scope = assigns[:scope] || []
  tags = assigns[:tags] || []
  route = assigns[:route] || fn p -> Routes.image_path(@conn, :index, p) end
  image_url = fn image -> Routes.image_path(@conn, :show, image, scope) end
  sorted_url = fn image, hit -> Routes.image_path(@conn, :show, 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#imagelist-container
  section.block__header.page__header.flex
    span.block__header__title.page__title.hide-mobile
      => header

    .page__pagination = pagination

    .flex__right.page__info
      = random_button @conn, params
      = hidden_toggle @conn, route, params
      = deleted_toggle @conn, route, params
      = quick_tag @conn

  = info_row @conn, tags

  .block__content.js-resizable-media-container
    = 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

  .block__header.block__header--light.page__header.flex
    .page__pagination = pagination

    span.block__header__title.page__info
      = info

    .flex__right.page__options
      a href="/settings/edit" title="Display Settings"
        i.fa.fa-cog
        span.hide-mobile.hide-limited-desktop<>
          ' Display Settings