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" /> - - - - - + +
@@ -225,7 +205,7 @@