zebra-report: kick + ban onto a dedicated row in mod-actions
Mirror of zebra-report 148116a.
This commit is contained in:
parent
ab82577cdc
commit
486243cda6
1 changed files with 24 additions and 5 deletions
|
|
@ -542,6 +542,19 @@
|
|||
margin-top: 0.2rem;
|
||||
}
|
||||
.mod-actions:empty { display: none; } /* no row gap when nothing to do */
|
||||
/* kick + ban always land on their own row beneath the primary mod
|
||||
* actions (stream toggle, role transitions). They're destructive,
|
||||
* not routine — visually separating them avoids the muscle-memory
|
||||
* misclick where 'ban' sits next to '→ speaker' and a quick stab
|
||||
* removes someone from the room. grid-column:1/-1 spans the parent
|
||||
* auto-fit row so the next auto-placed item wraps. */
|
||||
.mod-actions .acts-removal {
|
||||
grid-column: 1 / -1;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, max-content);
|
||||
gap: 0.3rem;
|
||||
margin-top: 0.15rem;
|
||||
}
|
||||
/* log lives in its own full-width section beneath the .page grid.
|
||||
* 240px default, vertical resize handle so the user can drag it
|
||||
* taller when the chatter outpaces the viewport. */
|
||||
|
|
@ -4073,16 +4086,22 @@ function renderRoom(){
|
|||
/* kick + ban allowed against anyone except host; cohosts also
|
||||
* can't kick/ban cohosts (host only). Two buttons because the
|
||||
* actions have different blast radius: kick = drop this session
|
||||
* (rejoinable), ban = block-by-pubkey for the room's hold window. */
|
||||
* (rejoinable), ban = block-by-pubkey for the room's hold window.
|
||||
* Nested in their own .acts-removal row so they always sit on a
|
||||
* line beneath the primary mod actions — destructive controls
|
||||
* shouldn't share a row with role-transition buttons. */
|
||||
if (m.role !== 'host' && !(m.role === 'cohost' && myRole !== 'host')){
|
||||
const removalRow = document.createElement('span');
|
||||
removalRow.className = 'acts-removal';
|
||||
const kb = document.createElement('button'); kb.className='small';
|
||||
kb.textContent = 'kick';
|
||||
kb.onclick = () => modKick(m.uuid).catch(e => logLine('err','kick: '+e.message));
|
||||
acts.appendChild(kb);
|
||||
removalRow.appendChild(kb);
|
||||
const bb = document.createElement('button'); bb.className='small';
|
||||
bb.textContent = 'ban';
|
||||
bb.onclick = () => modBan(m.uuid).catch(e => logLine('err','ban: '+e.message));
|
||||
acts.appendChild(bb);
|
||||
removalRow.appendChild(bb);
|
||||
acts.appendChild(removalRow);
|
||||
}
|
||||
}
|
||||
row.appendChild(badge); row.appendChild(handle); row.appendChild(pub);
|
||||
|
|
@ -4555,8 +4574,8 @@ logLine('', 'ready — pick a handle, type a rendezvous code, enter the space');
|
|||
|
||||
<footer style="margin:2.2rem auto 0;font-size:0.65rem;color:#999;line-height:1.7;word-break:break-all;font-family:monospace">
|
||||
<span id="pi-seal" style="color:#777;cursor:default;user-select:none" title="">page integrity</span> · built <span class="stamp-date">2026-06-03</span><br>
|
||||
md5 <span class="stamp-md5">f94223ddb524e26d41c7240ab2d4ee7f</span><br>
|
||||
sha256 <span class="stamp-sha">581cb2c1ea0bdb34e4e89a98fb8fa80fb1f1e1c1b48a46a96797225f19f85caf</span><br>
|
||||
md5 <span class="stamp-md5">cb5265cea7abb421e8c6b19ee0861317</span><br>
|
||||
sha256 <span class="stamp-sha">3ca7bec762f04cf2c4e75ee7b5f22b1e83d9924e78828a4a69641526ffdf6d7c</span><br>
|
||||
<span style="color:#bbb">hashes are of this page with these two fields zeroed — to verify, blank them and re-hash</span><br>
|
||||
<span style="color:#bbb">one self-contained file — <strong>save a copy</strong> and verify against these hashes; point at your own servers with ?signal= and ?turncred=, or <a href="host-your-own.html" style="color:#999">host your own community</a></span>
|
||||
</footer>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue