Sorry, we can't find this leaflet!
++ This may be a glitch on our end. If the issue persists please{" "} + send us a note. +
+{JSON.stringify(res.data, undefined, 2)}
+ {JSON.stringify(data, undefined, 2)}
- Explore publications on Leaflet ✨ Or{" "} - make your own! -
-+ Explore publications on Leaflet ✨ Or{" "} + make your own! +
+Sorry, home page not found!
+Sorry, we can't find this home!
This may be a glitch on our end. If the issue persists please{" "} send us a note.
-+ Edit Post diff --git a/app/lish/[did]/[publication]/[rkey]/QuoteHandler.tsx b/app/lish/[did]/[publication]/[rkey]/QuoteHandler.tsx index 7b78aa2a..d923ae67 100644 --- a/app/lish/[did]/[publication]/[rkey]/QuoteHandler.tsx +++ b/app/lish/[did]/[publication]/[rkey]/QuoteHandler.tsx @@ -152,7 +152,7 @@ export const QuoteOptionButtons = (props: { position: string }) => { Share via+ - ); -} +diff --git a/app/lish/[did]/[publication]/[rkey]/page.tsx b/app/lish/[did]/[publication]/[rkey]/page.tsx index 377b97a2..7162364b 100644 --- a/app/lish/[did]/[publication]/[rkey]/page.tsx +++ b/app/lish/[did]/[publication]/[rkey]/page.tsx @@ -20,6 +20,7 @@ import { PostPageContextProvider } from "./PostPageContext"; import { PostPage } from "./PostPage"; import { PageLayout } from "./PageLayout"; import { extractCodeBlocks } from "./extractCodeBlocks"; +import { NotFoundLayout } from "components/PageLayouts/NotFoundLayout"; export async function generateMetadata(props: { params: Promise<{ publication: string; did: string; rkey: string }>; @@ -51,13 +52,13 @@ export default async function Post(props: { let did = decodeURIComponent((await props.params).did); if (!did) return ( - -+ ); let agent = new AtpAgent({ service: "https://public.api.bsky.app", @@ -80,17 +81,13 @@ export default async function Post(props: { ]); if (!document?.data || !document.documents_in_publications[0].publications) return ( -Sorry, can't resolve handle.
++ Sorry, can't resolve handle.
This may be a glitch on our end. If the issue persists please{" "} send us a note.
--+----Sorry, post not found!
-- This may be a glitch on our end. If the issue persists please{" "} - send us a note. -
-+ ); let record = document.data as PubLeafletDocument.Record; let bskyPosts = record.pages.flatMap((p) => { diff --git a/app/lish/[did]/[publication]/dashboard/Actions.tsx b/app/lish/[did]/[publication]/dashboard/Actions.tsx index 61f3f856..96e4452c 100644 --- a/app/lish/[did]/[publication]/dashboard/Actions.tsx +++ b/app/lish/[did]/[publication]/dashboard/Actions.tsx @@ -22,29 +22,10 @@ import { SpeedyLink } from "components/SpeedyLink"; export const Actions = (props: { publication: string }) => { return ( <> -Sorry, we can't find this post!
++ This may be a glitch on our end. If the issue persists please{" "} + send us a note. +
+- - -} label="Go Home" /> - -
-- > ); }; @@ -64,7 +45,6 @@ function PublicationShareButton() {- -} label="Go Home" /> - - secondary label="Share" onClick={() => {}} /> @@ -72,7 +52,7 @@ function PublicationShareButton() { > +-function Draft(props: { id: string; title: string; description: string }) { - let [open, setOpen] = useState(false); - return ( - -); } - -export function DeleteDraft(props: { id: string }) { - let { mutate } = usePublicationData(); - let [state, setState] = useState<"normal" | "confirm">("normal"); - - if (state === "normal") { - return ( - - ); - } - if (state === "confirm") { - return ( -- {props.title ? ( - - +{props.title}
- ) : ( -Untitled
- )} -{props.description}-!l.documents) + .map((l) => { + return { + token: { + ...l.permission_tokens!, + leaflets_in_publications: [ + { + ...l, + publications: { + ...publication, + }, + }, + ], + }, + added_at: "", + }; + })} + initialFacts={pub_data.leaflet_data.facts || {}} + titles={{ + ...leaflets_in_publications.reduce( + (acc, leaflet) => { + if (leaflet.title && leaflet.permission_tokens) + acc[leaflet.permission_tokens.root_entity] = leaflet.title; + return acc; + }, + {} as { [l: string]: string }, + ), + }} + /> + - Are you sure? -- ); - } -} diff --git a/app/lish/[did]/[publication]/dashboard/NewDraftButton.tsx b/app/lish/[did]/[publication]/dashboard/NewDraftButton.tsx index 30421a87..aedf8c79 100644 --- a/app/lish/[did]/[publication]/dashboard/NewDraftButton.tsx +++ b/app/lish/[did]/[publication]/dashboard/NewDraftButton.tsx @@ -17,7 +17,7 @@ export function NewDraftActionButton(props: { publication: string }) { router.push(`/${newLeaflet}`); }} icon=- This action cannot be undone! --{ - await mutate((data) => { - if (!data) return data; - return { - ...data, - leaflets_in_publications: data.leaflets_in_publications.filter( - (d) => d.leaflet !== props.id, - ), - }; - }, false); - await deleteDraft(props.id); - }} - > - Delete - -- label="New Draft" + label="New" /> ); } diff --git a/app/lish/[did]/[publication]/dashboard/PublicationDashboard.tsx b/app/lish/[did]/[publication]/dashboard/PublicationDashboard.tsx index c820c89c..4a8c3bf1 100644 --- a/app/lish/[did]/[publication]/dashboard/PublicationDashboard.tsx +++ b/app/lish/[did]/[publication]/dashboard/PublicationDashboard.tsx @@ -1,81 +1,84 @@ "use client"; -import { BlobRef } from "@atproto/lexicon"; -import { useState } from "react"; -import { useIsMobile } from "src/hooks/isMobile"; -import { theme } from "tailwind.config"; -import { usePublicationData } from "./PublicationSWRProvider"; + +import { DraftList } from "./DraftList"; +import { GetPublicationDataReturnType } from "app/api/rpc/[command]/get_publication_data"; +import { Actions } from "./Actions"; +import React, { useState } from "react"; +import { PublishedPostsList } from "./PublishedPostsLists"; import { PubLeafletPublication } from "lexicons/api"; +import { PublicationSubscribers } from "./PublicationSubscribers"; +import { AtUri } from "@atproto/syntax"; +import { + HomeDashboardControls, + DashboardLayout, + PublicationDashboardControls, +} from "components/PageLayouts/DashboardLayout"; +import { useDebouncedEffect } from "src/hooks/useDebouncedEffect"; -type Tabs = { [tabName: string]: React.ReactNode }; -export function PublicationDashboard (props: { - name: string; - tabs: T; - defaultTab: keyof T; - icon: BlobRef | null; - did: string; +export default function PublicationDashboard({ + publication, + record, +}: { + record: PubLeafletPublication.Record; + publication: Exclude< + GetPublicationDataReturnType["result"]["publication"], + null + >; }) { - let { data: pub } = usePublicationData(); - let showPageBackground = !!(pub?.record as PubLeafletPublication.Record) - ?.theme?.showPageBackground; - let [tab, setTab] = useState(props.defaultTab); - let content = props.tabs[tab]; + let [searchValue, setSearchValue] = useState(""); + let [debouncedSearchValue, setDebouncedSearchValue] = useState(""); - return ( - <> - ----- {props.icon && ( - - )} --- {props.name} --- {Object.keys(props.tabs).map((t) => ( --setTab(t)} - showPageBackground={showPageBackground} - /> - ))} - - {content} -- > + useDebouncedEffect( + () => { + setDebouncedSearchValue(searchValue); + }, + 200, + [searchValue], ); -} -function Tab(props: { - name: string; - selected: boolean; - showPageBackground: boolean; - onSelect: () => void; -}) { return ( -props.onSelect()} - > - {props.name} -++ ), + controls: ( + + ), + }, + Published: { + content: ( + + ), + controls: null, + }, + Subscribers: { + content: ( + + ), + controls: null, + }, + }} + actions={ } + currentPage="pub" + publication={publication.uri} + /> ); } diff --git a/app/lish/[did]/[publication]/dashboard/PublicationSWRProvider.tsx b/app/lish/[did]/[publication]/dashboard/PublicationSWRProvider.tsx index af25aa78..17a0b1f0 100644 --- a/app/lish/[did]/[publication]/dashboard/PublicationSWRProvider.tsx +++ b/app/lish/[did]/[publication]/dashboard/PublicationSWRProvider.tsx @@ -12,7 +12,7 @@ export function PublicationSWRDataProvider(props: { publication_data: GetPublicationDataReturnType["result"]; children: React.ReactNode; }) { - let key = `publication-data-${props.publication_did}`; + let key = `publication-data-${props.publication_did}-${props.publication_rkey}`; return ( diff --git a/app/lish/[did]/[publication]/dashboard/PublicationSubscribers.tsx b/app/lish/[did]/[publication]/dashboard/PublicationSubscribers.tsx index 6c239856..024e67e1 100644 --- a/app/lish/[did]/[publication]/dashboard/PublicationSubscribers.tsx +++ b/app/lish/[did]/[publication]/dashboard/PublicationSubscribers.tsx @@ -1,19 +1,60 @@ "use client"; import { AppBskyActorProfile } from "lexicons/api"; import { usePublicationData } from "./PublicationSWRProvider"; -import { blobRefToSrc } from "src/utils/blobRefToSrc"; import { ButtonPrimary } from "components/Buttons"; import { getPublicationURL } from "app/lish/createPub/getPublicationURL"; import { useSmoker } from "components/Toast"; +import { Menu, MenuItem, Separator } from "components/Layout"; +import { MoreOptionsVerticalTiny } from "components/Icons/MoreOptionsVerticalTiny"; +import { Checkbox } from "components/Checkbox"; +import { useEffect, useState } from "react"; -export function PublicationSubscribers() { - let { data: publication } = usePublicationData(); +type subscriber = { email: string | undefined; did: string | undefined }; + +// HELLO! THIS FILE HAS CHECKBOXES AND A HEADER COMMENTED OUT +// the checkboxes would let you select users and and the eader provided a count and let you select all and do actions +// I also removed some props from SubscriberListItem around emails since we dont have them yet. +// WHen we get emails in, we can uncomment some of this stuff + +export function PublicationSubscribers(props: { + showPageBackground?: boolean; +}) { let smoker = useSmoker(); + let { data: publication } = usePublicationData(); + // let [checkedSubscribers, setCheckedSubscribers] = useState ([]); + // let [checkAll, setCheckAll] = useState(false); if (!publication) return null; - if (publication.publication_subscriptions.length === 0) + let subscribers = publication.publication?.publication_subscriptions || []; + + // useEffect(() => { + // const allSubscribersSelected = subscribers.every((subscriber) => + // checkedSubscribers.some( + // (checked) => + // checked.email === "dummyemail@email.com" && + // checked.did === subscriber.identities?.bsky_profiles?.did, + // ), + // ); + + // if (allSubscribersSelected && subscribers.length > 0) { + // setCheckAll(true); + // } else { + // setCheckAll(false); + // } + // }, [checkedSubscribers]); + + if (subscribers.length === 0) return ( -+No subscribers yet
Start sharing your publication!
{ e.preventDefault(); let rect = (e.currentTarget as Element)?.getBoundingClientRect(); - navigator.clipboard.writeText(getPublicationURL(publication!)); + navigator.clipboard.writeText( + getPublicationURL(publication.publication!), + ); smoker({ position: { x: rect ? rect.left + (rect.right - rect.left) / 2 : 0, @@ -37,53 +80,158 @@ export function PublicationSubscribers() { ); return ( - -{publication.publication_subscriptions.length} Subscribers
-- {publication.publication_subscriptions +); return ( -+ {/*); } + +const SubscriberListItem = (props: { + handle: string | undefined; + did: string | undefined; + createdAt: string; +}) => { + return ( + //+*/} +{ + if (checkAll === false) { + const allSubscribers = subscribers.map((subscriber) => ({ + email: "dummyemail@email.com", + did: subscriber.identities?.bsky_profiles?.did, + })); + setCheckedSubscribers(allSubscribers); + } else { + setCheckedSubscribers([]); + } + }} + className="!font-bold text-secondary mb-1" + > + {subscribers.length} Subscriber{subscribers.length !== 1 && "s"} + + {checkedSubscribers.length !== 0 && ( ++ )} + + {subscribers.length} Subscriber{subscribers.length !== 1 && "s"} ++
++ {subscribers .sort((a, b) => { return b.created_at.localeCompare(a.created_at); }) .map((subscriber, index) => { if (!subscriber.identities?.bsky_profiles) return null; let handle = subscriber.identities?.bsky_profiles.handle; + let did = subscriber.identities?.bsky_profiles.did; let profile = subscriber.identities?.bsky_profiles ?.record as AppBskyActorProfile.Record | null; if (!profile) return null; return ( -- -+- {profile.avatar && ( -- - {index !== publication.publication_subscriptions.length - 1 && ( -- )} -
--{profile.displayName}
-@{handle}
-
- )} -); })} { + // if (props.checked === false) { + // const newCheckedSubscribers = [ + // ...props.checkedSubscribers, + // { + // email: props.email, + // did: props.did, + // }, + // ]; + // props.setCheckedSubscribers(newCheckedSubscribers); + // } else { + // const newCheckedSubscribers = props.checkedSubscribers.filter( + // (subscriber) => + // !( + // subscriber.email === props.email && subscriber.did === props.did + // ), + // ); + // props.setCheckedSubscribers(newCheckedSubscribers); + // } + // console.log(props.checkedSubscribers); + // }} + // > + <> + + ); +}; + +const SubscriberOptions = (props: { + checkedSubscribers: subscriber[]; + allSelected: boolean; +}) => { + return ( + + ); +}; diff --git a/app/lish/[did]/[publication]/dashboard/PublishedPostsLists.tsx b/app/lish/[did]/[publication]/dashboard/PublishedPostsLists.tsx index 581c8f11..f7ea5be0 100644 --- a/app/lish/[did]/[publication]/dashboard/PublishedPostsLists.tsx +++ b/app/lish/[did]/[publication]/dashboard/PublishedPostsLists.tsx @@ -18,9 +18,13 @@ import { SpeedyLink } from "components/SpeedyLink"; import { QuoteTiny } from "components/Icons/QuoteTiny"; import { CommentTiny } from "components/Icons/CommentTiny"; -export function PublishedPostsList() { - let { data: publication } = usePublicationData(); +export function PublishedPostsList(props: { + searchValue: string; + showPageBackground: boolean; +}) { + let { data } = usePublicationData(); let params = useParams(); + let { publication } = data!; if (!publication) return null; if (publication.documents_in_publications.length === 0) return ( @@ -29,7 +33,7 @@ export function PublishedPostsList() {+ {/* + {props.email} + + + {props.handle && props.email && ( ++ > + //+ )}*/} + {props.handle && ( + + @{props.handle} + + )} + + {new Date(props.createdAt).toLocaleString(undefined, { + year: "2-digit", + month: "2-digit", + day: "2-digit", + })} +++{publication.documents_in_publications .sort((a, b) => { let aRecord = a.documents?.data! as PubLeafletDocument.Record; @@ -49,18 +53,23 @@ export function PublishedPostsList() { ); let uri = new AtUri(doc.documents.uri); let record = doc.documents.data as PubLeafletDocument.Record; - let quotes = - doc.documents.document_mentions_in_bsky[0]?.count || 0; - let comments = - doc.documents.comments_on_documents[0]?.count || 0; + let quotes = doc.documents.document_mentions_in_bsky[0]?.count || 0; + let comments = doc.documents.comments_on_documents[0]?.count || 0; return ( -+ -
+ {!props.showPageBackground && ( +
+ )} ); })} @@ -136,7 +149,7 @@ let Options = (props: { document_uri: string }) => { alignOffset={20} asChild trigger={ -+ } @@ -149,11 +162,11 @@ let Options = (props: { document_uri: string }) => { }; function OptionsMenu(props: { document_uri: string }) { - let { mutate, data: publication } = usePublicationData(); + let { mutate, data } = usePublicationData(); let [state, setState] = useState<"normal" | "confirm">("normal"); - let postLink = publication - ? `${getPublicationURL(publication)}/${new AtUri(props.document_uri).rkey}` + let postLink = data?.publication + ? `${getPublicationURL(data?.publication)}/${new AtUri(props.document_uri).rkey}` : null; if (state === "normal") { @@ -203,13 +216,17 @@ function OptionsMenu(props: { document_uri: string }) { if (!data) return data; return { ...data, - leaflets_in_publications: data.leaflets_in_publications.filter( - (l) => l.doc !== props.document_uri, - ), - documents_in_publications: - data.documents_in_publications.filter( - (d) => d.documents?.uri !== props.document_uri, - ), + publication: { + ...data.publication!, + leaflets_in_publications: + data.publication?.leaflets_in_publications.filter( + (l) => l.doc !== props.document_uri, + ) || [], + documents_in_publications: + data.publication?.documents_in_publications.filter( + (d) => d.documents?.uri !== props.document_uri, + ) || [], + }, }; }, false); await deletePost(props.document_uri); diff --git a/app/lish/[did]/[publication]/dashboard/page.tsx b/app/lish/[did]/[publication]/dashboard/page.tsx index 95f46896..c35bede4 100644 --- a/app/lish/[did]/[publication]/dashboard/page.tsx +++ b/app/lish/[did]/[publication]/dashboard/page.tsx @@ -1,26 +1,14 @@ import { supabaseServerClient } from "supabase/serverClient"; import { Metadata } from "next"; - -import { Sidebar } from "components/ActionBar/Sidebar"; - -import { Media } from "components/Media"; -import { Footer } from "components/ActionBar/Footer"; -import { PublicationDashboard } from "./PublicationDashboard"; -import { DraftList } from "./DraftList"; import { getIdentityData } from "actions/getIdentityData"; -import { Actions } from "./Actions"; -import React from "react"; import { get_publication_data } from "app/api/rpc/[command]/get_publication_data"; import { PublicationSWRDataProvider } from "./PublicationSWRProvider"; -import { PublishedPostsList } from "./PublishedPostsLists"; -import { PubLeafletPublication, PubLeafletThemeColor } from "lexicons/api"; -import { PublicationSubscribers } from "./PublicationSubscribers"; -import { - PublicationThemeProvider, - PublicationThemeProviderDashboard, -} from "components/ThemeManager/PublicationThemeProvider"; -import { blobRefToSrc } from "src/utils/blobRefToSrc"; +import { PubLeafletPublication } from "lexicons/api"; +import { PublicationThemeProviderDashboard } from "components/ThemeManager/PublicationThemeProvider"; import { AtUri } from "@atproto/syntax"; +import { NotFoundLayout } from "components/PageLayouts/NotFoundLayout"; +import PublicationDashboard from "./PublicationDashboard"; +import Link from "next/link"; export async function generateMetadata(props: { params: Promise<{ publication: string; did: string }>; @@ -28,13 +16,14 @@ export async function generateMetadata(props: { let did = decodeURIComponent((await props.params).did); if (!did) return { title: "Publication 404" }; - let { result: publication } = await get_publication_data.handler( + let { result: publication_data } = await get_publication_data.handler( { did, publication_name: decodeURIComponent((await props.params).publication), }, { supabase: supabaseServerClient }, ); + let { publication } = publication_data; let record = (publication?.record as PubLeafletPublication.Record) || undefined; if (!publication) return { title: "404 Publication" }; @@ -49,71 +38,39 @@ export default async function Publication(props: { let identity = await getIdentityData(); if (!identity || !identity.atp_did) return ( - -+ ); let did = decodeURIComponent(params.did); if (!did) returnSorry, looks like you're not logged in.
++ Looks like you're not logged in.
- This may be a glitch on our end. If the issue persists please{" "} + If the issue persists please{" "} send us a note.
-; - let { result: publication } = await get_publication_data.handler( + let { result: publication_data } = await get_publication_data.handler( { did, publication_name: decodeURIComponent((await props.params).publication), }, { supabase: supabaseServerClient }, ); + let { publication, leaflet_data } = publication_data; + let record = publication?.record as PubLeafletPublication.Record | null; - if (!publication || identity.atp_did !== publication.identity_did) + if (!publication || identity.atp_did !== publication.identity_did || !record) return ; - let record = publication?.record as PubLeafletPublication.Record | null; let uri = new AtUri(publication.uri); - let showPageBackground = !!record?.theme?.showPageBackground; - try { return ( ); @@ -125,12 +82,12 @@ export default async function Publication(props: { const PubNotFound = () => { return ( - - -+------- -- -- -, - Published: , - Subscribers: , - }} - defaultTab={"Drafts"} - /> - -+ ); }; diff --git a/app/lish/[did]/[publication]/generateFeed.ts b/app/lish/[did]/[publication]/generateFeed.ts index e9a27ae5..42096c05 100644 --- a/app/lish/[did]/[publication]/generateFeed.ts +++ b/app/lish/[did]/[publication]/generateFeed.ts @@ -7,7 +7,6 @@ import { } from "lexicons/api"; import { createElement } from "react"; import { StaticPostContent } from "./[rkey]/StaticPostContent"; -import { get_publication_data } from "app/api/rpc/[command]/get_publication_data"; import { supabaseServerClient } from "supabase/serverClient"; import { NextResponse } from "next/server"; @@ -18,13 +17,25 @@ export async function generateFeed( let renderToReadableStream = await import("react-dom/server").then( (module) => module.renderToReadableStream, ); - let { result: publication } = await get_publication_data.handler( - { - did: did, - publication_name: publication_name, - }, - { supabase: supabaseServerClient }, - ); + let uri; + if (/^(?!\.$|\.\.S)[A-Za-z0-9._:~-]{1,512}$/.test(publication_name)) { + uri = AtUri.make( + did, + "pub.leaflet.publication", + publication_name, + ).toString(); + } + let { data: publication } = await supabaseServerClient + .from("publications") + .select( + `*, + publication_subscriptions(*), + documents_in_publications(documents(*)) + `, + ) + .eq("identity_did", did) + .or(`name.eq."${publication_name}", uri.eq."${uri}"`) + .single(); let pubRecord = publication?.record as PubLeafletPublication.Record; if (!publication || !pubRecord) diff --git a/app/lish/[did]/[publication]/layout.tsx b/app/lish/[did]/[publication]/layout.tsx index faefd07c..3720b79f 100644 --- a/app/lish/[did]/[publication]/layout.tsx +++ b/app/lish/[did]/[publication]/layout.tsx @@ -1,7 +1,7 @@ import { PubLeafletPublication } from "lexicons/api"; -import { get_publication_data } from "app/api/rpc/[command]/get_publication_data"; import { supabaseServerClient } from "supabase/serverClient"; import { Metadata } from "next"; +import { AtUri } from "@atproto/syntax"; export default async function PublicationLayout(props: { children: React.ReactNode; @@ -16,14 +16,29 @@ export async function generateMetadata(props: { }>; }): PromiseSorry, publication not found!
++ Sorry, we can't find this publication!
This may be a glitch on our end. If the issue persists please{" "} send us a note.
-{ let params = await props.params; + let did = decodeURIComponent(params.did); if (!params.did || !params.publication) return { title: "Publication 404" }; - let { result: publication } = await get_publication_data.handler( - { - did: decodeURIComponent(params.did), - publication_name: decodeURIComponent(params.publication), - }, - { supabase: supabaseServerClient }, - ); + + let uri; + let publication_name = decodeURIComponent(params.publication); + if (/^(?!\.$|\.\.S)[A-Za-z0-9._:~-]{1,512}$/.test(publication_name)) { + uri = AtUri.make( + did, + "pub.leaflet.publication", + publication_name, + ).toString(); + } + let { data: publication } = await supabaseServerClient + .from("publications") + .select( + `*, + publication_subscriptions(*), + documents_in_publications(documents(*)) + `, + ) + .eq("identity_did", did) + .or(`name.eq."${publication_name}", uri.eq."${uri}"`) + .single(); if (!publication) return { title: "Publication 404" }; let pubRecord = publication?.record as PubLeafletPublication.Record; diff --git a/app/lish/[did]/[publication]/page.tsx b/app/lish/[did]/[publication]/page.tsx index 20a37ba8..f1a34c74 100644 --- a/app/lish/[did]/[publication]/page.tsx +++ b/app/lish/[did]/[publication]/page.tsx @@ -10,6 +10,7 @@ import { PublicationBackgroundProvider, PublicationThemeProvider, } from "components/ThemeManager/PublicationThemeProvider"; +import { NotFoundLayout } from "components/PageLayouts/NotFoundLayout"; import { SpeedyLink } from "components/SpeedyLink"; import { QuoteTiny } from "components/Icons/QuoteTiny"; import { CommentTiny } from "components/Icons/CommentTiny"; @@ -68,7 +69,7 @@ export default async function Publication(props: { className={`pubWrapper flex flex-col sm:py-6 h-full ${showPageBackground ? "max-w-prose mx-auto sm:px-0 px-[6px] py-2" : "w-full overflow-y-scroll"}`} > {record?.icon && ( @@ -141,7 +142,7 @@ export default async function Publication(props: {{doc_record.title}
@@ -198,12 +199,12 @@ export default async function Publication(props: { const PubNotFound = () => { return ( -
-+ ); }; diff --git a/app/lish/createPub/CreatePubForm.tsx b/app/lish/createPub/CreatePubForm.tsx index f69c8d8b..cf39401f 100644 --- a/app/lish/createPub/CreatePubForm.tsx +++ b/app/lish/createPub/CreatePubForm.tsx @@ -207,14 +207,14 @@ function DomainInput(props: { return (Sorry, publication not found!
++ Sorry, we can't find this publication!
This may be a glitch on our end. If the issue persists please{" "} send us a note.
--