/* history.jsx — previous tailored applications (with empty state) */
(function () {
  const { useState } = React;
  const Icon = window.Icon;

  function ScoreBadge({ score }) {
    const tone = score >= 80 ? 'var(--accent)' : score >= 65 ? 'var(--amber)' : 'var(--rose)';
    return React.createElement('span', { className: 'score-badge', style: { color: tone } },
      React.createElement('span', { className: 'bar' }, React.createElement('i', { style: { width: score + '%', background: tone } })),
      score + '%');
  }

  function History({ onView, onToast }) {
    const [empty, setEmpty] = useState(false);
    const D = window.DATA;

    return React.createElement('div', { className: 'wrap page' },
      React.createElement('div', { className: 'hist-head' },
        React.createElement('div', null,
          React.createElement('h1', { className: 'ws-title', style: { fontSize: '25px' } }, 'History'),
          React.createElement('p', { className: 'ws-sub' }, empty ? 'Your tailored applications will appear here.' : D.HISTORY.length + ' tailored applications'),
        ),
        React.createElement('div', { style: { display: 'flex', gap: '10px', alignItems: 'center' } },
          React.createElement('button', { className: 'btn btn-soft btn-sm', onClick: () => setEmpty((v) => !v) },
            React.createElement(Icon.eye, null), empty ? 'Show sample data' : 'Preview empty state'),
          React.createElement('button', { className: 'btn btn-primary btn-sm', onClick: () => onView() }, React.createElement(Icon.plus, null), 'New'),
        ),
      ),

      empty
        ? React.createElement('div', { className: 'card empty' },
            React.createElement('div', { className: 'empty-ic' }, React.createElement(Icon.inbox, null)),
            React.createElement('div', { className: 'empty-t' }, 'No tailored applications yet.'),
            React.createElement('div', { className: 'empty-s' }, 'Generate your first tailored resume and it’ll show up here, ready to revisit and re-download.'),
            React.createElement('button', { className: 'btn btn-primary', onClick: () => onView() }, React.createElement(Icon.sparkle, null), 'Tailor an application'),
          )
        : React.createElement('div', { className: 'card hist-table' },
            React.createElement('div', { className: 'hrow head' },
              React.createElement('span', null, 'Company'),
              React.createElement('span', null, 'Role'),
              React.createElement('span', null, 'Match'),
              React.createElement('span', null, 'Evidence'),
              React.createElement('span', null, 'Date'),
              React.createElement('span', { style: { textAlign: 'right' } }, 'Actions'),
            ),
            D.HISTORY.map((h, i) => React.createElement('div', { className: 'hrow item', key: i },
              React.createElement('div', { className: 'hco' },
                React.createElement('div', { className: 'hco-logo' }, h.initials),
                React.createElement('div', { className: 'hco-name' }, h.company),
              ),
              React.createElement('div', { className: 'hrole' }, h.role),
              React.createElement(ScoreBadge, { score: h.score }),
              React.createElement('div', { className: 'evidence-mini' }, h.evidence, ' mapped', h.reviews ? React.createElement('span', null, h.reviews, ' review') : React.createElement('span', { className: 'ok' }, 'clear')),
              React.createElement('div', { className: 'hdate' }, h.date),
              React.createElement('div', { className: 'hactions' },
                React.createElement('button', { className: 'icon-btn', title: 'View', onClick: () => onView() }, React.createElement(Icon.eye, null)),
                React.createElement('button', { className: 'icon-btn', title: 'Download', onClick: () => onToast('Downloaded ' + h.company + ' application', 'download') }, React.createElement(Icon.download, null)),
              ),
            )),
          ),
      React.createElement('div', { style: { height: '48px' } }),
    );
  }

  window.History = History;
})();
