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 %}