mirror of
https://github.com/zvx-echo6/central.git
synced 2026-08-26 17:31:39 +00:00
gui: stack consumers page stream blocks full-width (fix table overflow) (#118)
The 7-column consumer tables were rendering inside the shared `.cols` multi-column grid (minmax 240px), causing every table to overflow its card horizontally — right-hand columns and Delete buttons appeared outside the card border, visually detached from their rows. Fix: replace `.cols` with a new `.consumer-streams` flex-column container (consumers_list.html only) so each stream block is full-width and stacked vertically. Added a `.consumer-table-wrap` div with `overflow-x: auto` as a safety net for narrow viewports. The shared `.cols` class and the streams page are untouched. All existing content is preserved: 7 columns, None-guards (em dash), the `central-owned` label for archive-* consumers (no Delete button), the red Delete form + CSRF for deletable consumers, the legend, and the "(no consumers)" empty state. Version bump 0.14.7 → 0.14.8. Co-authored-by: Ubuntu <zvx@cortex.echo6.co> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
832804817e
commit
a84ac0f911
3 changed files with 13 additions and 2 deletions
|
|
@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "central"
|
name = "central"
|
||||||
version = "0.14.7"
|
version = "0.14.8"
|
||||||
requires-python = ">=3.12,<3.13"
|
requires-python = ">=3.12,<3.13"
|
||||||
description = "Data hub spine — adapters, bus, archive."
|
description = "Data hub spine — adapters, bus, archive."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|
|
||||||
|
|
@ -194,6 +194,15 @@ button:disabled, .btn:disabled { opacity: 0.5; cursor: not-allowed; }
|
||||||
|
|
||||||
.cols { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
|
.cols { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
|
||||||
|
|
||||||
|
/* ─── consumers page: full-width stacked stream blocks ──────────────────── */
|
||||||
|
/* Unlike .cols (multi-column grid used by streams/dashboard), these stream
|
||||||
|
blocks need the full page width because each table has 7 columns. */
|
||||||
|
.consumer-streams { display: flex; flex-direction: column; gap: 16px; }
|
||||||
|
.consumer-streams > article { margin-bottom: 0; width: 100%; }
|
||||||
|
/* Safety net: scroll horizontally on very narrow viewports instead of
|
||||||
|
overflowing the card border. Default desktop view shows the full table. */
|
||||||
|
.consumer-table-wrap { overflow-x: auto; }
|
||||||
|
|
||||||
/* cards (formerly the framework's <article>) */
|
/* cards (formerly the framework's <article>) */
|
||||||
article, .card {
|
article, .card {
|
||||||
border: 1px solid var(--rule);
|
border: 1px solid var(--rule);
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<em>Pending</em> and zero <em>Waiting</em> has accumulated unacknowledged messages and
|
<em>Pending</em> and zero <em>Waiting</em> has accumulated unacknowledged messages and
|
||||||
has no active subscriber — it is safe to delete if it is not a central-owned consumer.</p>
|
has no active subscriber — it is safe to delete if it is not a central-owned consumer.</p>
|
||||||
|
|
||||||
<div class="cols">
|
<div class="consumer-streams">
|
||||||
{% for stream in streams %}
|
{% for stream in streams %}
|
||||||
<article>
|
<article>
|
||||||
<header><strong>{{ stream.stream }}</strong></header>
|
<header><strong>{{ stream.stream }}</strong></header>
|
||||||
|
|
@ -16,6 +16,7 @@ has no active subscriber — it is safe to delete if it is not a central-owned c
|
||||||
{% if stream.error %}
|
{% if stream.error %}
|
||||||
<p class="error" style="margin-top: 0.5rem;">({{ stream.error }})</p>
|
<p class="error" style="margin-top: 0.5rem;">({{ stream.error }})</p>
|
||||||
{% elif stream.consumers %}
|
{% elif stream.consumers %}
|
||||||
|
<div class="consumer-table-wrap">
|
||||||
<table style="width: 100%; border-collapse: collapse; margin-top: 0.5rem;">
|
<table style="width: 100%; border-collapse: collapse; margin-top: 0.5rem;">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
@ -52,6 +53,7 @@ has no active subscriber — it is safe to delete if it is not a central-owned c
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<p class="muted" style="margin-top: 0.5rem;">(no consumers)</p>
|
<p class="muted" style="margin-top: 0.5rem;">(no consumers)</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue