From 7a62ff08189e675fe3faf3ce760b34482eabc2a2 Mon Sep 17 00:00:00 2001 From: Zichao Lin Date: Sun, 5 Jul 2026 21:40:46 +0800 Subject: [PATCH] feat(ui): show country flag emoji next to country codes --- app/routers/web.py | 9 +++++++++ app/templates/postcard_detail.html | 2 +- app/templates/postcards.html | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/routers/web.py b/app/routers/web.py index 1f3bcb8..6238225 100644 --- a/app/routers/web.py +++ b/app/routers/web.py @@ -23,6 +23,15 @@ router = APIRouter(tags=["web"]) templates = Jinja2Templates(directory=str(Path(__file__).resolve().parent.parent / "templates")) +def _country_flag(code: str) -> str: + if not code or len(code) != 2: + return code or "" + return chr(0x1F1E6 + ord(code[0].upper()) - ord("A")) + chr(0x1F1E6 + ord(code[1].upper()) - ord("A")) + + +templates.env.filters["flag"] = _country_flag + + def _redirect(url: str) -> RedirectResponse: return RedirectResponse(url, status_code=303) diff --git a/app/templates/postcard_detail.html b/app/templates/postcard_detail.html index c5ab866..693d5af 100644 --- a/app/templates/postcard_detail.html +++ b/app/templates/postcard_detail.html @@ -44,7 +44,7 @@
状态
{{ {'sent':'已寄出','delivered':'已送达','received':'已收到'}.get(postcard.status, postcard.status) }}
{% if postcard.status in ('sent','delivered') %}
收件人
{{ postcard.recipient_name or '-' }}
-
国家/地区
{{ postcard.country or '-' }}
+
国家/地区
{{ postcard.country|flag }} {{ postcard.country or '-' }}
寄出时间
{{ postcard.send_time.strftime('%Y-%m-%d') if postcard.send_time else '-' }}
到达时间
{{ postcard.arrival_time.strftime('%Y-%m-%d') if postcard.arrival_time else '-' }}
{% else %} diff --git a/app/templates/postcards.html b/app/templates/postcards.html index 92a05db..6c67111 100644 --- a/app/templates/postcards.html +++ b/app/templates/postcards.html @@ -30,7 +30,7 @@ {{ {'sent':'已寄出','delivered':'已送达','received':'已收到'}.get(pc.status, pc.status) }} {{ pc.card_number }} {% if pc.status in ('sent','delivered') %} - → {{ pc.recipient_name or '-' }} ({{ pc.country or '-' }}) + → {{ pc.recipient_name or '-' }} ({{ pc.country|flag }} {{ pc.country or '-' }}) {% else %} ← {{ pc.sender_name or '-' }} {% endif %}