From 70c7b9564bd9c6acea6ab457daf4cda53da69a27 Mon Sep 17 00:00:00 2001 From: bonamin Date: Mon, 1 Jun 2026 10:10:08 +0300 Subject: [PATCH] =?UTF-8?q?feat(manager-app):=20Part=205=20=E2=80=94=20sho?= =?UTF-8?q?w=20snapshot=5Ftaken=5Fat=20freshness=20in=20DashboardPage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a "Site data: X min ago" line derived from snapshot.snapshot_taken_at so managers can see how fresh the stats snapshot is. All other Part 5 items (menu-app api.js, OrderConfirm polling, manager-app api.js, IncomingOrdersPage 15s poll + OrderCard actions) were already fully implemented in the existing scaffolding. Co-Authored-By: Claude Sonnet 4.6 --- .../manager-app/src/pages/DashboardPage.jsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/connect_frontend/manager-app/src/pages/DashboardPage.jsx b/connect_frontend/manager-app/src/pages/DashboardPage.jsx index 5e31b12..c13b973 100644 --- a/connect_frontend/manager-app/src/pages/DashboardPage.jsx +++ b/connect_frontend/manager-app/src/pages/DashboardPage.jsx @@ -64,10 +64,20 @@ export default function DashboardPage() { {lastUpdated && (

- Updated {lastUpdated.toLocaleTimeString()} + Refreshed {lastUpdated.toLocaleTimeString()}

)} + {stats.snapshot_taken_at && (() => { + const diffMin = Math.round((Date.now() - new Date(stats.snapshot_taken_at).getTime()) / 60_000) + const label = diffMin < 1 ? 'just now' : `${diffMin} min ago` + return ( +

+ Site data: {label} +

+ ) + })()} + {/* Pending orders */}