GitHub Action
Sync from GitHub
ef78361
Raw
History Blame Contribute Delete
1.11 kB
"""๋ฆฌํฌํŠธ 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