feat(dashboard): mobile 2-col stats, add relative time to recent activity
This commit is contained in:
@@ -171,11 +171,14 @@ def dashboard(request: Request, user: User = Depends(get_current_user_web), db:
|
|||||||
else:
|
else:
|
||||||
sent_pct = delivered_pct = received_pct = 0
|
sent_pct = delivered_pct = received_pct = 0
|
||||||
|
|
||||||
|
from datetime import datetime, timezone as _tz
|
||||||
|
|
||||||
return templates.TemplateResponse("dashboard.html", {
|
return templates.TemplateResponse("dashboard.html", {
|
||||||
"request": request, "user": user, "profiles": profiles,
|
"request": request, "user": user, "profiles": profiles,
|
||||||
"total": total, "sent": sent, "delivered": delivered, "received": received,
|
"total": total, "sent": sent, "delivered": delivered, "received": received,
|
||||||
"countries": countries, "recent": recent,
|
"countries": countries, "recent": recent,
|
||||||
"sent_pct": sent_pct, "delivered_pct": delivered_pct, "received_pct": received_pct,
|
"sent_pct": sent_pct, "delivered_pct": delivered_pct, "received_pct": received_pct,
|
||||||
|
"now": datetime.now(_tz.utc),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -229,10 +229,11 @@ code { background: var(--bg); padding: .15rem .4rem; border-radius: 4px; font-si
|
|||||||
.nav-links { gap: .75rem; }
|
.nav-links { gap: .75rem; }
|
||||||
.nav-links a { font-size: .8rem; }
|
.nav-links a { font-size: .8rem; }
|
||||||
.container { margin: 1rem auto; padding: 0 1rem; }
|
.container { margin: 1rem auto; padding: 0 1rem; }
|
||||||
.dash-stats { flex-direction: column; }
|
.dash-stats { display: grid; grid-template-columns: 1fr 1fr; }
|
||||||
.dash-stat-card { min-width: 0; }
|
.dash-stat-card { min-width: 0; }
|
||||||
.dash-sections { grid-template-columns: 1fr; }
|
.dash-sections { grid-template-columns: 1fr; }
|
||||||
.recent-meta { display: none; }
|
.recent-meta > span:nth-child(-n+2) { display: none; }
|
||||||
|
.recent-meta .recent-time { display: inline; }
|
||||||
.recent-item { gap: .5rem; padding: .5rem; }
|
.recent-item { gap: .5rem; padding: .5rem; }
|
||||||
.section-header { flex-direction: column; gap: .75rem; }
|
.section-header { flex-direction: column; gap: .75rem; }
|
||||||
.section-header .btn { width: 100%; }
|
.section-header .btn { width: 100%; }
|
||||||
|
|||||||
@@ -84,6 +84,18 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
<span>← {{ pc.sender_name or '-' }}</span>
|
<span>← {{ pc.sender_name or '-' }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<span class="recent-time">
|
||||||
|
{% if pc.status == 'sent' and pc.send_time %}
|
||||||
|
{% set delta = (now.date() - pc.send_time.date()).days %}
|
||||||
|
{% if delta == 0 %}今天{% elif delta == 1 %}昨天{% else %}{{ delta }}天前{% endif %}
|
||||||
|
{% elif pc.status == 'delivered' and pc.arrival_time %}
|
||||||
|
{% set delta = (now.date() - pc.arrival_time.date()).days %}
|
||||||
|
{% if delta == 0 %}今天{% elif delta == 1 %}昨天{% else %}{{ delta }}天前{% endif %}
|
||||||
|
{% elif pc.status == 'received' and pc.receive_time %}
|
||||||
|
{% set delta = (now.date() - pc.receive_time.date()).days %}
|
||||||
|
{% if delta == 0 %}今天{% elif delta == 1 %}昨天{% else %}{{ delta }}天前{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
Reference in New Issue
Block a user