You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.0 KiB
56 lines
2.0 KiB
{{define "upload_results_pagination"}}
|
|
<div class="upload-results-container">
|
|
<div class="upload-results-header">
|
|
<h3>Upload Results</h3>
|
|
{{template "upload_stats" .}}
|
|
</div>
|
|
|
|
{{if gt .TotalSuccess 0}}
|
|
<p>Successfully uploaded {{.TotalSuccess}} document(s) to ServiceTrade in {{formatDuration .TotalTime}}!</p>
|
|
{{end}}
|
|
{{if gt .TotalFailure 0}}
|
|
<p class="text-warning">Failed to upload {{.TotalFailure}} document(s). See details below.</p>
|
|
{{end}}
|
|
|
|
<div class="upload-results-grid">
|
|
{{range .Results}}
|
|
{{template "upload_result_card" .}}
|
|
{{end}}
|
|
</div>
|
|
|
|
{{if gt .TotalPages 1}}
|
|
<div class="pagination-controls">
|
|
<div class="pagination-info">
|
|
Showing {{.StartIndex}}-{{.EndIndex}} of {{.TotalResults}} results
|
|
</div>
|
|
|
|
<div class="pagination-buttons">
|
|
{{if gt .CurrentPage 1}}
|
|
<button
|
|
hx-get="/documents/upload/results?page={{subtract .CurrentPage 1}}&limit={{.Limit}}&session_id={{.SessionID}}&filter={{.Filter}}"
|
|
hx-target="#upload-results" hx-indicator="false" class="pagination-btn">
|
|
← Previous
|
|
</button>
|
|
{{end}}
|
|
|
|
{{range $i := sequence .StartPage .EndPage}}
|
|
<button
|
|
hx-get="/documents/upload/results?page={{$i}}&limit={{$.Limit}}&session_id={{$.SessionID}}&filter={{$.Filter}}"
|
|
hx-target="#upload-results" hx-indicator="false"
|
|
class="pagination-btn {{if eq $i $.CurrentPage}}active{{end}}">
|
|
{{$i}}
|
|
</button>
|
|
{{end}}
|
|
|
|
{{if lt .CurrentPage .TotalPages}}
|
|
<button
|
|
hx-get="/documents/upload/results?page={{add .CurrentPage 1}}&limit={{.Limit}}&session_id={{.SessionID}}&filter={{.Filter}}"
|
|
hx-target="#upload-results" hx-indicator="false" class="pagination-btn">
|
|
Next →
|
|
</button>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|