Fix responsive layout and header icons
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { setHeader } from 'h3'
|
||||
import { format } from 'date-fns'
|
||||
import { prisma } from '../../utils/db'
|
||||
import { requireUser } from '../../utils/auth'
|
||||
|
||||
@@ -11,23 +12,26 @@ export default defineEventHandler(async (event) => {
|
||||
})
|
||||
|
||||
const escape = (value: unknown) => `"${String(value ?? '').replaceAll('"', '""')}"`
|
||||
const categoryName = (row: typeof rows[number]) => row.category.name
|
||||
const parentCategoryName = (row: typeof rows[number]) => row.category.parent?.name || ''
|
||||
const lines = [
|
||||
['id', 'type', 'occurredAt', 'asset', 'category', 'amount', 'title', 'memo', 'latitude', 'longitude'].map(escape).join(','),
|
||||
['날짜', '유형', '자산', '상위분류', '분류', '금액', '내용', '메모', '위도', '경도', '거래ID'].map(escape).join(','),
|
||||
...rows.map(row => [
|
||||
row.id,
|
||||
row.type,
|
||||
row.occurredAt.toISOString(),
|
||||
format(row.occurredAt, 'yyyy-MM-dd'),
|
||||
row.type === 'income' ? '수입' : '지출',
|
||||
row.asset.name,
|
||||
row.category.parent ? `${row.category.parent.name} > ${row.category.name}` : row.category.name,
|
||||
parentCategoryName(row),
|
||||
categoryName(row),
|
||||
row.amount,
|
||||
row.title,
|
||||
row.memo,
|
||||
row.latitude,
|
||||
row.longitude
|
||||
row.longitude,
|
||||
row.id
|
||||
].map(escape).join(','))
|
||||
]
|
||||
|
||||
setHeader(event, 'content-type', 'text/csv; charset=utf-8')
|
||||
setHeader(event, 'content-disposition', 'attachment; filename="transactions.csv"')
|
||||
return lines.join('\n')
|
||||
setHeader(event, 'content-disposition', 'attachment; filename="money-transactions.csv"')
|
||||
return `\uFEFF${lines.join('\n')}`
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user