From 30d7d1c3cbc794e00eba50b77a9d8db3564ce399 Mon Sep 17 00:00:00 2001 From: Padreug Date: Mon, 11 May 2026 17:34:36 +0200 Subject: [PATCH] feat(restaurant): orders list + settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit views/OrdersListPage.vue — grouped by day, source of truth is STORAGE_SERVICE['restaurant.lastOrders.v1'] (newest first, cap 50). Each row deep-links to /orders/:id where the detail page re-fetches the live order over REST so stale status never displays here. views/SettingsPage.vue — customer-side preferences persisted to STORAGE_SERVICE['restaurant.settings.v1']: - currencyDisplay toggle ('sats' | 'msat'). Local display only, the extension is always msat-canonical. - relayOverride input (comma-separated). Reload required since RelayHub initializes once on boot. - 'Clear local data' destructive button — wipes cart, history, recent venues but does NOT refund/cancel placed orders. Routes added: /orders, /settings. Verified: vue-tsc -b clean against the whole webapp. --- src/modules/restaurant/index.ts | 12 ++ .../restaurant/views/OrdersListPage.vue | 116 +++++++++++++ src/modules/restaurant/views/SettingsPage.vue | 153 ++++++++++++++++++ 3 files changed, 281 insertions(+) create mode 100644 src/modules/restaurant/views/OrdersListPage.vue create mode 100644 src/modules/restaurant/views/SettingsPage.vue diff --git a/src/modules/restaurant/index.ts b/src/modules/restaurant/index.ts index ea1b181..643a61f 100644 --- a/src/modules/restaurant/index.ts +++ b/src/modules/restaurant/index.ts @@ -106,6 +106,18 @@ export const restaurantModule: ModulePlugin = { component: () => import('./views/OrderStatusPage.vue'), meta: { requiresAuth: false, title: 'Order' }, }, + { + path: '/orders', + name: 'restaurant-orders', + component: () => import('./views/OrdersListPage.vue'), + meta: { requiresAuth: false, title: 'Orders' }, + }, + { + path: '/settings', + name: 'restaurant-settings', + component: () => import('./views/SettingsPage.vue'), + meta: { requiresAuth: false, title: 'Settings' }, + }, ] as RouteRecordRaw[], } diff --git a/src/modules/restaurant/views/OrdersListPage.vue b/src/modules/restaurant/views/OrdersListPage.vue new file mode 100644 index 0000000..fabbc8c --- /dev/null +++ b/src/modules/restaurant/views/OrdersListPage.vue @@ -0,0 +1,116 @@ + + + diff --git a/src/modules/restaurant/views/SettingsPage.vue b/src/modules/restaurant/views/SettingsPage.vue new file mode 100644 index 0000000..99b0d28 --- /dev/null +++ b/src/modules/restaurant/views/SettingsPage.vue @@ -0,0 +1,153 @@ + + +