feat: initialize warpbox.dev project structure and backend

Initialize the repository with the core Go backend architecture and a frontend mockup for warpbox.dev, a self-hosted file-sharing application.

- Set up Go backend modules for configuration, HTTP server, middleware, handlers, and templates.
- Add local development scripts, environment templates, and basic project configuration.
- Include a React-based frontend mockup under the docs directory.
This commit is contained in:
2026-05-25 15:36:49 +03:00
parent 84e5aee87c
commit 9b8ef16474
129 changed files with 19863 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
{{define "home.gohtml"}}{{template "base" .}}{{end}}
{{define "content"}}
<section class="upload-view" aria-labelledby="upload-title">
<form class="upload-panel" action="/api/v1/upload" method="post" enctype="multipart/form-data">
<div class="panel-header">
<h1 id="upload-title">Upload your files</h1>
<p>Drag files here or choose them from your device.</p>
</div>
<label class="drop-zone" for="file-input">
<span class="drop-icon" aria-hidden="true">+</span>
<span class="drop-title">Drop files to upload</span>
<span class="drop-copy">Click to browse</span>
<input id="file-input" name="file" type="file" multiple>
</label>
<details class="advanced-options">
<summary>Advanced options</summary>
<div class="option-grid">
<label>
<span>Expires after</span>
<select name="max_days">
<option value="7">7 days</option>
<option value="1">1 day</option>
<option value="30">30 days</option>
</select>
</label>
<label>
<span>Max downloads</span>
<input type="number" name="max_downloads" min="1" placeholder="Unlimited">
</label>
<label>
<span>Password</span>
<input type="password" name="password" autocomplete="new-password" placeholder="Optional">
</label>
</div>
</details>
<div class="form-footer">
<p>Current max file size: {{.Data.MaxUploadSize}}</p>
<button class="button button-primary" type="submit">Upload files</button>
</div>
</form>
</section>
{{end}}