diff --git a/CHANGELOG.md b/CHANGELOG.md index cd5da25..7e9e363 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- A feed's settings are redesigned: downloading on its own is a switch with what depends on it beneath, how many is Default, Newest or All shown on a strip of the show's own episodes, words to pick or hide are chips, the settings shared by everyone sit apart, and Save is always in reach. +- A feed's settings are redesigned: downloading on its own is a switch with what depends on it beneath, how many is Default, Newest or All shown on a strip of the show's own episodes, words to pick or hide are chips, the feed's address is at the top with a copy button, and Save is always in reach. Its folder and Directory category are no longer in it. - The feed list's traces show each of its database queries, so it can be told where its time goes. - Saving a feed's settings asks the database for your subscription once, not twice. - `ipx add` and Add feed in the page add a feed the same way, through one piece of code. diff --git a/web/app.css b/web/app.css index ccfc7aa..ade6aed 100644 --- a/web/app.css +++ b/web/app.css @@ -1066,6 +1066,8 @@ input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radiu .fsethead .art{width:56px;height:56px;border-radius:12px;font-size:18px} .fsethead h3{margin:0;font-size:19px;line-height:1.25;letter-spacing:-.01em;overflow-wrap:anywhere} .fsethead p{margin:3px 0 0;font-size:12.5px;line-height:1.45;color:var(--dim)} +.faddr{margin-bottom:18px} +.moved{margin:2px 0 0;font-size:13px;color:var(--accent)} /* On or off, drawn as iOS draws it, as the app is on a phone (#53). The box is the real control, unseen over the track, so a click, a tap, the keyboard and a screen reader all reach it. */ .switch{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;font-size:14px;font-weight:500;cursor:pointer} @@ -1115,13 +1117,6 @@ input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radiu .chipx:hover{background:var(--raise);color:var(--fg)} .chipx .i{width:9px;height:9px} .chips .chipin{flex:1 0 8ch;width:auto;min-width:0;padding:4px 6px;border:0;background:none} -/* The feed's own settings, one copy for everyone and an admin's to change, set apart on the - page's own ground. */ -.fshared{margin-top:20px;padding:14px 16px 4px;border:1px solid var(--line);border-radius:10px;background:var(--bg)} -.fshared h4{margin:0 0 12px;font-size:13px;font-weight:600} -.fshared>.hint{margin:-6px 0 12px;font-size:12.5px;color:var(--dim)} -.fshared .field input{background:var(--panel)} -.moved{margin:-4px 0 12px;font-size:13px;color:var(--accent)} #toasts{position:fixed;bottom:88px;right:18px;display:flex;flex-direction:column;gap:8px;z-index:60} .toast{ background:var(--raise);border:1px solid var(--line);border-radius:9px; @@ -1339,7 +1334,7 @@ body:has(#player.on) #status{padding-bottom:3px} .fsetbody{padding:20px 16px 24px} .card.fset .fsetfoot{padding:12px 16px calc(12px + var(--safe-b))} .fsethead .art{width:64px;height:64px;border-radius:14px} - .fsethead p,.wcap,.cap,.fshared>.hint{font-size:14px} + .fsethead p,.wcap,.cap{font-size:14px} .switch,.flabel{font-size:17px} .switch{min-height:44px} .sw{width:51px;height:31px} @@ -1352,7 +1347,6 @@ body:has(#player.on) #status{padding-bottom:3px} .chips{background:var(--panel2);border-color:var(--edge);border-radius:10px} .chip{background:var(--panel);font-size:15px;padding:5px 4px 5px 12px} .chipx{width:26px;height:26px} - .fshared{border-color:var(--edge);border-radius:14px} .fdeps{margin-left:12px} .fdepsin{padding-left:14px} .toast{border-radius:14px} @@ -1490,8 +1484,6 @@ body:has(#player.on) #status{padding-bottom:3px} :root[data-theme="glass"] .sidefoot button{border-radius:10px} } :root[data-theme="glass"] .btn.primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.35)} -/* A feed's shared settings let the glass through, a shade deeper than the card. */ -:root[data-theme="glass"] .fshared{background:color-mix(in srgb,var(--bg) 55%,transparent);border-color:var(--glass-edge)} :root[data-theme="glass"] .card.fset .fsetfoot{border-top-color:var(--glass-edge);background:color-mix(in srgb,var(--panel) 60%,transparent)} /* On a phone the rim all round a small capsule or bar read as the outline #53 took away, so the light only catches the top edge there, and the bars at the top and bottom have none. */ diff --git a/web/src/dialogs.ts b/web/src/dialogs.ts index 0e43056..a5421a0 100644 --- a/web/src/dialogs.ts +++ b/web/src/dialogs.ts @@ -482,8 +482,7 @@ function wireChips(box){ }; } -/// Your settings for one feed, and the feed's own, which are everyone's and an admin's to change -/// (#167). What it says is what will happen, in this feed's numbers: the download limit was a bare +/// Your settings for one feed, under its address (#167). What it says is what will happen, in this feed's numbers: the download limit was a bare /// box whose blank, number and 0 were explained in bold small print. function settingsModal(f, newUrl?: string){ const kids=S.feeds.filter(c=>c.group===f.id).length; @@ -502,6 +501,10 @@ function settingsModal(f, newUrl?: string){ const sw=(input: string, text: string, cls='')=>``; openModal(`
${whose}
The feed says it has moved here. Save to follow it.
':''}Whole words or phrases. Hidden from your list and not downloaded for you, along with what Settings hides everywhere.
The feed says it has moved here. Save to follow it.
':''} -Only an admin changes these.
'} -