RECORDGOD/site/index.html
type-two e1fcf94f93 feat: standalone RecordGod web UI — landing, control-room dash, encrypted secrets vault
- app/vault.py: Fernet-encrypted credential store (app_secret table); key lives only in
  RECORDGOD_SECRET_KEY (.env, gitignored) — refuses to store anything if the key is unset.
- app/settings_routes.py: admin-gated GET/POST /settings/secrets; values encrypted at rest,
  NEVER returned. Known fields: Woo / Discogs / Cloudflare / DealGod credentials.
- site/index.html: recordgod.com landing. site/dash.html: control room (token gate +
  paste-your-credentials form). main.py loads .env, mounts site at /, store at /store.
- Proven: 401 on bad token; DB holds ciphertext (gAAAA…), not plaintext.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 12:40:07 +10:00

51 lines
2.5 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>RecordGod — the records engine</title>
<style>
:root{--pink:#ff5db1;--ink:#0c0c0e;--mut:#9a9aa6}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--ink);color:#f0f0f2;font:16px/1.6 system-ui,sans-serif}
.wrap{max-width:860px;margin:0 auto;padding:8vh 24px 6vh}
.tag{letter-spacing:.18em;text-transform:uppercase;color:var(--mut);font-size:13px}
h1{font-size:clamp(40px,9vw,76px);margin:.1em 0 .1em;font-weight:600;line-height:1}
h1 b{color:var(--pink);font-weight:600}
.lede{font-size:20px;color:#d8d8de;max-width:620px}
.row{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0 0}
a.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:10px;text-decoration:none;font-weight:500}
a.primary{background:var(--pink);color:#1a0a14}
a.ghost{border:1px solid #333;color:#eee}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:64px 0 0}
.card{border:1px solid #232327;border-radius:12px;padding:18px;background:#141418}
.card h3{margin:.1em 0;color:var(--pink);font-weight:500;font-size:16px}
.card p{color:var(--mut);font-size:14px;margin:.4em 0 0}
.foot{margin-top:64px;color:#55555f;font-size:13px;border-top:1px solid #1c1c20;padding-top:18px}
.foot b{color:var(--mut);font-weight:500}
</style>
</head>
<body>
<div class="wrap">
<div class="tag">House of the Hustle · the crate</div>
<h1>Record<b>God</b></h1>
<p class="lede">The records back-office engine. Inventory, pricing, the 3D store, and order management —
one custom stack, no WordPress paper box. Powered by Postgres, fed by DealGod.</p>
<div class="row">
<a class="btn primary" href="/store/">Enter the virtual store →</a>
<a class="btn ghost" href="/dash.html">Control room</a>
</div>
<div class="grid">
<div class="card"><h3>The crate</h3><p>Walk the shop in 3D, dig through bins, pull a sleeve to inspect it.</p></div>
<div class="card"><h3>Locate stock</h3><p>Any release → the exact crate and slot it lives in.</p></div>
<div class="card"><h3>Live pricing</h3><p>DealGod's cross-store market value on every shelf.</p></div>
<div class="card"><h3>Orders, your way</h3><p>WooCommerce orders managed here — no wp-admin.</p></div>
</div>
<div class="foot">Run from the VPS, not inside WordPress · talks to <b>DealGod</b> · honours <b>WowPlatter</b>, our founder.</div>
</div>
</body>
</html>