From ac2ceddf784b54ae80b25c8c5ea9f6930d0182d5 Mon Sep 17 00:00:00 2001 From: Leander Furumo Date: Thu, 22 Oct 2026 05:05:44 +0200 Subject: [PATCH] Improve mobile responsiveness across pages Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- frontend/src/App.module.css | 2 +- frontend/src/components/Header.module.css | 33 ++++++- frontend/src/components/Wireframe.module.css | 6 ++ .../src/features/auth/UserCreate.module.css | 5 + frontend/src/features/log/Log.module.css | 29 +++++- frontend/src/features/log/Log.tsx | 92 ++++++++++--------- .../src/features/register/Register.module.css | 26 ++++-- frontend/src/features/stats/OrderStats.tsx | 26 +++--- frontend/src/features/stats/ProductStats.tsx | 28 +++--- frontend/src/features/stats/Stats.module.css | 26 +++++- frontend/src/features/stats/Stats.tsx | 83 ++++++++--------- .../src/features/users/UserDetail.module.css | 18 +++- frontend/src/features/users/UserDetail.tsx | 82 ++++++++--------- 13 files changed, 290 insertions(+), 166 deletions(-) diff --git a/frontend/src/App.module.css b/frontend/src/App.module.css index 993c78c..52c3594 100644 --- a/frontend/src/App.module.css +++ b/frontend/src/App.module.css @@ -1,5 +1,5 @@ .app { flex: 1 0 auto; - max-width: 1220px; + width: min(100% - 2rem, 1220px); margin: 1rem auto; } diff --git a/frontend/src/components/Header.module.css b/frontend/src/components/Header.module.css index 6880132..c950717 100644 --- a/frontend/src/components/Header.module.css +++ b/frontend/src/components/Header.module.css @@ -1,12 +1,15 @@ .header { + width: min(100% - 2rem, 1220px); max-width: 1220px; margin: 1rem auto; } .nav { display: flex; - height: 5rem; + min-height: 5rem; align-items: center; + flex-wrap: wrap; + gap: 0.5rem 1rem; text-transform: uppercase; } @@ -41,6 +44,8 @@ .navItems { display: flex; align-items: center; + flex: 1; + flex-wrap: wrap; padding: 0; margin: 0; list-style: none; @@ -58,6 +63,32 @@ color: white; } +@media (max-width: 640px) { + .nav { + align-items: flex-start; + } + + .logoNav { + margin: 0 auto; + } + + .navItems { + justify-content: center; + gap: 0.25rem; + } + + .navLink { + display: inline-block; + padding: 0.5rem; + font-size: 0.8rem; + } + + .brand { + padding-left: 0; + font-size: 2.5rem; + } +} + /* FIXME: Duplicates Splash styles */ .brand { padding-left: 1rem; diff --git a/frontend/src/components/Wireframe.module.css b/frontend/src/components/Wireframe.module.css index eee7990..fe01263 100644 --- a/frontend/src/components/Wireframe.module.css +++ b/frontend/src/components/Wireframe.module.css @@ -27,6 +27,12 @@ border-bottom: none; } +@media (max-width: 640px) { + .wireframe { + display: none; + } +} + @keyframes isometric-rotate { 0% { transform: rotateX(70deg) rotateY(0deg) rotateZ(-45deg); diff --git a/frontend/src/features/auth/UserCreate.module.css b/frontend/src/features/auth/UserCreate.module.css index dd865ca..675286e 100644 --- a/frontend/src/features/auth/UserCreate.module.css +++ b/frontend/src/features/auth/UserCreate.module.css @@ -3,3 +3,8 @@ max-width: 500px; gap: 1rem; } + +.form input { + width: 100%; + min-width: 0; +} diff --git a/frontend/src/features/log/Log.module.css b/frontend/src/features/log/Log.module.css index 231636b..282c5d1 100644 --- a/frontend/src/features/log/Log.module.css +++ b/frontend/src/features/log/Log.module.css @@ -1,7 +1,17 @@ .log { display: grid; + min-width: 0; gap: 1rem; - grid-template-columns: repeat(2, 1fr); + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.tableWrap { + max-width: 100%; + overflow-x: auto; +} + +.tableWrap table { + width: 100%; } .disabled, .disabled a:link { @@ -30,3 +40,20 @@ .disabled a:hover { color: rgba(121, 152, 238, 0.5); } + +@media (max-width: 760px) { + .log { + grid-template-columns: minmax(0, 1fr); + } +} + +@media (max-width: 480px) { + .pagination { + gap: 0 0.5rem; + } + + .pagination a { + display: inline-block; + padding: 0.6rem 0.8rem; + } +} diff --git a/frontend/src/features/log/Log.tsx b/frontend/src/features/log/Log.tsx index 9b335b5..add5d6d 100644 --- a/frontend/src/features/log/Log.tsx +++ b/frontend/src/features/log/Log.tsx @@ -34,32 +34,34 @@ const Log = () => {

Ordre

- - - - - - - - - - - {orders.map((order) => ( - - - - - +
+
NårHvemHvaSum
{formatTime(order.created)}{order.isExternal ? "Ekstern" : `${order.customer?.firstName} ${order.customer?.lastName}`} - {(order.orderlines ?? []).map((line) => ( -
- {Number(line.amount)}x {line.product.name} -
- ))} -
{Number(order.orderSum)}
+ + + + + + - ))} - -
NårHvemHvaSum
+ + + {orders.map((order) => ( + + {formatTime(order.created)} + {order.isExternal ? "Ekstern" : `${order.customer?.firstName} ${order.customer?.lastName}`} + + {(order.orderlines ?? []).map((line) => ( +
+ {Number(line.amount)}x {line.product.name} +
+ ))} + + {Number(order.orderSum)} + + ))} + + +

Transaksjoner

- - - - - - - - - - {transactions.map((trans) => ( - - - - +
+
NårHvemInnskudd
{formatTime(trans.created)} - {trans.user.firstName} {trans.user.lastName} - {Number(trans.amount)}
+ + + + + - ))} - -
NårHvemInnskudd
+ + + {transactions.map((trans) => ( + + {formatTime(trans.created)} + + {trans.user.firstName} {trans.user.lastName} + + {Number(trans.amount)} + + ))} + + +