Spaces:
Sleeping
Sleeping
Update css.py
Browse files
css.py
CHANGED
|
@@ -4,6 +4,7 @@ import re
|
|
| 4 |
import uuid
|
| 5 |
import pandas as pd
|
| 6 |
import time
|
|
|
|
| 7 |
from datetime import datetime # νμμ€ν¬νμ©
|
| 8 |
|
| 9 |
# ββββββββββββββββββ λ§νμ μμ± ν¨μ
|
|
@@ -43,7 +44,11 @@ def render_message(
|
|
| 43 |
fsz = "13px"
|
| 44 |
|
| 45 |
message = str(message).rstrip()
|
| 46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
# κ³΅ν΅ νμ λνΌ
|
| 49 |
# β
μΉ΄ν‘ μ€νμΌ: μκ°μ λ§νμ 'λ°' (μΌμͺ½: λ΄=μκ°+λ²λΈ, μ€λ₯Έμͺ½: μ μ =λ²λΈ+μκ°)
|
|
@@ -59,14 +64,14 @@ def render_message(
|
|
| 59 |
# μ¬μ©μ: μκ°(μ’) + λ²λΈ
|
| 60 |
ts = (
|
| 61 |
f'''<span style="font-size:11px;color:#888;white-space:nowrap;'''
|
| 62 |
-
f'''align-self:flex-end;margin:0
|
| 63 |
)
|
| 64 |
inner = ts + bubble
|
| 65 |
else:
|
| 66 |
# λ΄: λ²λΈ + μκ°(μ°)
|
| 67 |
ts = (
|
| 68 |
f'''<span style="font-size:11px;color:#888;white-space:nowrap;'''
|
| 69 |
-
f'''align-self:flex-end;margin:0 0 2px
|
| 70 |
)
|
| 71 |
inner = bubble + ts
|
| 72 |
else:
|
|
@@ -75,7 +80,7 @@ def render_message(
|
|
| 75 |
row_align = "flex-end" if sender == "user" else "flex-start"
|
| 76 |
return (
|
| 77 |
f'''<div style="display:flex;align-items:flex-end;justify-content:{row_align};'''
|
| 78 |
-
f'''gap:
|
| 79 |
)
|
| 80 |
|
| 81 |
if not animated:
|
|
|
|
| 4 |
import uuid
|
| 5 |
import pandas as pd
|
| 6 |
import time
|
| 7 |
+
from zoneinfo import ZoneInfo
|
| 8 |
from datetime import datetime # νμμ€ν¬νμ©
|
| 9 |
|
| 10 |
# ββββββββββββββββββ λ§νμ μμ± ν¨μ
|
|
|
|
| 44 |
fsz = "13px"
|
| 45 |
|
| 46 |
message = str(message).rstrip()
|
| 47 |
+
try:
|
| 48 |
+
tz = st.session_state.get("tz", "Asia/Seoul") # κΈ°λ³Έ KST
|
| 49 |
+
ts_text = datetime.now(ZoneInfo(tz)).strftime("%H:%M")
|
| 50 |
+
except Exception:
|
| 51 |
+
ts_text = datetime.now().strftime("%H:%M") # μ€ν¨ μ μμ fallback
|
| 52 |
|
| 53 |
# κ³΅ν΅ νμ λνΌ
|
| 54 |
# β
μΉ΄ν‘ μ€νμΌ: μκ°μ λ§νμ 'λ°' (μΌμͺ½: λ΄=μκ°+λ²λΈ, μ€λ₯Έμͺ½: μ μ =λ²λΈ+μκ°)
|
|
|
|
| 64 |
# μ¬μ©μ: μκ°(μ’) + λ²λΈ
|
| 65 |
ts = (
|
| 66 |
f'''<span style="font-size:11px;color:#888;white-space:nowrap;'''
|
| 67 |
+
f'''align-self:flex-end;margin:0 2px 2px 0;">{ts_text_local}</span>'''
|
| 68 |
)
|
| 69 |
inner = ts + bubble
|
| 70 |
else:
|
| 71 |
# λ΄: λ²λΈ + μκ°(μ°)
|
| 72 |
ts = (
|
| 73 |
f'''<span style="font-size:11px;color:#888;white-space:nowrap;'''
|
| 74 |
+
f'''align-self:flex-end;margin:0 0 2px 2px;">{ts_text_local}</span>'''
|
| 75 |
)
|
| 76 |
inner = bubble + ts
|
| 77 |
else:
|
|
|
|
| 80 |
row_align = "flex-end" if sender == "user" else "flex-start"
|
| 81 |
return (
|
| 82 |
f'''<div style="display:flex;align-items:flex-end;justify-content:{row_align};'''
|
| 83 |
+
f'''gap:2px;margin:6px 0;">{inner}</div>'''
|
| 84 |
)
|
| 85 |
|
| 86 |
if not animated:
|