a tool for shared writing and social publishing
1import { AtUri } from "@atproto/syntax";
2import { PubLeafletPublication } from "lexicons/api";
3import { isProductionDomain } from "src/utils/isProductionDeployment";
4import { Json } from "supabase/database.types";
5
6export function getPublicationURL(pub: { uri: string; record: Json }) {
7 let record = pub.record as PubLeafletPublication.Record;
8 if (isProductionDomain() && record?.base_path)
9 return `https://${record.base_path}`;
10 else return getBasePublicationURL(pub);
11}
12
13export function getBasePublicationURL(pub: { uri: string; record: Json }) {
14 let record = pub.record as PubLeafletPublication.Record;
15 let aturi = new AtUri(pub.uri);
16 return `/lish/${aturi.host}/${encodeURIComponent(aturi.rkey || record?.name)}`;
17}