protocol-translator.js
1 export function bridgifySearchQuery(instance, query, params) { 2 if (instance === "ditto.pub") { 3 let convertedQuery = query; 4 if (query.indexOf("@") === 0) { 5 convertedQuery = query.replace("@", "") 6 } 7 (async () => { 8 convertedQuery = query.replace("@", "_at_"); 9 const matchedMostrHexPing = await fetch(`https://mostr.pub/.well-known/nostr.json?name=${convertedQuery}`, {method: "get"}); 10 const matchedMostrHexPingResponse = await matchedMostrHexPing.json(); 11 if (matchedMostrHexPingResponse && matchedMostrHexPingResponse["names"]) { 12 const matchedMostrHex = matchedMostrHexPingResponse["names"][convertedQuery] 13 const dittoProfileCall = await fetch(`https://ditto.pub/api/v1/accounts/${matchedMostrHex}`, {method: "get"}); 14 const dittoProfileCallResponse = await dittoProfileCall.json(); 15 location.hash = `/${instance}/a/${dittoProfileCallResponse.id}`; 16 } 17 })(); 18 console.log(`instance === "ditto.pub"`) 19 } else if (instance === "skybridge.fly.dev") { 20 if (query.indexOf("@") === 0) { 21 let replacedString = params.q.replace("@", ""); 22 replacedString = replacedString.replace("@", "."); 23 replacedString += ".ap.brid.gy"; 24 params.q = replacedString 25 return params.q; 26 } else if (query.indexOf("@") > 0) { 27 let replacedString = params.q.replace("@", "."); 28 replacedString += ".ap.brid.gy"; 29 params.q = replacedString 30 return params.q; 31 } 32 } else { 33 if (query.indexOf("@") === -1) { 34 if (query.indexOf("bsky.social") > -1 || query.indexOf("bsky.team") > -1) { 35 params.q += "@bsky.brid.gy"; 36 return params.q; 37 } else if (query.match(/^[0-9a-fA-F]{64}$/)) { 38 params.q += "@mostr.pub"; 39 return params.q; 40 } else if (query.includes("npub")) { 41 params.q += "@momostr.pink"; 42 return params.q; 43 } 44 } else if (query.indexOf("@twitter.com") > -1) { 45 const replacedString = params.q.replace("twitter.com", "bird.makeup") 46 params.q = replacedString; 47 return params.q; 48 } 49 if (query.indexOf("/" === 0)) { 50 let replacedString = params.q.replace("/", ""); 51 params.q = replacedString; 52 return params.q; 53 } 54 } 55 } 56 57 export function canAutoLoadThisInstance(myCurrentInstance, heroStatus) { 58 // Automatically switch to users instance to allow interacting with a status 59 return myCurrentInstance != 'ditto.pub' && myCurrentInstance != 'skybridge.fly.dev' && heroStatus.account.acct.indexOf("mostr.pub") === -1 && heroStatus.account.acct.indexOf("threads.net") === -1; 60 } 61 62 export function translateNostrTrendingArrayStructure(nostrTrendingArray) { 63 return true; 64 }