diff options
| author | Fuwn <[email protected]> | 2026-02-09 21:12:16 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-02-09 21:12:16 -0800 |
| commit | 3c0b53ccbe40a75d6105f0e22c43a9f46975d9c1 (patch) | |
| tree | 7289ba4e663ed388f0effc9462d845c9120cc785 /apps/web/app/reader/settings | |
| parent | fix: elevate to AAL2 before password/email change when MFA is enabled (diff) | |
| download | asa.news-3c0b53ccbe40a75d6105f0e22c43a9f46975d9c1.tar.xz asa.news-3c0b53ccbe40a75d6105f0e22c43a9f46975d9c1.zip | |
feat: add per-feed "hide from timeline" option
Diffstat (limited to 'apps/web/app/reader/settings')
| -rw-r--r-- | apps/web/app/reader/settings/_components/settings-shell.tsx | 2 | ||||
| -rw-r--r-- | apps/web/app/reader/settings/_components/subscriptions-settings.tsx | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/apps/web/app/reader/settings/_components/settings-shell.tsx b/apps/web/app/reader/settings/_components/settings-shell.tsx index 4153fc4..9d6c2d6 100644 --- a/apps/web/app/reader/settings/_components/settings-shell.tsx +++ b/apps/web/app/reader/settings/_components/settings-shell.tsx @@ -65,7 +65,7 @@ export function SettingsShell() { </div> </nav> <div className="flex-1 overflow-y-auto"> - <div className="max-w-3xl"> + <div className="max-w-4xl"> {activeTab === "subscriptions" && <SubscriptionsSettings />} {activeTab === "folders" && <FoldersSettings />} {activeTab === "muted-phrases" && <MutedPhrasesSettings />} diff --git a/apps/web/app/reader/settings/_components/subscriptions-settings.tsx b/apps/web/app/reader/settings/_components/subscriptions-settings.tsx index 1e9245d..7ac037d 100644 --- a/apps/web/app/reader/settings/_components/subscriptions-settings.tsx +++ b/apps/web/app/reader/settings/_components/subscriptions-settings.tsx @@ -4,6 +4,7 @@ import { useState } from "react" import { useSubscriptions } from "@/lib/queries/use-subscriptions" import { useUpdateSubscriptionTitle, + useUpdateSubscriptionHiddenFromTimeline, useUpdateFeedUrl, useUpdateFeedCredentials, useAddFeedCredentials, @@ -50,6 +51,7 @@ function SubscriptionRow({ const [editedAuthType, setEditedAuthType] = useState("bearer") const [editedCredential, setEditedCredential] = useState("") const updateTitle = useUpdateSubscriptionTitle() + const updateHiddenFromTimeline = useUpdateSubscriptionHiddenFromTimeline() const updateFeedUrl = useUpdateFeedUrl() const updateCredentials = useUpdateFeedCredentials() const addCredentials = useAddFeedCredentials() @@ -279,6 +281,22 @@ function SubscriptionRow({ </div> ) : null} <div className="flex flex-wrap items-center gap-2"> + <button + onClick={() => + updateHiddenFromTimeline.mutate({ + subscriptionIdentifier: subscription.subscriptionIdentifier, + hiddenFromTimeline: !subscription.hiddenFromTimeline, + }) + } + disabled={updateHiddenFromTimeline.isPending} + className={ + subscription.hiddenFromTimeline + ? "px-2 py-1 text-text-dim transition-colors hover:text-text-secondary disabled:opacity-50" + : "px-2 py-1 text-text-secondary transition-colors hover:text-text-primary disabled:opacity-50" + } + > + {subscription.hiddenFromTimeline ? "hidden from timeline" : "hide from timeline"} + </button> <select value={subscription.folderIdentifier ?? ""} onChange={(event) => handleFolderChange(event.target.value)} |