mirror of
https://github.com/spliit-app/spliit.git
synced 2026-03-07 12:56:12 +01:00
feat(expense-list): Display the attachment count only when the expense includes attachments (#267)
* feat(expense-list): Display the attachment count only when the expense includes attachments * handle attachments - singular & plural * move documents count between amount and date * Remove label * Use document count only instead of whole document list --------- Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
This commit is contained in:
11
src/app/groups/[groupId]/expenses/documents-count.tsx
Normal file
11
src/app/groups/[groupId]/expenses/documents-count.tsx
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import { Paperclip } from 'lucide-react'
|
||||||
|
|
||||||
|
export function DocumentsCount({ count }: { count: number }) {
|
||||||
|
if (count === 0) return <></>
|
||||||
|
return (
|
||||||
|
<div className="flex items-center">
|
||||||
|
<Paperclip className="w-3.5 h-3.5 mr-1 mt-0.5 text-muted-foreground" />
|
||||||
|
<span>{count}</span>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
'use client'
|
'use client'
|
||||||
import { ActiveUserBalance } from '@/app/groups/[groupId]/expenses/active-user-balance'
|
import { ActiveUserBalance } from '@/app/groups/[groupId]/expenses/active-user-balance'
|
||||||
import { CategoryIcon } from '@/app/groups/[groupId]/expenses/category-icon'
|
import { CategoryIcon } from '@/app/groups/[groupId]/expenses/category-icon'
|
||||||
|
import { DocumentsCount } from '@/app/groups/[groupId]/expenses/documents-count'
|
||||||
import { Button } from '@/components/ui/button'
|
import { Button } from '@/components/ui/button'
|
||||||
import { getGroupExpenses } from '@/lib/api'
|
import { getGroupExpenses } from '@/lib/api'
|
||||||
import { cn, formatCurrency, formatDate } from '@/lib/utils'
|
import { cn, formatCurrency, formatDate } from '@/lib/utils'
|
||||||
@@ -75,6 +76,9 @@ export function ExpenseCard({ expense, currency, groupId }: Props) {
|
|||||||
>
|
>
|
||||||
{formatCurrency(currency, expense.amount, locale)}
|
{formatCurrency(currency, expense.amount, locale)}
|
||||||
</div>
|
</div>
|
||||||
|
<div className="text-xs text-muted-foreground">
|
||||||
|
<DocumentsCount count={expense._count.documents} />
|
||||||
|
</div>
|
||||||
<div className="text-xs text-muted-foreground">
|
<div className="text-xs text-muted-foreground">
|
||||||
{formatDate(expense.expenseDate, locale, { dateStyle: 'medium' })}
|
{formatDate(expense.expenseDate, locale, { dateStyle: 'medium' })}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -286,6 +286,7 @@ export async function getGroupExpenses(
|
|||||||
},
|
},
|
||||||
splitMode: true,
|
splitMode: true,
|
||||||
title: true,
|
title: true,
|
||||||
|
_count: { select: { documents: true } },
|
||||||
},
|
},
|
||||||
where: {
|
where: {
|
||||||
groupId,
|
groupId,
|
||||||
|
|||||||
Reference in New Issue
Block a user