an updated and hopefully faster version of the ST Toolbox
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

{{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}}