From 1f0dc92814fa7f22346321099a939328180107d1 Mon Sep 17 00:00:00 2001 From: Kacper Date: Mon, 3 Aug 2026 15:12:01 +0200 Subject: [PATCH] =?UTF-8?q?v1.1.1=20Poprawki=20UI:=20listy=20zakup=C3=B3w?= =?UTF-8?q?=20i=20nawigacja?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- frontend/src/components/BottomNav.jsx | 2 -- frontend/src/pages/Dashboard.jsx | 11 +++++++++ frontend/src/styles.css | 32 ++++++++++++++++++++++++--- 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/BottomNav.jsx b/frontend/src/components/BottomNav.jsx index ed31d50..513109d 100644 --- a/frontend/src/components/BottomNav.jsx +++ b/frontend/src/components/BottomNav.jsx @@ -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 ( diff --git a/frontend/src/pages/Dashboard.jsx b/frontend/src/pages/Dashboard.jsx index 572b80c..671437f 100644 --- a/frontend/src/pages/Dashboard.jsx +++ b/frontend/src/pages/Dashboard.jsx @@ -50,6 +50,17 @@ export default function Dashboard() { )} +
+ + +
+

{t('dashboard.expensesByCategoryTitle')}

{!summary ?

{t('common.loading')}

: } diff --git a/frontend/src/styles.css b/frontend/src/styles.css index 5c54168..1df87b1 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -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; }