/**
 * 특정 조문 조회 시 전략적 주의(위험신호) 경고 주입
 *
 * 민법 제107~110조(의사표시의 하자)는 무효·취소를 주장하는 측에 입증책임이 있는 항변이다.
 * 계약서·차용증 등 객관적 서면이 명백한 사건에서 이 조문을 1순위 항변으로 삼으면
 * 법원 인용률이 낮으므로, 조회 시 변호사 상담을 권고하는 경고를 함께 노출한다.
 *
 * 주의: 107~110조는 거의 모든 법(형법/상법 등)에 존재하므로 반드시 법령명이 "민법"일 때만 적용한다.
 */

// 절충 톤: 입증책임·인용률 관점의 정성적 경고 (단정적 패소확률 수치는 미포함)
const 의사표시하자경고: Record<string, string> = {
  "107": "⚠️ [위험신호] 민법 제107조(진의 아닌 의사표시)는 의사표시 하자 항변으로, 비진의 표시는 원칙적으로 유효하고 상대방의 악의·과실을 입증해야 무효가 되므로 인용률이 낮은 조문입니다. 객관적 증거 없이 이 항변에 의존할 경우 패소 위험이 매우 큽니다. 반드시 변호사 상담을 받으세요.",
  "108": "⚠️ [위험신호] 민법 제108조(통정한 허위의 의사표시)는 의사표시 하자 항변으로, 상대방과 짜고 한 허위표시(통정)를 주장하는 측이 입증해야 하므로 인용률이 낮은 조문입니다. 객관적 증거 없이 이 항변에 의존할 경우 패소 위험이 매우 큽니다. 반드시 변호사 상담을 받으세요.",
  "109": "⚠️ [위험신호] 민법 제109조(착오로 인한 의사표시)는 의사표시 하자 항변으로, 법률행위의 중요부분 착오이면서 본인에게 중대한 과실이 없음을 입증해야 취소할 수 있어 인용률이 낮은 조문입니다. 객관적 증거 없이 이 항변에 의존할 경우 패소 위험이 매우 큽니다. 반드시 변호사 상담을 받으세요.",
  "110": "⚠️ [위험신호] 민법 제110조(사기, 강박에 의한 의사표시)는 의사표시 하자 항변으로, 기망 또는 강박 행위와 그로 인한 의사표시의 인과관계를 주장하는 측이 입증해야 하므로 인용률이 낮은 조문입니다. 객관적 증거 없이 이 항변에 의존할 경우 패소 위험이 큽니다. 다만 납득할 만한 증거가 있으면 결과가 달라질 수 있습니다. 반드시 변호사 상담을 받으세요."
}

/**
 * 법령명·조문 정보로 전략 경고를 반환. 해당 없으면 null.
 *
 * @param lawName 법령명 (정확히 "민법"일 때만 적용 — "민법 시행령" 등 제외)
 * @param joNum 조문번호 문자열 (예: "108")
 * @param joBranch 조문가지번호 (제107조의2 등 가지조문은 제외하기 위해 "0"/"" 만 허용)
 */
export function getStrategyWarning(
  lawName: string,
  joNum: string,
  joBranch: string
): string | null {
  if (lawName.trim() !== "민법") return null
  if (joBranch && joBranch !== "0") return null
  return 의사표시하자경고[joNum] ?? null
}
