Fix mobile layout: wrap unresponsive tables, let the group filter bar wrap (#42)

Auditing mobile/responsive views turned up two classes of bug:

1. Missing .table-responsive wrapper (token.ejs and profile.ejs's other
   table already had it): admin.ejs (2 tables), invites.ejs (6 columns),
   notifications.ejs (5 columns), users.ejs (7 columns — the worst case).
   Without it these overflow the page horizontally on narrow viewports
   instead of scrolling within the table.

2. groups.ejs's search/sort/count toolbar was a plain `d-flex` (no
   flex-wrap) containing a search input, a <select> with a hard
   min-width:175px, and a nowrap count span — on a narrow viewport
   there's nowhere for that content to go but off-screen. Added
   flex-wrap and gave the search input a flex-basis so it wraps onto
   its own line first when space is tight.

Verified: EJS compiles for all five templates, npm test 192/192 pass,
and fetched each route from a running instance to confirm the fixes
are present in the served HTML.
This commit is contained in:
2026-07-14 21:18:01 -04:00
committed by GitHub
parent 3ceeeeeca1
commit f72e8881cf
5 changed files with 12 additions and 2 deletions
+2 -2
View File
@@ -123,8 +123,8 @@
</script>
<div class="row" style="display:none;">
<div class="d-flex gap-2 align-items-center">
<div class="input-group">
<div class="d-flex flex-wrap gap-2 align-items-center">
<div class="input-group" style="flex: 1 1 200px;">
<span class="input-group-text"><i class="fa-solid fa-magnifying-glass"></i></span>
<input type="text" id="groupSearch" class="form-control" placeholder="Search groups…" oninput="applyFilters()">
</div>