a tool for shared writing and social publishing
at update/delete-leaflets 25 lines 789 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: { 7 uri: string; 8 name: string; 9 record: Json; 10}) { 11 let record = pub.record as PubLeafletPublication.Record; 12 if (isProductionDomain() && record?.base_path) 13 return `https://${record.base_path}`; 14 else return getBasePublicationURL(pub); 15} 16 17export function getBasePublicationURL(pub: { 18 uri: string; 19 name: string; 20 record: Json; 21}) { 22 let record = pub.record as PubLeafletPublication.Record; 23 let aturi = new AtUri(pub.uri); 24 return `/lish/${aturi.host}/${encodeURIComponent(aturi.rkey || record?.name || pub.name)}`; 25}