From b61c602786defd371f247e88c32702bd53251733 Mon Sep 17 00:00:00 2001 From: celine Date: Thu, 28 May 2026 22:38:18 -0400 Subject: [PATCH] adding in a rss on the subscibe button, fixing up some wierd padding --- .../[did]/[publication]/PublicationHeader.tsx | 2 +- .../[publication]/PublicationHomeLayout.tsx | 2 +- .../[publication]/PublicationPostsList.tsx | 2 +- components/Icons/RSSSmall.tsx | 2 +- components/Subscribe/EmailSubscribe.tsx | 78 +++++++++++-------- components/Subscribe/HandleSubscribe.tsx | 70 ++++++++++++----- components/Subscribe/SubscribeButton.tsx | 4 + 7 files changed, 104 insertions(+), 56 deletions(-) diff --git a/app/(app)/lish/[did]/[publication]/PublicationHeader.tsx b/app/(app)/lish/[did]/[publication]/PublicationHeader.tsx index 95b2e04d..986fa334 100644 --- a/app/(app)/lish/[did]/[publication]/PublicationHeader.tsx +++ b/app/(app)/lish/[did]/[publication]/PublicationHeader.tsx @@ -61,7 +61,7 @@ export function PublicationHeader(props: { )} {props.author} {props.subscribeButton && ( -
{props.subscribeButton}
+
{props.subscribeButton}
)} diff --git a/app/(app)/lish/[did]/[publication]/PublicationHomeLayout.tsx b/app/(app)/lish/[did]/[publication]/PublicationHomeLayout.tsx index 2cda91a6..718c3895 100644 --- a/app/(app)/lish/[did]/[publication]/PublicationHomeLayout.tsx +++ b/app/(app)/lish/[did]/[publication]/PublicationHomeLayout.tsx @@ -55,7 +55,7 @@ export function PublicationHomeLayout(props: { let inner = ( <> {header} -
+
{props.children}
diff --git a/app/(app)/lish/[did]/[publication]/PublicationPostsList.tsx b/app/(app)/lish/[did]/[publication]/PublicationPostsList.tsx index 8c2c6730..245b6e89 100644 --- a/app/(app)/lish/[did]/[publication]/PublicationPostsList.tsx +++ b/app/(app)/lish/[did]/[publication]/PublicationPostsList.tsx @@ -174,7 +174,7 @@ export function PublicationPostsList({ coverImageSrc={coverImageSrc} coverImageAlt={doc_record.title} /> -
+
); })} diff --git a/components/Icons/RSSSmall.tsx b/components/Icons/RSSSmall.tsx index fa76d034..0f0e1db0 100644 --- a/components/Icons/RSSSmall.tsx +++ b/components/Icons/RSSSmall.tsx @@ -11,7 +11,7 @@ export const RSSSmall = (props: Props) => { {...props} > diff --git a/components/Subscribe/EmailSubscribe.tsx b/components/Subscribe/EmailSubscribe.tsx index 5d581ec3..37a49bd4 100644 --- a/components/Subscribe/EmailSubscribe.tsx +++ b/components/Subscribe/EmailSubscribe.tsx @@ -1,6 +1,7 @@ "use client"; import * as OneTimePasswordField from "@radix-ui/react-one-time-password-field"; -import { ButtonPrimary } from "components/Buttons"; +import { ButtonSecondary } from "components/Buttons"; +import { RSSTiny } from "components/Icons/RSSTiny"; import { Input } from "components/Input"; import { DotLoader } from "components/utils/DotLoader"; import { onMouseDown as iosOnPointerDown } from "src/utils/iosInputMouseDown"; @@ -15,40 +16,55 @@ export const EmailInput = (props: { onChange: (val: string) => void; disabled?: boolean; loading?: boolean; + publicationUrl?: string; }) => { return ( -
- {props.leading && ( -
- {props.leading} +
+
+ {props.leading && ( +
+ {props.leading} +
+ )} + props.onChange(e.target.value)} + /> +
+ {props.loading ? : props.action}
- )} - props.onChange(e.target.value)} - /> -
- {props.loading ? : props.action}
+ {props.publicationUrl && ( + + + + + + )}
); }; diff --git a/components/Subscribe/HandleSubscribe.tsx b/components/Subscribe/HandleSubscribe.tsx index 343273df..af7b2442 100644 --- a/components/Subscribe/HandleSubscribe.tsx +++ b/components/Subscribe/HandleSubscribe.tsx @@ -1,5 +1,5 @@ "use client"; -import { ButtonPrimary } from "components/Buttons"; +import { ButtonPrimary, ButtonSecondary } from "components/Buttons"; import { Popover } from "components/Popover"; import Link from "next/link"; import { useState } from "react"; @@ -14,6 +14,7 @@ import { Avatar } from "components/Avatar"; import { useIdentityData } from "components/IdentityProvider"; import { useRecordFromDid } from "src/utils/useRecordFromDid"; import { LinkIdentityModal } from "./LinkIdentityModal"; +import { RSSTiny } from "components/Icons/RSSTiny"; const apps = [ { name: "Leaflet", logo: "https://leaflet.pub/logos/leaflet.svg" }, { name: "Bluesky", logo: "https://leaflet.pub/logos/bluesky.svg" }, @@ -40,6 +41,7 @@ const apps = [ export const SubscribeWithHandle = (props: { autoFocus?: boolean; publicationUri: string; + publicationUrl?: string; onSubscribed?: () => void; onAtSuccess?: () => void; leading?: React.ReactNode; @@ -78,7 +80,7 @@ export const SubscribeWithHandle = (props: { if (props.user.loggedIn && props.user.handle) { return (
-
+
)} + {props.publicationUrl && ( + + + + + + )}
{oauthError && ( - { - let trimmed = handle.trim(); - if (!trimmed) return; - if (needsLinkConfirmation) { - setPendingLinkHandle(trimmed); - return; - } - setLoading(true); - redirectToOauthForSubscribe(trimmed, false); - }} - action=
- Subscribe -
- /> +
+
+ { + let trimmed = handle.trim(); + if (!trimmed) return; + if (needsLinkConfirmation) { + setPendingLinkHandle(trimmed); + return; + } + setLoading(true); + redirectToOauthForSubscribe(trimmed, false); + }} + action=
+ Subscribe +
+ /> + {props.publicationUrl && ( + + + + + + )} +
diff --git a/components/Subscribe/SubscribeButton.tsx b/components/Subscribe/SubscribeButton.tsx index d8c11c67..a6defe88 100644 --- a/components/Subscribe/SubscribeButton.tsx +++ b/components/Subscribe/SubscribeButton.tsx @@ -173,6 +173,7 @@ export const SubscribeInput = (props: SubscribeProps) => {
Opt in to get updates via email!
{
{subscribeMode === "email" ? ( { user={user} autoFocus={props.autoFocus} publicationUri={props.publicationUri} + publicationUrl={props.publicationUrl} onAtSuccess={() => setAtSuccessOpen(true)} leading={modeMenu} /> @@ -242,6 +245,7 @@ export const SubscribeInput = (props: SubscribeProps) => { user={user} autoFocus={props.autoFocus} publicationUri={props.publicationUri} + publicationUrl={props.publicationUrl} onSubscribed={() => setLocallySubscribed(true)} /> )} -- 2.51.2