+
@@ -506,6 +506,11 @@ const hasActiveFilters = computed(() => {
return localFilters.value.cont !== "" || localFilters.value.denumire !== "";
});
+// Mobile: Accounts with non-zero final balance (avoids inline .filter() in template)
+const filteredMobileAccounts = computed(() =>
+ trialBalanceStore.trialBalanceData.filter(a => a.sold_final_debit > 0 || a.sold_final_credit > 0)
+);
+
// Mobile: Actions menu items
const actionMenuItems = computed(() => [
{
@@ -1123,40 +1128,55 @@ watch(
}
/* ================================================
- US-108: Mobile Card List (Account Cards)
+ Mobile Flat List (Account Rows)
================================================ */
-.mobile-card-list {
+.mobile-flat-list {
display: flex;
flex-direction: column;
- gap: var(--space-sm);
}
-.mobile-data-card {
- background: var(--surface-card);
- border: 1px solid var(--surface-border);
- border-radius: var(--radius-md);
- padding: var(--space-md);
-}
-
-.mobile-data-card .card-header {
- font-weight: var(--font-semibold);
- color: var(--text-color);
- margin-bottom: var(--space-xs);
- font-size: var(--text-base);
-}
-
-.mobile-data-card .card-row {
+.flat-row {
display: flex;
justify-content: space-between;
align-items: center;
- font-size: var(--text-sm);
- color: var(--text-color-secondary);
+ border-bottom: 1px solid var(--surface-border);
+ min-height: 44px;
+ padding: var(--space-sm) var(--space-md);
+ gap: var(--space-sm);
}
-.mobile-data-card .card-amount {
- font-weight: var(--font-semibold);
+.flat-row-left {
+ display: flex;
+ align-items: center;
+ gap: var(--space-sm);
+ flex: 1;
+ min-width: 0;
+}
+
+.flat-cont {
+ font-weight: var(--font-bold);
color: var(--text-color);
+ font-size: var(--text-sm);
+ min-width: 48px;
+ flex-shrink: 0;
+}
+
+.flat-denumire {
+ color: var(--text-color-secondary);
+ font-size: var(--text-sm);
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.flat-sold {
+ font-weight: var(--font-semibold);
+ font-variant-numeric: tabular-nums;
+ font-size: var(--text-sm);
+ color: var(--text-color);
+ text-align: right;
+ flex-shrink: 0;
}
.mobile-empty {
diff --git a/src/shared/components/mobile/MobileBottomNav.vue b/src/shared/components/mobile/MobileBottomNav.vue
index 8c91ab9..4fc5ba3 100644
--- a/src/shared/components/mobile/MobileBottomNav.vue
+++ b/src/shared/components/mobile/MobileBottomNav.vue
@@ -44,7 +44,7 @@
* Default items (4 links):
* - Dashboard (/dashboard)
* - Bonuri (/data-entry)
- * - Facturi (/reports/invoices)
+ * - Detalii (/reports/detailed-invoices)
* - Setări (/settings)
*/
@@ -58,7 +58,7 @@ defineProps({
default: () => [
{ to: '/dashboard', icon: 'pi pi-home', label: 'Dashboard' },
{ to: '/data-entry', icon: 'pi pi-shopping-bag', label: 'Bonuri' },
- { to: '/reports/invoices', icon: 'pi pi-file-edit', label: 'Facturi' },
+ { to: '/reports/detailed-invoices', icon: 'pi pi-file-edit', label: 'Detalii' },
{ to: '/settings', icon: 'pi pi-cog', label: 'Setări' }
],
validator: (items) => {
diff --git a/src/shared/components/mobile/MobileDrawerMenu.vue b/src/shared/components/mobile/MobileDrawerMenu.vue
index 9f00f47..7f6d2ee 100644
--- a/src/shared/components/mobile/MobileDrawerMenu.vue
+++ b/src/shared/components/mobile/MobileDrawerMenu.vue
@@ -715,18 +715,18 @@ const principaleItems = [
{ to: '/data-entry', icon: 'pi pi-shopping-bag', label: 'Bonuri', exactMatch: false }
]
-// RAPOARTE: Facturi, Balanță, Casă, Bancă (US-519: separate pages)
+// RAPOARTE: Facturi, Facturi Detaliate, Balanță, Casă, Bancă (US-519: separate pages)
const rapoarteItems = [
{ to: '/reports/invoices', icon: 'pi pi-file', label: 'Facturi', exactMatch: true },
+ { to: '/reports/detailed-invoices', icon: 'pi pi-list', label: 'Facturi Detaliate', exactMatch: true },
{ to: '/reports/trial-balance', icon: 'pi pi-calculator', label: 'Balanță', exactMatch: true },
{ to: '/reports/cash', icon: 'pi pi-wallet', label: 'Casă', exactMatch: true },
{ to: '/reports/bank', icon: 'pi pi-building', label: 'Bancă', exactMatch: true }
]
-// ANALIZE: Scadențe, Facturi Detaliate
+// ANALIZE: Scadențe
const analizeItems = [
- { to: '/reports/maturity-analysis', icon: 'pi pi-clock', label: 'Scadențe', exactMatch: true },
- { to: '/reports/detailed-invoices', icon: 'pi pi-list', label: 'Facturi Detaliate', exactMatch: true }
+ { to: '/reports/maturity-analysis', icon: 'pi pi-clock', label: 'Scadențe', exactMatch: true }
]
// ADMINISTRARE: Setări