{{ define "title" -}}
    {{( pgettext "Invoices" "title" )}}
{{- end }}

{{ define "breadcrumbs" -}}
    {{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.InvoicesIndexPage*/ -}}
    <nav data-hx-target="main" data-hx-boost="true">
        <p>
            <a href="{{ companyURI "/" }}">{{( pgettext "Home" "title" )}}</a> /
            <a>{{( pgettext "Invoices" "title" )}}</a>
        </p>

        <form id="batch-form" action="{{ companyURI "/invoices/batch" }}" method="post">
            {{ csrfToken }}
            <p>
                <button type="submit"
                        name="action" value="download"
                >{{( pgettext "Download invoices" "action" )}}</button>
                <a class="primary button"
                   href="{{ companyURI "/invoices/new" }}">{{( pgettext "New invoice" "action" )}}</a>
            </p>
        </form>
    </nav>
{{- end }}

{{ define "content" }}
    {{- /*gotype: dev.tandem.ws/tandem/numerus/pkg.InvoicesIndexPage*/ -}}
    <div aria-label="{{( pgettext "Filters" "title" )}}">
        <form method="GET" action="{{ companyURI "/invoices"}}" data-hx-target="main" data-hx-boost="true"
              data-hx-trigger="change,search,submit">
            {{ with .Filters }}
                {{ template "select-field" .Customer }}
                {{ template "select-field" .InvoiceStatus }}
                {{ template "input-field" .FromDate }}
                {{ template "input-field" .ToDate }}
                {{ template "input-field" .InvoiceNumber }}
                {{ template "tags-field" .Tags | addTagsAttr (print `data-conditions="` .TagsCondition.Name  `-field"`) }}
                {{ template "toggle-field" .TagsCondition }}
            {{ end }}
            <button type="submit">{{( pgettext "Filter" "action" )}}</button>
        </form>
    </div>
    <table class="no-padding">
        <thead>
        <tr>
            <th>{{( pgettext "All" "invoice" )}}</th>
            <th>{{( pgettext "Date" "title" )}}</th>
            <th>{{( pgettext "Invoice Num." "title" )}}</th>
            <th>{{( pgettext "Customer" "title" )}}</th>
            <th>{{( pgettext "Status" "title" )}}</th>
            <th>{{( pgettext "Tags" "title" )}}</th>
            <th>{{( pgettext "Amount" "title" )}}</th>
            <th>{{( pgettext "Download" "title" )}}</th>
            <th>{{( pgettext "Actions" "title" )}}</th>
        </tr>
        </thead>
        <tbody>
        {{ with .Invoices }}
            {{- range $invoice := . }}
                <tr>
                    {{ $title := .Number | printf (pgettext "Select invoice %v" "action") }}
                    <td><input type="checkbox" form="batch-form"
                               name="invoice" value="{{ .Slug }}"
                               aria-label="{{ $title }}"
                               title="{{ $title }}"/></td>
                    <td>{{ .Date|formatDate }}</td>
                    <td><a href="{{ companyURI "/invoices/"}}{{ .Slug }}" data-hx-target="main"
                           data-hx-boost="true">{{ .Number }}</a></td>
                    <td>{{ .CustomerName }}</td>
                    <td>
                        <details class="invoice-status menu">
                            <summary class="invoice-status-{{ .Status }}">{{ .StatusLabel }}</summary>
                            <form action="{{companyURI "/invoices/"}}{{ .Slug }}" method="POST" data-hx-boost="true">
                                {{ csrfToken }}
                                {{ putMethod }}
                                <input type="hidden" name="quick" value="status">
                                <ul role="menu">
                                    {{- range $status, $name := $.InvoiceStatuses }}
                                        {{- if ne $status $invoice.Status }}
                                            <li role="presentation">
                                                <button role="menuitem" type="submit"
                                                        name="invoice_status" value="{{ $status }}"
                                                        class="invoice-status-{{ $status }}"
                                                >{{ $name }}</button>
                                            </li>
                                        {{- end }}
                                    {{- end }}
                                </ul>
                            </form>
                        </details>
                    </td>
                    <td data-hx-get="{{companyURI "/invoices/"}}{{ .Slug }}/tags/edit"
                        data-hx-target="this"
                        data-hx-swap="outerHTML"
                    >
                        {{- range $index, $tag := .Tags }}
                            {{- if gt $index 0 }}, {{ end -}}
                            {{ . }}
                        {{- end }}
                    </td>
                    <td class="numeric">{{ .Total|formatPrice }}</td>
                    <td class="invoice-download"><a href="{{ companyURI "/invoices/"}}{{ .Slug }}.pdf"
                                                    download="{{ .Number}}.pdf"
                                                    title="{{( pgettext "Download invoice" "action" )}}"
                                                    aria-label="{{( pgettext "Download invoice %s" "action" )}}"><i
                                    class="ri-download-line"></i></a></td>
                    <td class="actions">
                        <details class="menu">
                            <summary><i class="ri-more-line"></i></summary>
                            <ul role="menu" class="action-menu">
                                <li role="presentation">
                                    <a role="menuitem" href="{{ companyURI "/invoices"}}/{{ .Slug }}/edit"
                                       data-hx-target="main" data-hx-boost="true"
                                    >
                                        <i class="ri-edit-line"></i>
                                        {{( pgettext "Edit" "action" )}}
                                    </a>
                                </li>
                                <li role="presentation">
                                    <a role="menuitem" href="{{ companyURI "/invoices/new"}}?duplicate={{ .Slug }}"
                                       data-hx-target="main" data-hx-boost="true"
                                    >
                                        <i class="ri-file-copy-line"></i>
                                        {{( pgettext "Duplicate" "action" )}}
                                    </a>
                                </li>
                            </ul>
                        </details>
                    </td>
                </tr>
            {{- end }}
        {{ else }}
            <tr>
                <td colspan="9">{{( gettext "No invoices added yet." )}}</td>
            </tr>
        {{ end }}
        </tbody>
    </table>
{{- end }}
