2026-04-25 18:04:10 +03:00
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
|
<html lang="en">
|
|
|
|
|
|
<head>
|
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
|
<title>Warpbox</title>
|
2026-04-27 18:37:05 +03:00
|
|
|
|
<link rel="icon" type="image/png" href="/static/WarpBoxLogo.png">
|
2026-04-25 18:04:10 +03:00
|
|
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
|
|
|
|
|
|
<link rel="stylesheet" href="/static/css/app.css">
|
2026-04-27 16:49:44 +03:00
|
|
|
|
<link rel="stylesheet" href="/static/css/window.css">
|
|
|
|
|
|
<link rel="stylesheet" href="/static/css/upload.css">
|
2026-04-25 18:04:10 +03:00
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
|
<main>
|
2026-04-27 16:49:44 +03:00
|
|
|
|
<section class="win98-window upload-window" aria-labelledby="upload-window-title">
|
|
|
|
|
|
<header class="win98-titlebar upload-titlebar">
|
2026-04-27 18:37:05 +03:00
|
|
|
|
<div class="win98-titlebar-label">
|
|
|
|
|
|
<img class="win98-titlebar-icon" src="/static/WarpBoxLogo.png" alt="" aria-hidden="true">
|
|
|
|
|
|
<h1 id="upload-window-title">WarpBox Upload</h1>
|
|
|
|
|
|
</div>
|
2026-04-27 16:49:44 +03:00
|
|
|
|
<div class="win98-window-controls" aria-hidden="true">
|
|
|
|
|
|
<span class="win98-control">_</span>
|
|
|
|
|
|
<span class="win98-control">□</span>
|
|
|
|
|
|
<span class="win98-control">×</span>
|
2026-04-25 18:46:16 +03:00
|
|
|
|
</div>
|
|
|
|
|
|
</header>
|
2026-04-25 18:04:10 +03:00
|
|
|
|
|
2026-04-25 18:46:16 +03:00
|
|
|
|
<form class="upload-form" action="/upload" method="post" enctype="multipart/form-data">
|
2026-04-27 16:49:44 +03:00
|
|
|
|
<div class="win98-menu upload-menu" aria-hidden="true">
|
2026-04-27 17:02:07 +03:00
|
|
|
|
<span class="win98-menu-option">File</span>
|
|
|
|
|
|
<span class="win98-menu-option">Edit</span>
|
|
|
|
|
|
<span class="win98-menu-option">View</span>
|
|
|
|
|
|
<span class="win98-menu-option">Help</span>
|
2026-04-25 18:46:16 +03:00
|
|
|
|
</div>
|
2026-04-25 18:04:10 +03:00
|
|
|
|
|
2026-04-27 16:49:44 +03:00
|
|
|
|
<div class="win98-panel upload-panel">
|
2026-04-25 18:46:16 +03:00
|
|
|
|
<label class="upload-dropzone" for="file-upload">
|
|
|
|
|
|
<span class="upload-icon" aria-hidden="true"></span>
|
|
|
|
|
|
<span class="upload-primary">Drop file here</span>
|
|
|
|
|
|
<span class="upload-secondary">or click Browse to choose one</span>
|
|
|
|
|
|
</label>
|
|
|
|
|
|
|
|
|
|
|
|
<input id="file-upload" class="upload-input" type="file" name="files" multiple>
|
|
|
|
|
|
|
2026-04-27 18:18:53 +03:00
|
|
|
|
<fieldset class="upload-options">
|
|
|
|
|
|
<legend>Box options</legend>
|
|
|
|
|
|
<label class="upload-option-row" for="upload-retention">
|
|
|
|
|
|
<span>Keep files</span>
|
|
|
|
|
|
<select id="upload-retention" class="upload-select" name="retention">
|
|
|
|
|
|
{{ range .RetentionOptions }}
|
|
|
|
|
|
<option value="{{ .Key }}" {{ if eq .Key $.DefaultRetention }}selected{{ end }}>{{ .Label }}</option>
|
|
|
|
|
|
{{ end }}
|
|
|
|
|
|
</select>
|
|
|
|
|
|
</label>
|
|
|
|
|
|
<label class="upload-check-row" for="upload-password-enabled">
|
|
|
|
|
|
<input id="upload-password-enabled" type="checkbox">
|
|
|
|
|
|
<span>Password protect this box</span>
|
|
|
|
|
|
</label>
|
|
|
|
|
|
<input id="upload-password" class="upload-text-input" type="password" autocomplete="new-password" placeholder="Password" disabled>
|
|
|
|
|
|
<label class="upload-check-row" for="upload-zip-enabled">
|
|
|
|
|
|
<input id="upload-zip-enabled" type="checkbox" checked>
|
|
|
|
|
|
<span>Allow Download Zip</span>
|
|
|
|
|
|
</label>
|
|
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
2026-04-25 18:46:16 +03:00
|
|
|
|
<div class="upload-details">
|
|
|
|
|
|
<span class="upload-detail-label">Selected Files</span>
|
|
|
|
|
|
<span id="upload-file-count" class="upload-file-count">0 files</span>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
2026-04-27 17:26:57 +03:00
|
|
|
|
<div class="upload-result is-hidden" aria-live="polite">
|
2026-04-27 17:20:57 +03:00
|
|
|
|
<span class="upload-result-label">Folder link</span>
|
|
|
|
|
|
<a id="upload-box-link" class="upload-result-link is-empty" href="#" aria-disabled="true">Waiting for upload</a>
|
|
|
|
|
|
<button id="upload-share-button" class="win98-button upload-share-button" type="button" disabled>Share</button>
|
|
|
|
|
|
</div>
|
2026-04-27 17:49:19 +03:00
|
|
|
|
|
|
|
|
|
|
<div class="upload-file-list" aria-live="polite" aria-label="Selected files">
|
|
|
|
|
|
<p class="upload-empty-state">No files selected</p>
|
|
|
|
|
|
</div>
|
2026-04-25 18:46:16 +03:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<footer class="upload-actions">
|
|
|
|
|
|
<label class="win98-button" for="file-upload">Browse...</label>
|
|
|
|
|
|
<button class="win98-button" type="submit">Upload</button>
|
|
|
|
|
|
</footer>
|
|
|
|
|
|
|
2026-04-27 17:26:57 +03:00
|
|
|
|
<div class="upload-overall" aria-live="polite">
|
|
|
|
|
|
<div class="upload-overall-track" aria-hidden="true">
|
|
|
|
|
|
<span class="upload-overall-bar"></span>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<span class="upload-overall-percent">0%</span>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
2026-04-27 16:49:44 +03:00
|
|
|
|
<div class="win98-statusbar upload-statusbar" aria-live="polite">
|
2026-04-25 18:46:16 +03:00
|
|
|
|
<span>Ready</span>
|
|
|
|
|
|
<span>WarpBox</span>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</form>
|
|
|
|
|
|
</section>
|
2026-04-25 18:04:10 +03:00
|
|
|
|
</main>
|
|
|
|
|
|
|
|
|
|
|
|
<script src="/static/js/app.js"></script>
|
|
|
|
|
|
</body>
|
2026-04-25 18:46:16 +03:00
|
|
|
|
</html>
|