feat: 添加收入分配规则管理页面及账户、转账、交易、分配规则等相关组件的图标渲染

This commit is contained in:
2026-01-26 02:02:03 +08:00
parent 2cb596f7af
commit 38eeb4a425
8 changed files with 72 additions and 14 deletions

View File

@@ -7,6 +7,7 @@
import React from 'react';
import { Icon } from '@iconify/react';
import type { Transaction, Category } from '../../../types';
import { isIconifyIcon } from '../../../utils/iconUtils';
import './TransactionItem.css';
interface TransactionItemProps {
@@ -102,13 +103,17 @@ const TransactionItem: React.FC<TransactionItemProps> = ({
};
return (
<div
<div
className={`transaction-item ${transaction.type} ${compact ? 'compact' : ''} ${onClick ? 'clickable' : ''} ${selected ? 'selected' : ''}`}
onClick={handleClick}
>
{/* 图标 */}
<div className={`transaction-item-icon ${transaction.type}`}>
<Icon icon={getCategoryIcon()} width={compact ? 18 : 22} />
{isIconifyIcon(getCategoryIcon()) ? (
<Icon icon={getCategoryIcon()} width={compact ? 18 : 22} />
) : (
<span style={{ fontSize: compact ? 18 : 22 }}>{getCategoryIcon()}</span>
)}
</div>
{/* 主要信息 */}
@@ -121,7 +126,7 @@ const TransactionItem: React.FC<TransactionItemProps> = ({
<span className="transaction-item-note">{transaction.note}</span>
)}
</div>
{showDate && (
<div className="transaction-item-meta">
<span className="transaction-item-date">
@@ -142,7 +147,7 @@ const TransactionItem: React.FC<TransactionItemProps> = ({
{transaction.type === 'income' ? '+' : transaction.type === 'expense' ? '-' : ''}
{formatAmount(transaction.amount)}
</span>
{/* 状态标签 */}
{(transaction.reimbursementStatus !== 'none' || transaction.refundStatus !== 'none') && (
<div className="transaction-item-badges">