Introduce the `WARPBOX_DATA_DIR` environment variable to define where runtime data is stored. This directory will house uploaded files, the bbolt metadata database, and application logs. Changes include: - Added `WARPBOX_DATA_DIR` to configuration, defaulting to `./data`. - Implemented a custom logging package that writes JSONL logs to the data directory. - Updated `.gitignore` and `.env.example` to support the new data directory. - Documented the runtime data structure in `README.md`. - Updated the frontend upload script to handle form submission and display results.
42 lines
1.6 KiB
Plaintext
42 lines
1.6 KiB
Plaintext
{{define "download.gohtml"}}{{template "base" .}}{{end}}
|
|
|
|
{{define "content"}}
|
|
<section class="download-view" aria-labelledby="download-title">
|
|
<div class="card download-card">
|
|
<div class="card-content">
|
|
<div class="file-emblem" aria-hidden="true">
|
|
<svg viewBox="0 0 24 24" role="img" focusable="false"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z" /><path d="M14 2v6h6" /></svg>
|
|
</div>
|
|
<h1 id="download-title">Download files</h1>
|
|
<p class="download-subtitle">Bucket id: {{.Data.Box.ID}}</p>
|
|
|
|
{{if .Data.Files}}
|
|
<div class="badge-row">
|
|
<span class="badge">Expires {{.Data.ExpiresLabel}}</span>
|
|
{{if .Data.MaxDownloads}}<span class="badge">{{.Data.DownloadCount}} / {{.Data.MaxDownloads}} downloads</span>{{end}}
|
|
</div>
|
|
|
|
<a class="button button-primary button-wide" href="{{.Data.ZipURL}}">
|
|
<svg viewBox="0 0 24 24" role="img" focusable="false" aria-hidden="true"><path d="M12 3v12m0 0 4-4m-4 4-4-4M5 21h14" /></svg>
|
|
Download zip
|
|
</a>
|
|
|
|
<div class="download-list">
|
|
{{range .Data.Files}}
|
|
<a class="download-item" href="{{.URL}}">
|
|
<span>
|
|
<strong>{{.Name}}</strong>
|
|
<small>{{.Size}} · {{.ContentType}}</small>
|
|
</span>
|
|
<svg viewBox="0 0 24 24" role="img" focusable="false" aria-hidden="true"><path d="M12 3v12m0 0 4-4m-4 4-4-4M5 21h14" /></svg>
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
{{else}}
|
|
<p class="download-subtitle">{{.Data.ExpiresLabel}}</p>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</section>
|
|
{{end}}
|