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.
73 lines
2.9 KiB
73 lines
2.9 KiB
{{define "upload_result_card"}}
|
|
<div id="upload-card-{{.JobID}}" class="upload-result-card" data-job-id="{{.JobID}}">
|
|
<div class="upload-header">
|
|
<h4>Job #{{.JobID}}</h4>
|
|
<div class="upload-status {{if .DisplaySuccess}}success{{else}}error{{end}}">
|
|
{{if .DisplaySuccess}}✓ Success{{else}}✗ Failed{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="upload-details">
|
|
<div class="upload-info">
|
|
<p><strong>Files Found:</strong> {{.FilesFound}}</p>
|
|
<p><strong>Files Uploaded:</strong> {{.FilesUploaded}}</p>
|
|
{{if .DisplaySuccess}}
|
|
<p class="success-text">Successfully processed</p>
|
|
{{else}}
|
|
<p class="error-text">{{.ErrorMsg}}</p>
|
|
{{end}}
|
|
</div>
|
|
|
|
<div class="upload-actions">
|
|
{{if .DisplaySuccess}}
|
|
<div class="success-indicator">
|
|
<span class="icon">✓</span>
|
|
<span>Upload Complete</span>
|
|
</div>
|
|
{{else}}
|
|
<div class="error-indicator">
|
|
<span class="icon">✗</span>
|
|
<span>Upload Failed</span>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
{{if .Files}}
|
|
<div class="file-results">
|
|
{{with index .Files 0}}
|
|
<div class="file-result {{if .Success}}success{{else}}error{{end}}">
|
|
<span class="file-name">{{.Name}}</span>
|
|
<span class="file-size">({{printf "%.2f MB" (div .FileSize 1048576.0)}})</span>
|
|
{{if .Success}}
|
|
<span class="success-icon">✓</span>
|
|
{{else}}
|
|
<span class="error-icon">✗</span>
|
|
<span class="error-message clamp-text" data-full-text="{{.Error}}"
|
|
onclick="this.classList.toggle('expanded')">{{.Error}}</span>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
<div class="file-pagination-controls">
|
|
<span>File {{.FilePage}} of {{.TotalFiles}}</span>
|
|
<div class="file-pagination-buttons">
|
|
{{if gt .FilePage 1}}
|
|
<button
|
|
hx-get="/documents/upload/job/file?job_id={{.JobID}}&session_id={{.SessionID}}&file_page={{subtract .FilePage 1}}&filter={{.Filter}}"
|
|
hx-target="#upload-card-{{.JobID}}" hx-swap="outerHTML" hx-indicator="false" class="pagination-btn">
|
|
← Previous File
|
|
</button>
|
|
{{end}}
|
|
{{if lt .FilePage .TotalFiles}}
|
|
<button
|
|
hx-get="/documents/upload/job/file?job_id={{.JobID}}&session_id={{.SessionID}}&file_page={{add .FilePage 1}}&filter={{.Filter}}"
|
|
hx-target="#upload-card-{{.JobID}}" hx-swap="outerHTML" hx-indicator="false" class="pagination-btn">
|
|
Next File →
|
|
</button>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|