// soft-delete.jsx — Felles soft-delete og gjenopprett for alle moduler

// ── Soft delete via Supabase RPC ─────────────────────────────
async function softDelete(tabell, id, merknad = null) {
  const { data: { user } } = await window._sb.auth.getUser();
  const { data, error } = await window._sb.rpc('soft_delete', {
    p_tabell: tabell,
    p_id:     id,
    p_bruker: user?.id || null,
  });
  if (error) throw error;

  // Logg
  await window._sb.from('soft_delete_logg').insert({
    tabell, rad_id: id, slettet_av: user?.id, merknad,
  }).then(() => {}).catch(() => {}); // logg-feil stopper ikke flyten

  return data;
}

async function gjenopprett(tabell, id) {
  const { data, error } = await window._sb.rpc('gjenopprett', {
    p_tabell: tabell,
    p_id:     id,
  });
  if (error) throw error;
  return data;
}

// ── Vis slettet-advarsel på rader som refereres av budsjett ──
function SoftDeleteAdvarsel({ type, navn, dato, onGjenopprett }) {
  return (
    <div style={{
      padding: '8px 12px', borderRadius: 8, fontSize: 12.5,
      background: 'rgba(242,84,92,.06)', border: '1px solid rgba(242,84,92,.2)',
      display: 'flex', alignItems: 'center', gap: 10,
    }}>
      <span style={{ color: SK.coral }}>
        ⚠ {type} <b>{navn}</b> er markert som inaktiv
        {dato && ` (${new Date(dato).toLocaleDateString('nb-NO')})`}.
        Historiske budsjetter er upåvirket.
      </span>
      {onGjenopprett && (
        <button onClick={onGjenopprett}
          style={{ marginLeft: 'auto', padding: '3px 10px', borderRadius: 5,
            border: '1px solid rgba(242,84,92,.3)', background: 'transparent',
            color: SK.coral, fontSize: 11.5, cursor: 'pointer', fontFamily: 'inherit',
            whiteSpace: 'nowrap' }}>
          Gjenopprett
        </button>
      )}
    </div>
  );
}

Object.assign(window, { softDelete, gjenopprett, SoftDeleteAdvarsel });
