Hey is a decentralized and permissionless social media app built with Lens Protocol 馃尶
at main 35 lines 735 B view raw
1import { HEY_TREASURY } from "@hey/data/constants"; 2 3interface DomainParamConfig { 4 name: string; 5 value: string; 6} 7 8const DOMAIN_PARAM_MAP: Record<string, DomainParamConfig> = { 9 "highlight.xyz": { name: "referrer", value: HEY_TREASURY }, 10 "zora.co": { name: "referrer", value: HEY_TREASURY } 11}; 12 13const injectReferrerToUrl = (url: string): string => { 14 let parsed: URL; 15 16 try { 17 parsed = new URL(url); 18 } catch { 19 return url; 20 } 21 22 const [, config] = 23 Object.entries(DOMAIN_PARAM_MAP).find(([domain]) => 24 parsed.hostname.endsWith(domain) 25 ) || []; 26 27 if (!config) { 28 return url; 29 } 30 31 parsed.searchParams.set(config.name, config.value); 32 return parsed.toString(); 33}; 34 35export default injectReferrerToUrl;