"""리포트 Feature 요약 카드.""" import streamlit as st from core.supabase_client import get_campaign_date_range, get_report_history_count def render_summary(base_ctx: dict): """리포트 요약 카드.""" campaign_id = base_ctx["campaign_id"] date_range = get_campaign_date_range(campaign_id) report_count = get_report_history_count(campaign_id) col1, col2, col3 = st.columns(3) with col1: if date_range: days = _calc_days(date_range[0], date_range[1]) st.metric("데이터 수집 기간", f"{days}일", help=f"{date_range[0]} ~ {date_range[1]}") else: st.metric("데이터 수집 기간", "N/A") with col2: st.metric("생성된 리포트", f"{report_count}건") with col3: st.metric("분석 항목", "가시성 / 인용 / 감정 / 콘텐츠") def _calc_days(start: str, end: str) -> int: """두 날짜 문자열 간 일수 계산.""" from datetime import datetime d1 = datetime.strptime(start, "%Y-%m-%d") d2 = datetime.strptime(end, "%Y-%m-%d") return (d2 - d1).days + 1