← 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>