diff --git a/internal/web/handler.go b/internal/web/handler.go index cdfdeb3..8067721 100644 --- a/internal/web/handler.go +++ b/internal/web/handler.go @@ -917,7 +917,8 @@ const queryLogHTML = ` .panel { background: #111827; border: 1px solid #334155; border-radius: .85rem; overflow: hidden; } .toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .75rem; flex-wrap: wrap; } .toolbar-actions { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; } - .page-status { color: #cbd5e1; font-size: .92rem; } + .pager { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; } + .page-status { color: #cbd5e1; font-size: .92rem; min-width: 0; } .controls-panel summary { cursor: pointer; padding: 1rem; font-weight: 700; color: #e2e8f0; list-style: none; user-select: none; } .controls-panel summary::-webkit-details-marker { display: none; } .controls-panel[open] summary { border-bottom: 1px solid #334155; } @@ -932,6 +933,10 @@ const queryLogHTML = ` .field.inline-toggle input { width: auto; } .panel-actions { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; } .panel-actions .spacer { flex: 1; } + .columns-field { grid-column: 1 / -1; } + .columns-grid { display: flex; flex-wrap: wrap; gap: .5rem; } + .column-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .65rem; border-radius: 999px; border: 1px solid #334155; background: #0f172a; color: #cbd5e1; font-size: .85rem; } + .column-chip input { width: auto; margin: 0; } .table-panel { padding: 1rem; } .table-shell { overflow: hidden; } table { width: 100%; border-collapse: collapse; table-layout: fixed; } @@ -949,7 +954,7 @@ const queryLogHTML = ` .col-status { width: 4.75rem; } .col-state { width: 6.5rem; } .col-reason { width: 11rem; overflow: hidden; } - .col-actions { width: 7.5rem; } + .col-actions { width: 4rem; } .col-request { width: auto; overflow: hidden; } .request-text, .reason-text { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .status { display: inline-block; padding: .15rem .45rem; border-radius: 999px; font-size: .8rem; background: #1e293b; } @@ -969,8 +974,10 @@ const queryLogHTML = ` button.secondary { background: #475569; } button.danger { background: #dc2626; } button[disabled] { opacity: .5; cursor: default; } + .icon-button { min-width: 2.15rem; width: 2.15rem; height: 2.15rem; padding: 0; font-size: 1rem; } + .pager-button .button-label { display: inline; } .actions { display: block; } - .actions button { display: block; width: 100%; min-width: 0; } + .actions button { display: block; width: 2.15rem; height: 2.15rem; min-width: 0; margin-left: auto; padding: 0; } .actions .muted { display: block; text-align: center; } .ip-cell { display: flex; align-items: center; gap: .45rem; min-width: 0; max-width: 100%; } .ip-link { display: block; flex: 1 1 auto; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } @@ -997,6 +1004,9 @@ const queryLogHTML = ` @media (max-width: 720px) { header { padding: .9rem 1rem; } main { padding: 1rem; } + .toolbar-actions { justify-content: space-between; } + .pager { width: 100%; justify-content: space-between; } + .pager-button .button-label { display: none; } .table-shell { overflow-x: auto; } table { min-width: 980px; } } @@ -1113,6 +1123,7 @@ const queryLogHTML = `
| Time | -IP | -Method | -Source | -Request | -Status | -State | -Reason | -Actions | +Time | +IP | +Method | +Source | +Request | +Status | +State | +Reason | +Actions |
|---|