// components/SovereignKeystroke.jsx
//
// Detects Sovereign keystroke (Cmd+Shift+S+S+S triple-tap within 800ms while
// modifiers held). Triggers in-session tier elevation for current visitor.
// Only mounts when Sovereign session cookie is present.
//
// Wire-in: window.SovereignKeystroke = SovereignKeystroke

const { useEffect, useState } = React;

const SOVEREIGN_COOKIE_NAME = 'axiom_sovereign_session';
const TRIPLE_TAP_WINDOW_MS = 800;

function SovereignKeystroke({ tierStateMachine, sessionId }) {
  const [modalOpen, setModalOpen] = useState(false);
  const [hasSovereignSession, setHasSovereignSession] = useState(false);
  const [busy, setBusy] = useState(false);

  useEffect(() => {
    // Check for Sovereign session cookie
    const has = document.cookie.split('; ').some(c => c.startsWith(`${SOVEREIGN_COOKIE_NAME}=`));
    setHasSovereignSession(has);
  }, []);

  useEffect(() => {
    if (!hasSovereignSession) return;

    let sTaps = [];

    const handler = (e) => {
      // Require Cmd (or Ctrl on non-Mac) + Shift held
      const modifierHeld = (e.metaKey || e.ctrlKey) && e.shiftKey;
      if (!modifierHeld) return;
      if (e.key !== 'S' && e.key !== 's') return;

      const now = performance.now();
      // Drop taps older than the window
      sTaps = sTaps.filter(t => now - t < TRIPLE_TAP_WINDOW_MS);
      sTaps.push(now);

      if (sTaps.length >= 3) {
        sTaps = [];
        e.preventDefault();
        setModalOpen(true);
      }
    };

    window.addEventListener('keydown', handler);
    return () => window.removeEventListener('keydown', handler);
  }, [hasSovereignSession]);

  if (!hasSovereignSession) return null;

  const handleElevate = async (targetTier) => {
    setBusy(true);
    try {
      await tierStateMachine?.sovereignPresenceElevate({
        targetTier,
        sessionId,
      });
      setModalOpen(false);
    } catch (e) {
      console.error('[SovereignKeystroke] Elevation failed:', e);
      alert(`Elevation failed: ${e.message}`);
    } finally {
      setBusy(false);
    }
  };

  if (!modalOpen) return null;

  return React.createElement('div', { className: 'sovereign-modal-overlay' },
    React.createElement('div', { className: 'sovereign-modal' },
      React.createElement('h3', null, 'Sovereign Presence Elevation'),
      React.createElement('p', null,
        'Elevate current visitor to which tier? This grant will create a Kaitiaki receipt with grant_mechanism = sovereign_presence.'
      ),
      React.createElement('div', { className: 'sovereign-modal-buttons' },
        React.createElement('button', {
          onClick: () => handleElevate('T1'),
          disabled: busy,
        }, 'Elevate to T1'),
        React.createElement('button', {
          onClick: () => handleElevate('T2'),
          disabled: busy,
        }, 'Elevate to T2'),
        React.createElement('button', {
          onClick: () => handleElevate('T3'),
          disabled: busy,
          className: 'sovereign-modal-t3',
        }, 'Elevate to T3 (inner sanctum)')
      ),
      React.createElement('button', {
        className: 'sovereign-modal-cancel',
        onClick: () => setModalOpen(false),
        disabled: busy,
      }, 'Cancel')
    )
  );
}

window.SovereignKeystroke = SovereignKeystroke;
