a tool for shared writing and social publishing
0

Configure Feed

Select the types of activity you want to include in your feed.

update manage subscription

Jared Pereira (Apr 24, 2026, 5:27 PM EDT) 3ac5e9da 1ddc8501

+35 -13
+1
app/(home-pages)/p/[didOrHandle]/PubListing.tsx
··· 67 67 <SubscribeButton 68 68 autoFocus 69 69 publicationUri={props.uri} 70 + publicationUrl={record.url} 70 71 publicationName={record.name} 71 72 publicationDescription={record.description} 72 73 newsletterMode={
+1
app/lish/[did]/[publication]/PublicationContent.tsx
··· 82 82 subscribeButton={ 83 83 <SubscribeInput 84 84 publicationUri={publication.uri} 85 + publicationUrl={record?.url} 85 86 publicationName={record?.name ?? publication.name} 86 87 publicationDescription={record?.description} 87 88 newsletterMode={newsletterMode}
+1
app/lish/[did]/[publication]/[rkey]/LinearDocumentPage.tsx
··· 109 109 {document.publication?.uri && ( 110 110 <PostPubInfo 111 111 publicationUri={document.publication.uri} 112 + publicationUrl={props.pubRecord?.url} 112 113 publicationName={ 113 114 props.pubRecord?.name ?? document.publication.name 114 115 }
+29 -13
components/Subscribe/ManageSubscribe.tsx
··· 15 15 unsubscribeFromPublication, 16 16 } from "actions/publications/subscribeEmail"; 17 17 18 + const BLUESKY_FEED_URL = 19 + "https://bsky.app/profile/leaflet.pub/feed/subscribedPublications"; 20 + 18 21 export const ManageSubscription = (props: { 19 22 publicationUri: string; 23 + publicationUrl?: string; 20 24 newsletterMode: boolean; 21 25 user: ViewerUser; 22 26 }) => { ··· 115 119 116 120 return ( 117 121 <Modal 118 - title="Preferences" 122 + title={ 123 + <div className="text-secondary border-b border-border mb-2"> 124 + Preferences 125 + </div> 126 + } 119 127 className="w-md max-w-full" 120 128 trigger={ 121 129 <div className="manageSubPrefsTrigger flex gap-1 text-accent-contrast text-sm items-center "> ··· 131 139 <div className={prefClassName}> 132 140 <div className="flex flex-col leading-snug"> 133 141 <p>Linked Email</p> 134 - <p className="text-tertiary font-normal italic"> 135 - {user.email} 136 - </p> 142 + <p className="text-tertiary font-normal italic">{user.email}</p> 137 143 </div> 138 144 </div> 139 145 ) : null} ··· 141 147 <div className={prefClassName}> 142 148 <div className="flex flex-col leading-snug"> 143 149 Linked Handle 144 - <p className="text-tertiary font-normal italic"> 145 - {user.handle} 146 - </p> 150 + <p className="text-tertiary font-normal italic">{user.handle}</p> 147 151 </div> 148 152 </div> 149 153 )} 150 - <div className={prefClassName}> 151 - Get RSS Feed <GoToArrow className="text-accent-contrast" /> 152 - </div> 153 - <div className={prefClassName}> 154 - Pin Custom Bluesky Feed 154 + {props.publicationUrl && ( 155 + <a 156 + href={`${props.publicationUrl}/rss`} 157 + target="_blank" 158 + rel="noopener noreferrer" 159 + className={`${prefClassName} no-underline hover:text-accent-contrast`} 160 + > 161 + RSS Feed <GoToArrow className="text-accent-contrast" /> 162 + </a> 163 + )} 164 + <a 165 + href={BLUESKY_FEED_URL} 166 + target="_blank" 167 + rel="noopener noreferrer" 168 + className={`${prefClassName} no-underline hover:text-accent-contrast`} 169 + > 170 + Bluesky Feed 155 171 <GoToArrow className="text-accent-contrast" /> 156 - </div> 172 + </a> 157 173 158 174 {props.newsletterMode && !user.email ? ( 159 175 <div className="linkEmail accent-container p-4 text-sm flex flex-col gap-3 text-center justify-center">
+3
components/Subscribe/SubscribeButton.tsx
··· 18 18 export type SubscribeProps = { 19 19 autoFocus?: boolean; 20 20 publicationUri: string; 21 + publicationUrl?: string; 21 22 publicationName: string; 22 23 publicationDescription?: string; 23 24 newsletterMode: boolean; ··· 52 53 user.subscribed ? ( 53 54 <ManageSubscription 54 55 publicationUri={props.publicationUri} 56 + publicationUrl={props.publicationUrl} 55 57 newsletterMode={props.newsletterMode} 56 58 user={user} 57 59 /> ··· 86 88 {isSubscribed ? ( 87 89 <ManageSubscription 88 90 publicationUri={props.publicationUri} 91 + publicationUrl={props.publicationUrl} 89 92 newsletterMode={props.newsletterMode} 90 93 user={user} 91 94 />