Sheetly / app /static /index.html
nvikou's picture
initial commit
da6ee5e verified
Raw History Blame Contribute Delete
4.11 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Sheetly — Documents to Excel &amp; JSON</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700;12..96,800&family=Figtree:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="/static/css/styles.css" />
</head>
<body class="page-home">
<nav class="nav shell-nav">
<a class="brand" href="/">Sheetly</a>
<div class="nav-links">
<a class="active" href="/">Upload</a>
<a href="/validate">Validate</a>
<a href="/dashboard">Dashboard</a>
</div>
</nav>
<section class="landing">
<div class="landing-copy">
<p class="kicker">Document intelligence</p>
<h1 class="mark">Sheetly</h1>
<p class="lede">
Invoices, contracts, and delivery notes become
structured Excel and JSON — with confidence review
before export.
</p>
<div class="cta-row">
<button type="button" id="browseBtn">
Choose files
</button>
<a class="btn secondary" href="/validate">
Open validation
</a>
</div>
<p class="trust-line">
Batch upload · Vision + text · Schema-safe JSON
</p>
</div>
<div class="landing-visual" aria-label="Upload stage">
<div class="sheet sheet-a" aria-hidden="true"></div>
<div class="sheet sheet-b" aria-hidden="true"></div>
<div class="drop-stage">
<div class="dropzone" id="dropzone">
<div class="glyph" aria-hidden="true">
<svg viewBox="0 0 24 24">
<path d="M12 16V4" />
<path d="M7 9l5-5 5 5" />
<path d="M4 20h16" />
</svg>
</div>
<strong>Drop files here</strong>
<span>
PDF, PNG, JPG, or ZIP — extract a batch
in one pass
</span>
<input
type="file"
id="fileInput"
multiple
accept=".pdf,.png,.jpg,.jpeg,.webp,.tif,.tiff,.txt,.zip"
hidden
/>
</div>
<div class="stage-footer">
<ul class="file-list" id="fileList"></ul>
<div class="stage-actions">
<button
class="on-dark"
id="uploadBtn"
disabled
>
Start extraction
</button>
<a
class="btn on-dark secondary"
href="/api/export?fmt=xlsx"
>
Excel
</a>
<a
class="btn on-dark secondary"
href="/api/export?fmt=json"
>
JSON
</a>
</div>
<div class="progress" id="progressWrap" hidden>
<span id="progressBar"></span>
</div>
<p class="meta" id="statusText"></p>
<ul class="doc-list" id="docList"></ul>
</div>
</div>
</div>
</section>
<script src="/static/js/upload.js"></script>
</body>
</html>