# app/services/mbti_descriptions.py
# MBTI 16タイプの性格説明（日本語）

# ベースタイプ（-A/-Tを除く4文字）→ 説明文
MBTI_DESCRIPTIONS = {
    "INTJ": "戦略家タイプ。論理的で独立心が強く、長期的な視野で目標を達成します。独自のアイデアと高い基準を持ちます。",
    "INTP": "論理学者タイプ。分析的で理論を好み、複雑な問題を解くことを楽しみます。好奇心が強く、新しいアイデアを探求します。",
    "ENTJ": "指揮官タイプ。決断力があり、リーダーシップを発揮します。効率と成果を重視し、組織を率いて目標を達成します。",
    "ENTP": "討論家タイプ。機知に富み、新しいアイデアや議論を好みます。型にはまらない発想で、可能性を広げます。",
    "INFJ": "提唱者タイプ。洞察力が深く、他人の成長を支えたいと願います。理想主義的で、静かな情熱を持ちます。",
    "INFP": "仲介者タイプ。価値観を大切にし、創造的で共感力があります。内面的な世界を大切にし、調和を求めます。",
    "ENFJ": "主人公タイプ。カリスマ的で共感的、人を導く力があります。人とのつながりと共通の目標実現を大切にします。",
    "ENFP": "運動家タイプ。熱意があり、自由で創造的。新しい可能性にワクワクし、人を励まし巻き込むのが得意です。",
    "ISTJ": "管理者タイプ。責任感が強く、事実と伝統を重視します。計画的で信頼され、約束を守ります。",
    "ISFJ": "擁護者タイプ。献身的で温かく、他人を支えることを大切にします。細やかで信頼できる存在です。",
    "ESTJ": "幹部タイプ。組織的で実務能力が高く、ルールと秩序を重んじます。はっきりとしたリーダーシップを発揮します。",
    "ESFJ": "領事官タイプ。協調性が高く、周囲の調和と世話を大切にします。温かくて頼りになる存在です。",
    "ISTP": "巨匠タイプ。冷静で実践的、道具や仕組みを扱うのが得意。柔軟に状況に適応します。",
    "ISFP": "冒険家タイプ。穏やかで芸術的、今この瞬間を大切にします。周囲に合わせつつ、自分の価値観を守ります。",
    "ESTP": "起業家タイプ。行動的で現実的、機転が利きます。リスクを恐れず、その場の空気を読んで動きます。",
    "ESFP": "エンターテイナータイプ。明るく人懐っこく、その場を盛り上げます。楽しさと体験を大切にします。",
}

# -A / -T の補足説明
SUFFIX_NOTE = {
    "A": "（自信家・落ち着き型）",
    "T": "（慎重・向上心型）",
}


def get_mbti_description(mbti_type: str) -> str:
    """
    MBTIタイプ（例: ENFJ-A）に対応する説明文を返す。
    4文字部分で説明を引き、-A/-Tがあれば補足を付ける。
    """
    if not mbti_type or len(mbti_type) < 4:
        return ""
    base = mbti_type[:4].upper()
    description = MBTI_DESCRIPTIONS.get(base, "")
    if not description:
        return ""
    if len(mbti_type) >= 6 and mbti_type[4] == "-":
        suffix = mbti_type[5:6].upper()
        if suffix in SUFFIX_NOTE:
            description += " " + SUFFIX_NOTE[suffix]
    return description.strip()
