Skip to content

Commit 6e12b12

Browse files
Merge pull request #26 from frasermolyneux/copilot/fix-mobile-navigation-issues
Fix mobile navigation collapse and RCON table overflow
2 parents 263c3e7 + 638be06 commit 6e12b12

2 files changed

Lines changed: 50 additions & 15 deletions

File tree

src/XtremeIdiots.Portal.Web/Views/ServerAdmin/ViewRcon.cshtml

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,22 @@
2222
<h5>Connected Players</h5>
2323
</div>
2424
<div class="ibox-content">
25-
<table id="dataTable" class="table table-striped table-hover" style="width:100%">
26-
<thead>
27-
<tr>
28-
<th>#</th>
29-
<th>Username</th>
30-
<th>Guid</th>
31-
<th>IP Address</th>
32-
<th>Rate</th>
33-
<th>Actions</th>
34-
</tr>
35-
</thead>
36-
<tbody>
37-
</tbody>
38-
</table>
25+
<div class="table-responsive">
26+
<table id="dataTable" class="table table-striped table-hover w-100">
27+
<thead>
28+
<tr>
29+
<th scope="col">#</th>
30+
<th scope="col">Username</th>
31+
<th scope="col">Guid</th>
32+
<th scope="col">IP Address</th>
33+
<th scope="col">Rate</th>
34+
<th scope="col">Actions</th>
35+
</tr>
36+
</thead>
37+
<tbody>
38+
</tbody>
39+
</table>
40+
</div>
3941
</div>
4042
</div>
4143

@@ -196,12 +198,27 @@
196198
processing: true,
197199
pageLength: 50,
198200
stateSave: true,
201+
responsive: {
202+
details: {
203+
type: 'inline',
204+
target: 'tr'
205+
}
206+
},
207+
autoWidth: false,
199208
order: [[0, "asc"]],
200209
ajax: {
201210
url: '/ServerAdmin/GetRconPlayers/@Model.GameServerId',
202211
dataSrc: 'data',
203212
error: handleAjaxError
204213
},
214+
columnDefs: [
215+
{ targets: 0, responsivePriority: 1 }, // # (Num) - always visible
216+
{ targets: 1, responsivePriority: 2 }, // Username - always visible
217+
{ targets: 2, responsivePriority: 5 }, // Guid - hide first on small screens
218+
{ targets: 3, responsivePriority: 4 }, // IP Address - hide on smaller screens
219+
{ targets: 4, responsivePriority: 6 }, // Rate - hide first on small screens
220+
{ targets: 5, responsivePriority: 3 } // Actions - keep visible
221+
],
205222
columns: [
206223
{
207224
data: 'num',
@@ -250,7 +267,6 @@
250267
{
251268
data: null,
252269
sortable: false,
253-
width: '200px',
254270
render: function (data, type, row) {
255271
if (!row.num) return '';
256272

src/XtremeIdiots.Portal.Web/wwwroot/css/responsive-overrides.css

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,25 @@ body:not(.mini-navbar) .metismenu .nav-second-level.collapse:not(.show) {
7474
display: block;
7575
}
7676

77+
/* Fix for mobile navigation: prevent submenus from collapsing immediately on touch devices */
78+
@media (max-width: 768px) {
79+
/* Ensure submenu stays open when tapped on mobile */
80+
.metismenu .nav-second-level.collapse.show,
81+
.metismenu .nav-second-level.collapsing {
82+
display: block !important;
83+
}
84+
85+
/* Keep parent menu item active state visible */
86+
.metismenu > li.active > .nav-second-level {
87+
display: block;
88+
}
89+
90+
/* Prevent accidental collapse during touch interaction */
91+
.metismenu .nav-second-level {
92+
transition: none;
93+
}
94+
}
95+
7796
/* Keep icons-only (mini-navbar) menus open while interacting with the submenu */
7897
body.mini-navbar .metismenu>li.active>.nav-second-level.collapse,
7998
body.mini-navbar .metismenu>li:hover>.nav-second-level.collapse,

0 commit comments

Comments
 (0)