+10
app/lish/Subscribe.tsx
+10
app/lish/Subscribe.tsx
···
186
pub_uri: string;
187
base_url: string;
188
subscribers: { identity: string }[];
189
}) => {
190
let { identity } = useIdentityData();
191
let searchParams = useSearchParams();
···
195
let subscribed =
196
identity?.atp_did &&
197
props.subscribers.find((s) => s.identity === identity.atp_did);
198
199
if (successModalOpen)
200
return (
···
203
setOpen={setSuccessModalOpen}
204
/>
205
);
206
if (subscribed) {
207
return <ManageSubscription {...props} />;
208
}
···
186
pub_uri: string;
187
base_url: string;
188
subscribers: { identity: string }[];
189
+
pub_creator?: string;
190
}) => {
191
let { identity } = useIdentityData();
192
let searchParams = useSearchParams();
···
196
let subscribed =
197
identity?.atp_did &&
198
props.subscribers.find((s) => s.identity === identity.atp_did);
199
+
200
+
// Check if the logged-in user is the publication owner
201
+
let isOwner = identity?.atp_did && props.pub_creator === identity.atp_did;
202
203
if (successModalOpen)
204
return (
···
207
setOpen={setSuccessModalOpen}
208
/>
209
);
210
+
211
+
// Don't allow users to subscribe to their own publication
212
+
if (isOwner) {
213
+
return null;
214
+
}
215
+
216
if (subscribed) {
217
return <ManageSubscription {...props} />;
218
}
+4
app/lish/[did]/[publication]/[rkey]/LinearDocumentPage.tsx
+4
app/lish/[did]/[publication]/[rkey]/LinearDocumentPage.tsx
+1
app/lish/[did]/[publication]/page.tsx
+1
app/lish/[did]/[publication]/page.tsx