from __future__ import annotations
from typing import Dict, List
from fastapi import APIRouter, Request
from fastapi.responses import HTMLResponse
from app.web.deps import templates

router = APIRouter()

@router.get("/gov/agenda", response_class=HTMLResponse)
async def gov_agenda(request: Request):
    vision = "국민이 주인인 나라, 함께 행복한 대한민국"
    principle = "경청과 통합, 공정과 신뢰, 실용과 성과"

    # 국정목표 5대 축
    goals: List[Dict] = [
        {
            "key": "goal1",
            "title": "국민이 하나되는 정치",
            "color": "bg-sky-100 border-sky-300",
            "strategies": [
                "국민주권과 민주주의의 확립",
                "정의로운 국민통합의 실현",
                "문제를 해결하는 유능한 정부",
            ],
            "count": 19,
        },
        {
            "key": "goal2",
            "title": "세계를 이끄는 혁신경제",
            "color": "bg-amber-100 border-amber-300",
            "strategies": [
                "AI 3대 강국 도약",
                "기초가 탄탄한 과학기술",
                "혁신으로 도약하는 산업 르네상스",
                "기후위기 대응과 지속가능한 에너지 전환",
                "성장을 뒷받침하는 금융혁신",
            ],
            "count": 29,
        },
        {
            "key": "goal3",
            "title": "모두가 잘사는 균형성장",
            "color": "bg-emerald-100 border-emerald-300",
            "strategies": [
                "자치분권 기반의 균형성장",
                "활력이 넘치는 민생경제",
                "협력과 상생의 공정경제",
                "희망을 실현하는 농산어촌",
            ],
            "count": 23,
        },
        {
            "key": "goal4",
            "title": "기본이 튼튼한 사회",
            "color": "bg-cyan-100 border-cyan-300",
            "strategies": [
                "생명과 안전이 우선인 사회",
                "내 삶을 돌보는 복지",
                "국민건강을 책임지는 보건의료",
                "인구위기를 극복하는 대전환",
                "누구나 존중받는 인권",
                "내 삶에 기회를 여는 성평등",
                "각자의 가능성을 키우는 교육",
                "함께 누리는 창의적 문화국가",
            ],
            "count": 37,
        },
        {
            "key": "goal5",
            "title": "국익 중심의 외교안보",
            "color": "bg-violet-100 border-violet-300",
            "strategies": [
                "국민에게 신뢰받는 강군",
                "평화 공존과 번영의 한반도",
                "세계로 향하는 실용외교",
            ],
            "count": 15,
        },
    ]
    total = sum(g["count"] for g in goals)

    return templates.TemplateResponse(
        "gov/agenda.html",
        {"request": request, "vision": vision, "principle": principle, "goals": goals, "total": total}
    )
