/ src / utils / protocol-translator.js
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  }