Keep is a button on the show's page, a plus, not a switch in its settings (#280)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-17 22:02:55 +00:00
parent c90a66a24f
commit 7f61250852
5 changed files with 31 additions and 31 deletions

View File

@@ -578,9 +578,6 @@ function settingsModal(f: Feed, newUrl?: string){
const kids=S.feeds.filter(c=>c.group===f.id).length;
const isGroup=kids>0;
const parent=f.managed?S.feeds.find(p=>p.id===f.group):null;
// A show from an OPML or a Patreon creator, which you may keep should the list drop it (#280).
const list=f.managed&&!!f.group;
const listName=parent?(parent.title||parent.id):f.group||'';
const admin=!!(S.me&&S.me.admin);
const name=f.title||f.id;
// Blank follows the server's default; 0 is every item (#166).
@@ -619,9 +616,6 @@ function settingsModal(f: Feed, newUrl?: string){
<div class="dpslide"><input type="range" id="sdpause" min="200" max="500" step="100" value="${f.deadair_pause||300}"${f.deadair?'':' disabled'}></div>
<div class="dpends" aria-hidden="true"><span>Brisk</span><span>Relaxed</span></div>
<p class="cap">The silence kept where a long one is cut. More is easier on the ear; less saves more time.</p></div></div></div>
${list?`<div class="ffield">${sw(`<input type="checkbox" role="switch" id="skept"${f.kept?' checked':''}>`,'Keep',' lead')}
<p class="cap">Stays on your list as a show of its own if ${esc(listName)} stops listing it, or if you
unsubscribe from ${esc(listName)}.</p></div>`:''}
${isGroup?'':`<div class="ffield"><label class="flabel" for="sblockin">Hide items that mention</label>
<div class="chips" id="sblock">${chipsHTML(f.blocked||[],'sblockin')}</div>
<p class="cap">Whole words or phrases. Hidden from your list and not downloaded for you, along
@@ -719,8 +713,6 @@ function settingsModal(f: Feed, newUrl?: string){
auto_download:$<HTMLInputElement>('#sauto').checked, allow_explicit:$<HTMLInputElement>('#sexp').checked, deadair:$<HTMLInputElement>('#sdead').checked,
deadair_pause:Number($<HTMLInputElement>('#sdpause').value)};
if($('#sblock')) patch.blocked=chipWords($('#sblock'));
const kept=$<HTMLInputElement>('#skept');
if(kept&&kept.checked!==!!f.kept) patch.kept=kept.checked;
// Sent only when it changed: anyone may mark a feed private, but only an admin unmark it.
const priv=$<HTMLInputElement>('#sprivate');
if(!priv.disabled&&priv.checked!==!!f.private) patch.private=priv.checked;