v1.1.1 Poprawki UI: listy zakupów i nawigacja
All checks were successful
Build and Push Docker Images / build-and-push (push) Successful in 1m42s
All checks were successful
Build and Push Docker Images / build-and-push (push) Successful in 1m42s
Napraw poziome przewijanie formularza dodawania produktu na liście zakupów na telefonie. Usuń Historię i Statystyki z dolnej nawigacji i dodaj je jako kafelki na ekranie głównym między rozliczeniami a wydatkami wg kategorii. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -8,13 +8,11 @@ export default function BottomNav() {
|
||||
const items = [
|
||||
{ to: '/', label: t('bottomNav.home'), icon: 'home', end: true },
|
||||
{ to: '/calendar', label: t('bottomNav.calendar'), icon: 'calendar_month' },
|
||||
{ to: '/history', label: t('bottomNav.history'), icon: 'receipt_long' },
|
||||
];
|
||||
|
||||
const rightItems = [
|
||||
{ to: '/shopping', label: t('bottomNav.shopping'), icon: 'checklist' },
|
||||
{ to: '/settlements', label: t('bottomNav.settlements'), icon: 'payments' },
|
||||
{ to: '/stats', label: t('bottomNav.stats'), icon: 'bar_chart' },
|
||||
];
|
||||
|
||||
return (
|
||||
|
||||
@@ -50,6 +50,17 @@ export default function Dashboard() {
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="dashboard-nav-tiles">
|
||||
<button type="button" className="dashboard-nav-tile" onClick={() => navigate('/history')}>
|
||||
<Icon name="receipt_long" />
|
||||
<span>{t('bottomNav.history')}</span>
|
||||
</button>
|
||||
<button type="button" className="dashboard-nav-tile" onClick={() => navigate('/stats')}>
|
||||
<Icon name="bar_chart" />
|
||||
<span>{t('bottomNav.stats')}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div className="card">
|
||||
<h3>{t('dashboard.expensesByCategoryTitle')}</h3>
|
||||
{!summary ? <p>{t('common.loading')}</p> : <CategoryPieChart data={summary.byCategory} currency={currency} />}
|
||||
|
||||
@@ -85,7 +85,7 @@ input, select, button, textarea { font-family: inherit; font-size: 1rem; color:
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(7, 1fr);
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
background: var(--card);
|
||||
@@ -275,6 +275,30 @@ input, select, button, textarea { font-family: inherit; font-size: 1rem; color:
|
||||
}
|
||||
.suggestion-btn:hover, .suggestion-btn:focus-visible { background: var(--accent-bg); }
|
||||
|
||||
.dashboard-nav-tiles {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.dashboard-nav-tile {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 6px;
|
||||
background: var(--card);
|
||||
border: none;
|
||||
border-radius: 16px;
|
||||
padding: 20px;
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.06);
|
||||
color: var(--text);
|
||||
font: inherit;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
}
|
||||
.dashboard-nav-tile .material-symbols-outlined { font-size: 1.5rem; color: var(--primary); }
|
||||
|
||||
.summary-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
|
||||
@@ -745,6 +769,7 @@ input, select, button, textarea { font-family: inherit; font-size: 1rem; color:
|
||||
}
|
||||
.shopping-add-list-form input, .shopping-add-item-form input {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
box-sizing: border-box;
|
||||
padding: 12px;
|
||||
border-radius: 10px;
|
||||
@@ -799,8 +824,9 @@ input, select, button, textarea { font-family: inherit; font-size: 1rem; color:
|
||||
}
|
||||
.shopping-item-qty { font-size: 0.8rem; color: var(--muted); }
|
||||
.shopping-item-row.checked .shopping-item-name { color: var(--muted); text-decoration: line-through; }
|
||||
.shopping-item-edit { flex: 1; display: flex; gap: 8px; }
|
||||
.shopping-item-edit { flex: 1; min-width: 0; display: flex; gap: 8px; }
|
||||
.shopping-item-edit input {
|
||||
min-width: 0;
|
||||
box-sizing: border-box;
|
||||
padding: 8px;
|
||||
border-radius: 8px;
|
||||
@@ -809,4 +835,4 @@ input, select, button, textarea { font-family: inherit; font-size: 1rem; color:
|
||||
color: var(--text);
|
||||
}
|
||||
.shopping-item-edit input:first-child { flex: 1; }
|
||||
.shopping-item-qty-input { width: 90px; flex-shrink: 0; }
|
||||
.shopping-item-qty-input { width: 72px; flex-shrink: 0; }
|
||||
|
||||
Reference in New Issue
Block a user