refactor: Update BillingManager UI for better readability and consistency, including larger icons, improved card layouts, and enhanced button styles.
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 2m0s
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 2m0s
This commit is contained in:
@@ -494,55 +494,49 @@ function BillingManager() {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Компактная статистика */}
|
{/* Статистика */}
|
||||||
<div className="row g-3 mb-4">
|
<div className="row g-3 mb-4">
|
||||||
<div className="col-md-4">
|
<div className="col-md-4">
|
||||||
<div className="card">
|
<div className="card h-100">
|
||||||
<div className="card-body py-3">
|
<div className="card-body d-flex align-items-center">
|
||||||
<div className="d-flex align-items-center">
|
<span className="avatar avatar-lg me-3 bg-blue-lt text-blue border-0">
|
||||||
<span className="avatar avatar-md me-3 bg-blue-lt text-blue border-0">
|
<IconCurrencyDollar size={32} />
|
||||||
<IconCurrencyDollar size={24} />
|
</span>
|
||||||
</span>
|
<div>
|
||||||
<div>
|
<div className="h3 mb-0 fw-bold">
|
||||||
<div className="h4 mb-0 fw-bold">
|
{formatCurrencyInRUB(totalMonthlyCosts, 'RUB')}
|
||||||
{formatCurrencyInRUB(totalMonthlyCosts, 'RUB')}
|
|
||||||
</div>
|
|
||||||
<div className="text-muted small">в месяц</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div className="text-muted small">Месячные затраты</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-md-4">
|
<div className="col-md-4">
|
||||||
<div className="card">
|
<div className="card h-100">
|
||||||
<div className="card-body py-3">
|
<div className="card-body d-flex align-items-center">
|
||||||
<div className="d-flex align-items-center">
|
<span className={`avatar avatar-lg me-3 ${overduePayments.length > 0 ? 'bg-red-lt text-red' : 'bg-green-lt text-green'} border-0`}>
|
||||||
<span className={`avatar avatar-md me-3 ${overduePayments.length > 0 ? 'bg-red-lt text-red' : 'bg-green-lt text-green'} border-0`}>
|
<IconAlertTriangle size={32} />
|
||||||
<IconAlertTriangle size={24} />
|
</span>
|
||||||
</span>
|
<div>
|
||||||
<div>
|
<div className="h3 mb-0 fw-bold">
|
||||||
<div className="h4 mb-0 fw-bold">
|
{overduePayments.length}
|
||||||
{overduePayments.length}
|
|
||||||
</div>
|
|
||||||
<div className="text-muted small">просрочено</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div className="text-muted small">Просрочено платежей</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-md-4">
|
<div className="col-md-4">
|
||||||
<div className="card">
|
<div className="card h-100">
|
||||||
<div className="card-body py-3">
|
<div className="card-body d-flex align-items-center">
|
||||||
<div className="d-flex align-items-center">
|
<span className={`avatar avatar-lg me-3 ${urgentPayments.length > 0 ? 'bg-yellow-lt text-yellow' : 'bg-azure-lt text-azure'} border-0`}>
|
||||||
<span className={`avatar avatar-md me-3 ${urgentPayments.length > 0 ? 'bg-yellow-lt text-yellow' : 'bg-azure-lt text-azure'} border-0`}>
|
<IconClock size={32} />
|
||||||
<IconClock size={24} />
|
</span>
|
||||||
</span>
|
<div>
|
||||||
<div>
|
<div className="h3 mb-0 fw-bold">
|
||||||
<div className="h4 mb-0 fw-bold">
|
{urgentPayments.length}
|
||||||
{urgentPayments.length}
|
|
||||||
</div>
|
|
||||||
<div className="text-muted small">на этой неделе</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div className="text-muted small">Оплата на этой неделе</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -596,8 +590,8 @@ function BillingManager() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="card-actions">
|
<div className="card-actions">
|
||||||
<button className="btn btn-primary btn-sm" onClick={handleAddItem}>
|
<button className="btn btn-primary" onClick={handleAddItem}>
|
||||||
<IconPlus size={16} className="me-1" />
|
<IconPlus size={18} className="me-1" />
|
||||||
Добавить
|
Добавить
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -766,13 +760,13 @@ function BillingManager() {
|
|||||||
</h3>
|
</h3>
|
||||||
<div className="card-actions">
|
<div className="card-actions">
|
||||||
<button
|
<button
|
||||||
className="btn btn-primary btn-sm"
|
className="btn btn-primary"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setPaymentDraft({ serverId: '', date: '', amount: 0, currency: 'USD', note: '' });
|
setPaymentDraft({ serverId: '', date: '', amount: 0, currency: 'USD', note: '' });
|
||||||
setShowPaymentModal(true);
|
setShowPaymentModal(true);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<IconPlus size={16} className="me-1" />
|
<IconPlus size={18} className="me-1" />
|
||||||
Добавить
|
Добавить
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user