Spaces:
Sleeping
Sleeping
| """๋ฆฌํฌํธ 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 | |