← back to Patterndesignlab
public/designer-signup.html
72 lines
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Sell your designs · Pattern Design Lab</title>
<link rel="stylesheet" href="/styles.css">
</head>
<body>
<header class="top"><div class="wrap">
<a class="brand" href="/">Pattern Design<span class="dot">.</span>Lab <small>designer onboarding</small></a>
<nav class="navlinks"><a href="/">Explore</a><a href="/trends">Trends</a><a href="/designer-signup">Sell your designs</a></nav>
</div></header>
<div class="wrap formwrap">
<div class="formcard">
<h1>Sell your patterns with us</h1>
<p class="lead">We license original, seamless surface patterns to interiors, print and product brands. Apply to join our roster of designers — no fee to apply, no exclusivity to start.</p>
<div class="sellpoints">
<span>Keep your copyright</span><span>Tiered licensing — digital, commercial print, exclusive</span>
<span>Curated marketplace</span><span>You set the direction, we handle the sale</span>
</div>
<form id="applyform" onsubmit="return submitApp(event)">
<div class="field"><label for="name">Your name *</label>
<input id="name" name="name" type="text" required autocomplete="name" placeholder="Jane Designer"></div>
<div class="field"><label for="email">Email *</label>
<input id="email" name="email" type="email" required autocomplete="email" placeholder="you@studio.com"></div>
<div class="field"><label for="portfolio">Portfolio URL</label>
<input id="portfolio" name="portfolio" type="url" placeholder="https://yourportfolio.com">
<div class="hint">Website, Behance, Instagram — wherever your work lives.</div></div>
<div class="field"><label for="samples">Sample links</label>
<textarea id="samples" name="samples" placeholder="Paste 2–5 links to representative patterns (one per line)."></textarea>
<div class="hint">Direct image or product links help us review faster.</div></div>
<div class="field"><label for="about">About your work</label>
<textarea id="about" name="about" placeholder="A sentence or two on your style, techniques, and what you'd want to license here."></textarea></div>
<button class="submit" id="submitbtn" type="submit">Submit application</button>
<p class="formnote" id="note"></p>
</form>
</div>
</div>
<footer><div class="wrap">Pattern Design Lab · applications are reviewed by our curation team. We only accept original work you own the rights to.</div></footer>
<script>
async function submitApp(e){
e.preventDefault();
const btn=document.getElementById('submitbtn'), note=document.getElementById('note');
const body={
name:document.getElementById('name').value.trim(),
email:document.getElementById('email').value.trim(),
portfolio:document.getElementById('portfolio').value.trim(),
samples:document.getElementById('samples').value.trim(),
about:document.getElementById('about').value.trim(),
};
btn.disabled=true; note.textContent='Submitting…'; note.style.color='var(--muted)';
try{
const r=await fetch('/api/designer/apply',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(body)});
const j=await r.json();
if(j.ok){
document.getElementById('applyform').reset();
note.style.color='var(--accent-ink)';
note.textContent='✓ '+(j.note||'Application received — thank you!');
}else{
note.style.color='#b23'; note.textContent='Could not submit: '+(j.error||'error'); btn.disabled=false;
}
}catch(err){ note.style.color='#b23'; note.textContent='Network error — please try again.'; btn.disabled=false; }
return false;
}
</script>
</body>
</html>