Spaces:
Sleeping
Sleeping
File size: 1,106 Bytes
ef78361 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | """๋ฆฌํฌํธ 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
|