/* =========================================================================
   Çevik Yaşam — KRİTİK UYARI (ADHD koçu)
   Kritik (prio 1) bir iş 2+ kez ertelendiyse: kırmızı-beyaz ciddi uyarı.
   Bugün + Dashboard'da görünür; tek bir işe odaklanmanı sağlar.
   ========================================================================= */

function criticalDeferred(tasks) {
  return (tasks || []).filter((t) => !t.done && (t.deferCount || 0) >= 2 &&
    ((t.prio || 3) <= 1 || (t.sub && CY.subproj(t.sub) && CY.subproj(t.sub).kind === "esas")))
    .sort((a, b) => (b.deferCount || 0) - (a.deferCount || 0));
}

function CriticalAlert({ tasks, onGoto, onEngel }) {
  const crit = criticalDeferred(tasks);
  if (!crit.length) return null;
  const t = crit[0];
  return (
    <div className="cy-critical">
      <div className="cy-critical-pulse"><Icon name="alert" /></div>
      <div style={{ flex: 1, minWidth: 0 }}>
        <div className="cy-critical-title">Bu işi {t.deferCount} kez ertledin — artık kaçma.</div>
        <div className="cy-critical-body">
          <b>{t.title}</b> kritik bir iş ve sürekli erteleniyor. {CY.proj(t.project).name}. Mesele zaman değil — bir engel var. Ya bugün <u>tek odağın</u> yap, ya da nedenini çöz.
        </div>
        <div className="cy-critical-actions">
          {onGoto && <button className="cy-critical-btn solid" onClick={() => onGoto(t.id)}><Icon name="target" className="ic" /> Bugünün tek odağı yap</button>}
          {onEngel && <button className="cy-critical-btn" onClick={onEngel}><Icon name="shieldAlert" className="ic" /> Engeli çöz</button>}
        </div>
      </div>
      {crit.length > 1 && <span className="cy-critical-count">+{crit.length - 1}</span>}
    </div>
  );
}

Object.assign(window, { CriticalAlert, criticalDeferred });
