a tool for shared writing and social publishing
at feature/thread-viewer 17 lines 735 B view raw
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}