// Mini-UI previews for each of the 8 tools in the tools grid.
// Each preview is a self-contained illustrative thumbnail.

function PreviewPron() {
  // Deterministic waveform: rising then falling
  const bars = Array.from({ length: 38 }, (_, i) => {
    const x = i / 37;
    return 4 + Math.sin(x * Math.PI) * 14;
  });
  return (
    <div style={{ background: 'var(--ink)', borderRadius: 12, padding: '16px 18px', color: 'var(--paper)' }}>
      <div style={{ fontFamily: 'var(--display)', fontSize: 18, fontWeight: 500, lineHeight: 1.3 }}>
        Aš noriu išsi<span style={{ color: 'var(--red)', borderBottom: '2px wavy var(--red)' }}>nu</span>omoti.
      </div>
      <div style={{ display: 'flex', alignItems: 'center', gap: 2, height: 18, marginTop: 12 }}>
        {bars.map((h, i) => (
          <span key={i} style={{ width: 2, height: h, borderRadius: 1, background: i < 16 ? 'var(--yellow)' : 'rgba(247,243,234,0.25)' }}></span>
        ))}
      </div>
    </div>
  );
}

function PreviewConvo() {
  return (
    <div style={{ background: 'var(--paper-2)', borderRadius: 12, padding: 14, display: 'flex', flexDirection: 'column', gap: 8 }}>
      <div style={{ background: 'var(--paper)', border: '1px solid var(--hairline)', borderRadius: '12px 12px 12px 4px', padding: '8px 12px', fontSize: 13, alignSelf: 'flex-start', maxWidth: '85%' }}>
        Sveiki! Kuo galiu padėti?
      </div>
      <div style={{ background: 'var(--ink)', color: 'var(--paper)', borderRadius: '12px 12px 4px 12px', padding: '8px 12px', fontSize: 13, alignSelf: 'flex-end', maxWidth: '85%' }}>
        Norėčiau kavos su pienu.
      </div>
      <div style={{ background: 'var(--paper)', border: '1px solid var(--hairline)', borderRadius: '12px 12px 12px 4px', padding: '8px 12px', fontSize: 13, alignSelf: 'flex-start' }}>
        <span className="flex gap-1" style={{ alignItems: 'center' }}>
          {[0,1,2].map(d => <span key={d} style={{ width: 5, height: 5, borderRadius: '50%', background: 'var(--ink-3)' }}></span>)}
        </span>
      </div>
    </div>
  );
}

function PreviewLevel() {
  const skills = [{k:'Listening',v:78,l:'B1'},{k:'Grammar',v:62,l:'A2+'},{k:'Speaking',v:48,l:'A2'}];
  return (
    <div style={{ background: 'var(--paper-2)', borderRadius: 12, padding: 16, display: 'grid', gridTemplateColumns: '1fr 1.5fr', gap: 14 }}>
      <div style={{ background: 'var(--ink)', color: 'var(--paper)', borderRadius: 8, padding: 12, display: 'flex', flexDirection: 'column', justifyContent: 'center' }}>
        <div style={{ fontSize: 11, color: 'rgba(247,243,234,0.6)' }}>Result</div>
        <div style={{ fontFamily: 'var(--display)', fontSize: 36, fontWeight: 500, lineHeight: 1, marginTop: 4 }}>B1</div>
      </div>
      <div style={{ display: 'flex', flexDirection: 'column', gap: 6, justifyContent: 'center' }}>
        {skills.map((s, i) => (
          <div key={i}>
            <div style={{ display: 'flex', justifyContent: 'space-between', fontSize: 11, marginBottom: 2 }}>
              <span style={{ color: 'var(--ink-2)' }}>{s.k}</span>
              <span style={{ color: 'var(--green-deep)', fontWeight: 500 }}>{s.l}</span>
            </div>
            <div style={{ height: 3, background: 'var(--paper-3)', borderRadius: 99 }}>
              <div style={{ width: s.v + '%', height: '100%', background: s.v < 60 ? 'var(--yellow-deep)' : 'var(--green-deep)' }}></div>
            </div>
          </div>
        ))}
      </div>
    </div>
  );
}

function PreviewGrammar() {
  return (
    <div style={{ background: 'var(--paper-2)', borderRadius: 12, padding: 16, fontFamily: 'var(--display)', fontSize: 14, lineHeight: 1.55, color: 'var(--ink)' }}>
      <div>Laba diena, Ponia Petkevičiūt<span style={{ background: 'var(--red-soft)', color: 'var(--red)', borderBottom: '2px wavy var(--red)' }}>e</span>,</div>
      <div style={{ marginTop: 6 }}>Norėčiau <span style={{ background: 'rgba(31,122,58,0.12)', borderBottom: '2px solid var(--green)' }}>užsiregistruoti</span>.</div>
      <div style={{ marginTop: 10, padding: '8px 12px', background: 'var(--red-soft)', borderRadius: 8, fontSize: 12, color: 'var(--red)', fontFamily: 'var(--sans)' }}>
        Vocative needs <strong style={{ fontWeight: 600 }}>-ei</strong> ending
      </div>
    </div>
  );
}

function PreviewDict() {
  return (
    <div style={{ background: 'var(--paper-2)', borderRadius: 12, padding: 16 }}>
      <div style={{ display: 'flex', alignItems: 'baseline', gap: 8 }}>
        <span style={{ fontFamily: 'var(--display)', fontSize: 22, fontWeight: 500 }}>namas</span>
        <span style={{ fontSize: 11, color: 'var(--ink-3)' }}>noun, masculine</span>
      </div>
      <div style={{ display: 'flex', flexDirection: 'column', gap: 6, marginTop: 10 }}>
        {[{l:'A1',d:'house, home'},{l:'B1',d:'building (any)'},{l:'B2',d:'household'}].map((s,i) => (
          <div key={i} style={{ display: 'flex', alignItems: 'center', gap: 8, fontSize: 12 }}>
            <span style={{ background: 'var(--green-soft)', color: 'var(--green-deep)', padding: '1px 7px', borderRadius: 99, fontSize: 10, fontWeight: 600 }}>{s.l}</span>
            <span style={{ color: 'var(--ink-2)' }}>{s.d}</span>
          </div>
        ))}
      </div>
    </div>
  );
}

function PreviewReader() {
  return (
    <div style={{ background: 'var(--paper-2)', borderRadius: 12, padding: 16, fontFamily: 'var(--display)', fontSize: 14, lineHeight: 1.6, fontWeight: 400 }}>
      <div style={{ display: 'flex', alignItems: 'center', gap: 8, fontSize: 11, color: 'var(--ink-3)', marginBottom: 8 }}>
        <span style={{ fontWeight: 600, color: 'var(--ink-2)' }}>15min.lt</span>
        <span>·</span>
        <span>B1</span>
        <span>·</span>
        <span>4 min read</span>
      </div>
      <div style={{ color: 'var(--ink)' }}>
        Vilniaus meras pristatė naują <span style={{ background: 'var(--yellow-soft)', borderBottom: '2px solid var(--yellow-deep)' }}>strategiją</span>, kuria siekiama mažinti automobilių <span style={{ background: 'var(--green-soft)', borderBottom: '2px solid var(--green)' }}>srautą</span>.
      </div>
    </div>
  );
}

function PreviewExt() {
  return (
    <div style={{ background: 'var(--paper-2)', borderRadius: 12, padding: 14 }}>
      <div style={{ background: 'var(--paper)', border: '1px solid var(--hairline)', borderRadius: 6, padding: '6px 10px', fontSize: 11, color: 'var(--ink-3)', marginBottom: 10, display: 'flex', alignItems: 'center', gap: 6 }}>
        <span style={{ width: 6, height: 6, borderRadius: '50%', background: 'var(--green)' }}></span>
        <span>nytimes.com</span>
      </div>
      <div style={{ fontSize: 13, lineHeight: 1.55, color: 'var(--ink)' }}>
        The new <span style={{ background: 'var(--yellow-soft)', padding: '0 3px', borderRadius: 3, fontFamily: 'var(--display)', fontWeight: 500 }}>strategija</span> aims to reduce traffic in the <span style={{ background: 'var(--green-soft)', padding: '0 3px', borderRadius: 3, fontFamily: 'var(--display)', fontWeight: 500 }}>senamiestis</span> over two years.
      </div>
    </div>
  );
}

function PreviewMentor() {
  const seats = [
    { initial: 'M', color: '#1f7a3a', live: true },
    { initial: 'A', color: '#c1272d' },
    { initial: 'D', color: '#3a5fcf' },
    { initial: 'S', color: '#d9a420' },
    { initial: 'K', color: '#7a59c8' },
    { initial: '+1', color: '#6a716c' },
  ];
  return (
    <div style={{ background: 'var(--paper-2)', borderRadius: 12, padding: 14 }}>
      <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginBottom: 12 }}>
        <div style={{ fontSize: 12, color: 'var(--ink-2)', fontWeight: 500 }}>Group session · B1</div>
        <div style={{ fontSize: 11, color: 'var(--ink-3)' }}>Thu 18:00</div>
      </div>
      <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 6 }}>
        {seats.map((s, i) => (
          <div key={i} style={{ aspectRatio: '4/3', background: s.color, borderRadius: 6, position: 'relative', display: 'grid', placeItems: 'center', color: '#fff', fontFamily: 'var(--display)', fontWeight: 600, fontSize: 16 }}>
            {s.initial}
            {s.live && <span style={{ position: 'absolute', bottom: 4, right: 4, width: 6, height: 6, borderRadius: '50%', background: '#fff' }}></span>}
          </div>
        ))}
      </div>
    </div>
  );
}

const TOOL_PREVIEWS = [PreviewPron, PreviewConvo, PreviewLevel, PreviewGrammar, PreviewDict, PreviewReader, PreviewExt, PreviewMentor];
const TOOL_ICONS = ['mic', 'chat', 'target', 'pen', 'book', 'newspaper', 'globe', 'users'];

window.TOOL_PREVIEWS = TOOL_PREVIEWS;
window.TOOL_ICONS = TOOL_ICONS;
