From 921826fc871e88c7f4f29017ef6486b37d4d9630 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Mon, 12 Jan 2026 12:23:00 +0000 Subject: [PATCH] feat(mobile-navigation-improvements): Complete US-203 - Dashboard KPIs Only View Implemented by Ralph autonomous loop. Iteration: 7 Co-Authored-By: Claude --- scripts/ralph/prd.json | 4 +- scripts/ralph/progress.txt | 6 + src/modules/reports/views/DashboardView.vue | 123 +++++++++++++++++++- 3 files changed, 129 insertions(+), 4 deletions(-) diff --git a/scripts/ralph/prd.json b/scripts/ralph/prd.json index 7bc5e4f..eb42524 100644 --- a/scripts/ralph/prd.json +++ b/scripts/ralph/prd.json @@ -139,8 +139,8 @@ "Desktop rămâne neschimbat (toate secțiunile)", "npm run build passes" ], - "passes": false, - "notes": "" + "passes": true, + "notes": "Completed in iteration 7" }, { "id": "US-212", diff --git a/scripts/ralph/progress.txt b/scripts/ralph/progress.txt index d3343e4..bbee2cc 100644 --- a/scripts/ralph/progress.txt +++ b/scripts/ralph/progress.txt @@ -40,3 +40,9 @@ User Stories: 14 (US-201 to US-214) [2026-01-12 12:14:26] Working on story: US-205 [2026-01-12 12:14:26] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_6_US-205.log) [2026-01-12 12:21:23] SUCCESS: Story US-205 passed! +[2026-01-12 12:21:24] Changes committed +[2026-01-12 12:21:24] Progress: 6/14 stories completed +[2026-01-12 12:21:26] === Iteration 7/100 === +[2026-01-12 12:21:26] Working on story: US-203 +[2026-01-12 12:21:26] Running Claude... (log: /workspace/roa2web/scripts/ralph/logs/iteration_7_US-203.log) +[2026-01-12 12:23:00] SUCCESS: Story US-203 passed! diff --git a/src/modules/reports/views/DashboardView.vue b/src/modules/reports/views/DashboardView.vue index aceae7c..774c747 100644 --- a/src/modules/reports/views/DashboardView.vue +++ b/src/modules/reports/views/DashboardView.vue @@ -122,8 +122,36 @@ /> - -
+ + + + +
import { ref, computed, onMounted, onUnmounted, watch } from "vue"; +import { useRouter } from "vue-router"; import { useToast } from "primevue/usetoast"; // Import componente noi import MetricCard from "@reports/components/dashboard/cards/MetricCard.vue"; @@ -173,6 +202,7 @@ import { } from "@reports/utils/exportUtils"; const toast = useToast(); +const router = useRouter(); const companyStore = useCompanyStore(); const dashboardStore = useDashboardStore(); const periodStore = useAccountingPeriodStore(); @@ -1316,4 +1346,93 @@ onUnmounted(() => { .mobile-kpi-carousel { margin-bottom: var(--space-lg); } + +/* Mobile Quick Links Section */ +.mobile-quick-links { + display: flex; + flex-direction: column; + gap: var(--space-sm); + padding: 0 var(--space-sm); + margin-top: var(--space-md); +} + +.quick-link-card { + display: flex; + align-items: center; + gap: var(--space-md); + padding: var(--space-md); + background: var(--surface-card); + border: 1px solid var(--surface-border); + border-radius: var(--radius-md); + cursor: pointer; + transition: all var(--transition-fast); + min-height: 48px; /* MD3 touch target minimum */ +} + +.quick-link-card:hover { + background: var(--surface-hover); + border-color: var(--color-primary); +} + +.quick-link-card:active { + transform: scale(0.98); +} + +.quick-link-icon { + display: flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + background: var(--md-sys-color-primary-container, var(--primary-100)); + border-radius: var(--radius-md); + flex-shrink: 0; +} + +.quick-link-icon i { + font-size: var(--text-lg); + color: var(--md-sys-color-on-primary-container, var(--primary-700)); +} + +.quick-link-content { + display: flex; + flex-direction: column; + gap: var(--space-xs); + flex: 1; + min-width: 0; +} + +.quick-link-title { + font-size: var(--text-base); + font-weight: var(--font-semibold); + color: var(--color-text); + line-height: var(--leading-tight); +} + +.quick-link-subtitle { + font-size: var(--text-sm); + color: var(--color-text-secondary); + line-height: var(--leading-tight); +} + +.quick-link-arrow { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.quick-link-arrow i { + font-size: var(--text-base); + color: var(--color-text-secondary); +} + +/* Dark mode support for quick links */ +[data-theme="dark"] .quick-link-icon { + background: var(--md-sys-color-primary-container, var(--primary-800)); +} + +[data-theme="dark"] .quick-link-icon i { + color: var(--md-sys-color-on-primary-container, var(--primary-200)); +}