diff --git a/fe/src/pages/ListDetailPage.vue b/fe/src/pages/ListDetailPage.vue index 17644f9..12d2455 100644 --- a/fe/src/pages/ListDetailPage.vue +++ b/fe/src/pages/ListDetailPage.vue @@ -41,6 +41,10 @@ size="sm">{{ $t('listDetailPage.buttons.addViaOcr') }} +

{{ list.description }}

@@ -161,82 +165,110 @@ @click.stop /> - - -
-
-

{{ $t('listDetailPage.expensesSection.title') }}

- -
- - - - -

{{ listDetailStore.error }}

- -
- - -
-
-
- {{ expense.description }} - {{ formatCurrency(expense.total_amount) }} - - {{ getOverallExpenseStatusText(expense.overall_settlement_status) }} - -
-
- {{ $t('listDetailPage.expensesSection.paidBy') }} {{ expense.paid_by_user?.name || - expense.paid_by_user?.email || `User ID: - ${expense.paid_by_user_id}` }} - {{ $t('listDetailPage.expensesSection.onDate') }} {{ new Date(expense.expense_date).toLocaleDateString() - }} -
- -
-
-
- {{ split.user?.name || split.user?.email || `User ID: ${split.user_id}` }} {{ - $t('listDetailPage.expensesSection.owes') }} {{ - formatCurrency(split.owed_amount) }} - - {{ getSplitStatusText(split.status) }} + +
+ + + + +

{{ listDetailStore.error }}

+ +
+ + +
+
+
+
+
+ + + + +
+
+
+ {{ expense.description }} +
+
+ {{ formatCurrency(expense.total_amount) }} — + {{ $t('listDetailPage.expensesSection.paidBy') }} {{ expense.paid_by_user?.name || + expense.paid_by_user?.email }} +
+
+
+
+ + {{ getOverallExpenseStatusText(expense.overall_settlement_status) }} +
+ + + +
-
- {{ $t('listDetailPage.expensesSection.paidAmount') }} {{ getPaidAmountForSplitDisplay(split) }} - {{ $t('listDetailPage.expensesSection.onDate') }} {{ new - Date(split.paid_at).toLocaleDateString() }} +
+ + +
+
+
+
+ {{ split.user?.name || split.user?.email || `User ID: ${split.user_id}` }} +
+
+ {{ $t('listDetailPage.expensesSection.owes') }} {{ + formatCurrency(split.owed_amount) }} +
+
+ + {{ getSplitStatusText(split.status) }} + +
+
+ +
+
+ +
+
    +
  • + {{ $t('listDetailPage.expensesSection.activityLabel') }} {{ + formatCurrency(activity.amount_paid) }} + {{ + $t('listDetailPage.expensesSection.byUser') }} {{ activity.payer?.name || `User + ${activity.paid_by_user_id}` }} {{ $t('listDetailPage.expensesSection.onDate') }} {{ new + Date(activity.paid_at).toLocaleDateString() }} +
  • +
+
- -
    -
  • - {{ $t('listDetailPage.expensesSection.activityLabel') }} {{ formatCurrency(activity.amount_paid) }} - {{ - $t('listDetailPage.expensesSection.byUser') }} {{ activity.payer?.name || `User - ${activity.paid_by_user_id}` }} {{ $t('listDetailPage.expensesSection.onDate') }} {{ new - Date(activity.paid_at).toLocaleDateString() }} -
  • -
-
-
+
+ {{ $t('listDetailPage.settleShareModal.cancelButton') - }} + }} {{ $t('listDetailPage.settleShareModal.confirmButton') - }} + }} @@ -1277,55 +1309,103 @@ const handleDragEnd = async (evt: any) => { } }; +const expandedExpenses = ref>(new Set()); + +const toggleExpense = (expenseId: number) => { + const newSet = new Set(expandedExpenses.value); + if (newSet.has(expenseId)) { + newSet.delete(expenseId); + } else { + // Optional: collapse others when one is opened + // newSet.clear(); + newSet.add(expenseId); + } + expandedExpenses.value = newSet; +}; + +const isExpenseExpanded = (expenseId: number) => { + return expandedExpenses.value.has(expenseId); +}; +