diff --git a/scripts/ralph/prd.json b/scripts/ralph/prd.json
index 99710d7..2159d7d 100644
--- a/scripts/ralph/prd.json
+++ b/scripts/ralph/prd.json
@@ -183,8 +183,8 @@
"Desktop păstrează navigarea existentă",
"npm run build passes"
],
- "passes": false,
- "notes": ""
+ "passes": true,
+ "notes": "Completed in iteration 10"
},
{
"id": "US-210",
diff --git a/scripts/ralph/progress.txt b/scripts/ralph/progress.txt
index 419f8be..1d1baca 100644
--- a/scripts/ralph/progress.txt
+++ b/scripts/ralph/progress.txt
@@ -58,3 +58,9 @@ User Stories: 14 (US-201 to US-214)
[2026-01-12 12:23:52] Working on story: US-207
[2026-01-12 12:23:52] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_9_US-207.log)
[2026-01-12 12:28:03] SUCCESS: Story US-207 passed!
+[2026-01-12 12:28:03] Changes committed
+[2026-01-12 12:28:03] Progress: 9/14 stories completed
+[2026-01-12 12:28:05] === Iteration 10/100 ===
+[2026-01-12 12:28:05] Working on story: US-213
+[2026-01-12 12:28:05] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_10_US-213.log)
+[2026-01-12 12:36:45] SUCCESS: Story US-213 passed!
diff --git a/src/modules/data-entry/views/receipts/ReceiptsListView.vue b/src/modules/data-entry/views/receipts/ReceiptsListView.vue
index b577862..1d7d844 100644
--- a/src/modules/data-entry/views/receipts/ReceiptsListView.vue
+++ b/src/modules/data-entry/views/receipts/ReceiptsListView.vue
@@ -54,7 +54,7 @@
:selection-active="mobileSelectionMode"
:actions="mobileTopBarActions"
@back-click="exitMobileSelectionMode"
- @menu-click="toggleMobileMenu"
+ @menu-click="showDrawer = true"
@action-click="handleTopBarAction"
/>
@@ -128,28 +128,12 @@
-
-
+
+
@@ -971,14 +955,14 @@ import { useRouter } from 'vue-router'
import { useToast } from 'primevue/usetoast'
import { useConfirm } from 'primevue/useconfirm'
import { useReceiptsStore } from '@data-entry/stores/receiptsStore'
-import { useCompanyStore } from '@data-entry/stores/sharedStores'
+import { useCompanyStore, useAuthStore } from '@data-entry/stores/sharedStores'
import { useBatchProgressStore } from '@data-entry/stores/batchProgressStore'
import Menu from 'primevue/menu'
import Dialog from 'primevue/dialog'
import Textarea from 'primevue/textarea'
import Dropdown from 'primevue/dropdown'
import Checkbox from 'primevue/checkbox'
-import Sidebar from 'primevue/sidebar' // US-040: Mobile hamburger menu
+import MobileDrawerMenu from '@shared/components/mobile/MobileDrawerMenu.vue'
import DragDropOverlay from '@data-entry/components/bulk/DragDropOverlay.vue'
// US-103: Mobile Material Design common components
import MobileTopBar from '@shared/components/mobile/MobileTopBar.vue'
@@ -996,6 +980,7 @@ const confirm = useConfirm()
const store = useReceiptsStore()
const companyStore = useCompanyStore()
const batchProgressStore = useBatchProgressStore()
+const authStore = useAuthStore()
// Rejection dialog state
const rejectDialogVisible = ref(false)
@@ -1053,15 +1038,16 @@ const handleResize = () => {
}
// US-040: Mobile Android-Native Layout State
-const mobileMenuVisible = ref(false)
+const showDrawer = ref(false)
const moreMenuRef = ref(null)
const fabVisible = ref(true)
let lastScrollY = 0
let scrollTimeout = null
-// US-040: Toggle mobile hamburger menu
-const toggleMobileMenu = () => {
- mobileMenuVisible.value = !mobileMenuVisible.value
+// Handle logout from drawer menu
+const handleLogout = async () => {
+ await authStore.logout()
+ router.push('/login')
}
// US-040: Toggle more menu (3-dot menu)
diff --git a/src/modules/reports/views/BankCashRegisterView.vue b/src/modules/reports/views/BankCashRegisterView.vue
index dbe2f10..25129c1 100644
--- a/src/modules/reports/views/BankCashRegisterView.vue
+++ b/src/modules/reports/views/BankCashRegisterView.vue
@@ -6,36 +6,16 @@
title="Trezorerie"
:show-menu="true"
:actions="mobileTopBarActions"
- @menu-click="toggleMobileMenu"
+ @menu-click="showDrawer = true"
@action-click="handleTopBarAction"
/>
-
-
+
+
@@ -413,7 +393,7 @@
import { ref, computed, onMounted, onUnmounted, watch } from "vue";
import { useToast } from "primevue/usetoast";
import { useTreasuryStore } from "@reports/stores/treasury";
-import { useCompanyStore } from "@reports/stores/sharedStores";
+import { useCompanyStore, useAuthStore } from "@reports/stores/sharedStores";
import { useAccountingPeriodStore } from "@reports/stores/sharedStores";
import { format } from "date-fns";
import { exportToExcel, exportBankCashRegisterPDF } from "@reports/utils/exportUtils";
@@ -422,12 +402,15 @@ import { exportToExcel, exportBankCashRegisterPDF } from "@reports/utils/exportU
import MobileTopBar from "@shared/components/mobile/MobileTopBar.vue";
import MobileBottomNav from "@shared/components/mobile/MobileBottomNav.vue";
import BottomSheet from "@shared/components/mobile/BottomSheet.vue";
-import Sidebar from "primevue/sidebar";
+import MobileDrawerMenu from "@shared/components/mobile/MobileDrawerMenu.vue";
+import { useRouter } from "vue-router";
const toast = useToast();
+const router = useRouter();
const treasuryStore = useTreasuryStore();
const companyStore = useCompanyStore();
const periodStore = useAccountingPeriodStore();
+const authStore = useAuthStore();
// State for company selection
const selectedCompanyId = ref(companyStore.selectedCompany?.id_firma || null);
@@ -436,11 +419,12 @@ const selectedCompanyId = ref(companyStore.selectedCompany?.id_firma || null);
const isMobile = ref(window.innerWidth < 768);
const showFilters = ref(false);
const actionsMenu = ref(null);
-const mobileMenuVisible = ref(false);
+const showDrawer = ref(false);
-// US-109: Toggle mobile hamburger menu
-const toggleMobileMenu = () => {
- mobileMenuVisible.value = !mobileMenuVisible.value;
+// Handle logout from drawer menu
+const handleLogout = async () => {
+ await authStore.logout();
+ router.push('/login');
};
// US-109: Mobile TopBar actions (filter, refresh, export)
diff --git a/src/modules/reports/views/CacheStatsView.vue b/src/modules/reports/views/CacheStatsView.vue
index b34bb95..1b50475 100644
--- a/src/modules/reports/views/CacheStatsView.vue
+++ b/src/modules/reports/views/CacheStatsView.vue
@@ -6,36 +6,16 @@
title="Statistici Cache"
:show-menu="true"
:actions="mobileTopBarActions"
- @menu-click="toggleMobileMenu"
+ @menu-click="showDrawer = true"
@action-click="handleTopBarAction"
/>
-
-
+
+