{% extends "list_view.html" %}
{% load i18n %}
{% comment %}
Overrides the outer `content` block, not page.header/page.content-wrapper:
those sit inside page_view.html's , a plain div that breaks
the flex chain a filled layout needs (specs/027-table-layout-and-column-styling/research.md R5).
{% endcomment %}
{% comment %}
page.actions skips {{ block.super }}: list_view.html's default includes
sort, which a table view's own action set must not (FR-007) — see
MVPTableViewMixin.actions.
{% endcomment %}
{% comment %}
The breadcrumb trail draws in the app header, not here, so page.header has
nothing of its own to draw — it stays declared for a project that filled it.
{% endcomment %}
{% comment %}
app.footer is emptied: the shell's footer belongs to a page that ends, and
this one does not — the table spends the whole viewport, so a footer under
it either steals rows or never comes into view.
{% endcomment %}
{% block app.footer %}{% endblock app.footer %}
{% block content %}
{% block page.content-wrapper %}
{% comment %}
gap="0" and padding on the bars, never the page: the table meets the
shell edges, so a gap or page padding would inset the scroll region.
{% endcomment %}
{% comment %}
Plain flex row, not : a toolbar's trailing slot falls
through to a context `actions` variable when unfilled, printing its
repr — a bare row keeps that trap shut regardless of page context.
{% endcomment %}