diff --git a/app/lish/[did]/[publication]/LocalizedDate.tsx b/app/lish/[did]/[publication]/LocalizedDate.tsx new file mode 100644 index 00000000..69d0cacb --- /dev/null +++ b/app/lish/[did]/[publication]/LocalizedDate.tsx @@ -0,0 +1,10 @@ +"use client"; +import { useLocalizedDate } from "src/hooks/useLocalizedDate"; + +export function LocalizedDate(props: { + dateString: string; + options?: Intl.DateTimeFormatOptions; +}) { + const formattedDate = useLocalizedDate(props.dateString, props.options); + return <>{formattedDate}>; +} diff --git a/app/lish/[did]/[publication]/[rkey]/PostHeader/PostHeader.tsx b/app/lish/[did]/[publication]/[rkey]/PostHeader/PostHeader.tsx index 4a09c767..b59daecd 100644 --- a/app/lish/[did]/[publication]/[rkey]/PostHeader/PostHeader.tsx +++ b/app/lish/[did]/[publication]/[rkey]/PostHeader/PostHeader.tsx @@ -12,6 +12,7 @@ import { useIdentityData } from "components/IdentityProvider"; import { EditTiny } from "components/Icons/EditTiny"; import { SpeedyLink } from "components/SpeedyLink"; import { decodeQuotePosition } from "../quotePosition"; +import { useLocalizedDate } from "src/hooks/useLocalizedDate"; export function PostHeader(props: { data: PostPageData; @@ -26,6 +27,15 @@ export function PostHeader(props: { let pub = props.data?.documents_in_publications[0].publications; let pubRecord = pub?.record as PubLeafletPublication.Record; + const formattedDate = useLocalizedDate( + record.publishedAt || new Date().toISOString(), + { + year: "numeric", + month: "long", + day: "2-digit", + } + ); + if (!document?.data || !document.documents_in_publications[0].publications) return; return ( @@ -78,13 +88,7 @@ export function PostHeader(props: { {record.publishedAt ? ( <> | -
- {new Date(record.publishedAt).toLocaleDateString(undefined, { - year: "numeric", - month: "long", - day: "2-digit", - })} -
+{formattedDate}
> ) : null} |{" "} diff --git a/app/lish/[did]/[publication]/dashboard/PublishedPostsLists.tsx b/app/lish/[did]/[publication]/dashboard/PublishedPostsLists.tsx index f7ea5be0..3d998853 100644 --- a/app/lish/[did]/[publication]/dashboard/PublishedPostsLists.tsx +++ b/app/lish/[did]/[publication]/dashboard/PublishedPostsLists.tsx @@ -17,6 +17,7 @@ import { ShareButton } from "components/ShareOptions"; import { SpeedyLink } from "components/SpeedyLink"; import { QuoteTiny } from "components/Icons/QuoteTiny"; import { CommentTiny } from "components/Icons/CommentTiny"; +import { useLocalizedDate } from "src/hooks/useLocalizedDate"; export function PublishedPostsList(props: { searchValue: string; @@ -97,17 +98,7 @@ export function PublishedPostsList(props: { ) : null}- Published{" "} - {new Date(record.publishedAt).toLocaleDateString( - undefined, - { - year: "numeric", - month: "long", - day: "2-digit", - }, - )} -
++ Published {formattedDate} +
+ ); +} diff --git a/app/lish/[did]/[publication]/page.tsx b/app/lish/[did]/[publication]/page.tsx index f1a34c74..0d217124 100644 --- a/app/lish/[did]/[publication]/page.tsx +++ b/app/lish/[did]/[publication]/page.tsx @@ -14,6 +14,7 @@ import { NotFoundLayout } from "components/PageLayouts/NotFoundLayout"; import { SpeedyLink } from "components/SpeedyLink"; import { QuoteTiny } from "components/Icons/QuoteTiny"; import { CommentTiny } from "components/Icons/CommentTiny"; +import { LocalizedDate } from "./LocalizedDate"; export default async function Publication(props: { params: Promise<{ publication: string; did: string }>; @@ -152,14 +153,16 @@ export default async function Publication(props: {
- {doc_record.publishedAt &&
- new Date(
- doc_record.publishedAt,
- ).toLocaleDateString(undefined, {
- year: "numeric",
- month: "long",
- day: "2-digit",
- })}{" "}
+ {doc_record.publishedAt && (
+