From 97095f50ef77be4cc98c91993d4533da12e083b6 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Mon, 12 Jan 2026 23:33:04 +0000 Subject: [PATCH] =?UTF-8?q?feat(unified-mobile-desktop-ui):=20Complete=20U?= =?UTF-8?q?S-516=20-=20Lista=20Bonuri=20-=20Meniu=20Ac=C8=9Biuni=20Per=20B?= =?UTF-8?q?on=20Material=20Design?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implemented by Ralph autonomous loop. Iteration: 18 Co-Authored-By: Claude --- scripts/ralph/prd.json | 4 +- scripts/ralph/progress.txt | 6 + .../views/receipts/ReceiptsListView.vue | 282 +++++++++++++++++- 3 files changed, 283 insertions(+), 9 deletions(-) diff --git a/scripts/ralph/prd.json b/scripts/ralph/prd.json index 4b458f5..db004a9 100644 --- a/scripts/ralph/prd.json +++ b/scripts/ralph/prd.json @@ -335,8 +335,8 @@ "npm run build passes", "Verify in browser: meniul arată modern" ], - "passes": false, - "notes": "" + "passes": true, + "notes": "Completed in iteration 18" }, { "id": "US-517", diff --git a/scripts/ralph/progress.txt b/scripts/ralph/progress.txt index df730ea..578845b 100644 --- a/scripts/ralph/progress.txt +++ b/scripts/ralph/progress.txt @@ -170,3 +170,9 @@ Design Reference: src/modules/reports/views/InvoicesView.vue [2026-01-12 23:24:26] Working on story: US-515 [2026-01-12 23:24:26] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_17_US-515.log) [2026-01-12 23:28:25] SUCCESS: Story US-515 passed! +[2026-01-12 23:28:25] Changes committed +[2026-01-12 23:28:25] Progress: 15/19 stories completed +[2026-01-12 23:28:27] === Iteration 18/100 === +[2026-01-12 23:28:27] Working on story: US-516 +[2026-01-12 23:28:27] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_18_US-516.log) +[2026-01-12 23:33:04] SUCCESS: Story US-516 passed! diff --git a/src/modules/data-entry/views/receipts/ReceiptsListView.vue b/src/modules/data-entry/views/receipts/ReceiptsListView.vue index 7d53561..113c2fa 100644 --- a/src/modules/data-entry/views/receipts/ReceiptsListView.vue +++ b/src/modules/data-entry/views/receipts/ReceiptsListView.vue @@ -1068,8 +1068,8 @@ - - + + @@ -1451,6 +1451,7 @@ const toggleMenu = (event, receipt) => { menuRef.value.toggle(event) } +// US-516: Receipt action menu items with MD3 styling classes const menuItems = computed(() => { const r = selectedReceipt.value if (!r) return [] @@ -1463,20 +1464,20 @@ const menuItems = computed(() => { items.push({ label: 'Editează', icon: 'pi pi-pencil', command: () => editReceipt(r.id) }) items.push({ label: 'Spre aprobare', icon: 'pi pi-send', command: () => confirmSubmit(r) }) items.push({ separator: true }) - items.push({ label: 'Șterge', icon: 'pi pi-trash', class: 'text-red-500', command: () => confirmDelete(r) }) + items.push({ label: 'Șterge', icon: 'pi pi-trash', class: 'menu-item-danger', command: () => confirmDelete(r) }) } // PENDING: Approve + Reject if (r.status === 'pending_review') { items.push({ separator: true }) - items.push({ label: 'Validează', icon: 'pi pi-check', class: 'text-green-500', command: () => confirmApprove(r) }) - items.push({ label: 'Respinge', icon: 'pi pi-times', class: 'text-red-500', command: () => openRejectDialog(r) }) + items.push({ label: 'Validează', icon: 'pi pi-check', class: 'menu-item-success', command: () => confirmApprove(r) }) + items.push({ label: 'Respinge', icon: 'pi pi-times', class: 'menu-item-danger', command: () => openRejectDialog(r) }) } // APPROVED: Unapprove if (r.status === 'approved') { items.push({ separator: true }) - items.push({ label: 'Anulare Validare', icon: 'pi pi-undo', class: 'text-orange-500', command: () => confirmUnapprove(r) }) + items.push({ label: 'Anulare Validare', icon: 'pi pi-undo', class: 'menu-item-warning', command: () => confirmUnapprove(r) }) } // REJECTED: Edit + Resubmit + Delete @@ -1484,7 +1485,7 @@ const menuItems = computed(() => { items.push({ label: 'Editează', icon: 'pi pi-pencil', command: () => editReceipt(r.id) }) items.push({ label: 'Retrimite', icon: 'pi pi-replay', command: () => confirmResubmit(r) }) items.push({ separator: true }) - items.push({ label: 'Șterge', icon: 'pi pi-trash', class: 'text-red-500', command: () => confirmDelete(r) }) + items.push({ label: 'Șterge', icon: 'pi pi-trash', class: 'menu-item-danger', command: () => confirmDelete(r) }) } return items @@ -5182,3 +5183,270 @@ const cleanupCompletedBatches = (storedBatchIds) => { margin-top: 4px !important; } + + +