{"version":3,"file":"news-e547e240.js","sources":["../../../app/javascript/composeables/news.js"],"sourcesContent":["import { chain, compact, find, get, orderBy, uniqBy } from 'lodash';\nimport store from '@/store/index';\nimport { ref } from 'vue';\nimport axios from 'axios';\nexport function groupNews(newsData, loadedDataSet) {\n let updatedNews = [];\n chain(newsData)\n .groupBy('grouped_headline')\n .map((newsCollection, i) => {\n let existsInLoadedSet = compact(\n newsCollection.map(nc => find(updatedNews.concat(loadedDataSet), { grouped: [{ id: nc.id }] }))\n );\n if (!existsInLoadedSet.length) {\n if (get(find(newsCollection, 'grouped_headline'), 'grouped_headline') != null && newsCollection.length > 1) {\n return updatedNews.push({\n id: get(find(newsCollection, 'id'), 'id'),\n link_hash: get(find(newsCollection, 'link_hash'), 'link_hash'),\n grouped: newsCollection,\n headline: get(find(newsCollection, 'grouped_headline'), 'grouped_headline'),\n timestamp: get(find(newsCollection, 'timestamp'), 'timestamp'),\n similarNews: true,\n sources: uniqBy(newsCollection.map(source => [...source.sources]).flat(), 'id')\n });\n } else {\n return updatedNews.push(...newsCollection);\n }\n }\n })\n .value();\n return orderBy(updatedNews, 'timestamp', 'desc');\n}\nconst onChainLoading = ref(false);\nexport async function showOnChainSidebar(link) {\n let url = new URL(link);\n let signalId = url.searchParams.get('id');\n onChainLoading.value = true;\n store.dispatch('enableOnchainSidebar', { metadata: null, onChainLoading: onChainLoading.value });\n const response = await axios.get('/data/onchain_signals/news', {\n params: {\n signal_id: signalId\n }\n });\n if (response.data?.signal?.length > 0) {\n onChainLoading.value = false;\n store.dispatch('enableOnchainSidebar', {\n rawMetadata: response.data.signal[0],\n onChainLoading: onChainLoading.value\n });\n }\n}\nexport function signalNews(item) {\n if (item.similarNews) {\n item.grouped?.forEach(i => {\n return isSignalNews(i.link);\n });\n } else {\n return isSignalNews(item.link);\n }\n}\nconst isSignalNews = link => {\n let url = new URL(link);\n let hosts = ['terminal.thetie.io', 'sigdev.thetie.io'];\n if (hosts.includes(url.host) && url.searchParams.get('id') != null) return true;\n else return false;\n};\n"],"names":["groupNews","newsData","loadedDataSet","updatedNews","chain","newsCollection","i","compact","nc","find","get","uniqBy","source","orderBy","onChainLoading","ref","showOnChainSidebar","link","signalId","store","response","axios","_b","_a","signalNews","item","isSignalNews","url"],"mappings":"2GAIO,SAASA,EAAUC,EAAUC,EAAe,CACjD,IAAIC,EAAc,CAAA,EAClBC,OAAAA,EAAAA,MAAMH,CAAQ,EACX,QAAQ,kBAAkB,EAC1B,IAAI,CAACI,EAAgBC,IAAM,CAI1B,GAAI,CAHoBC,EAAO,QAC7BF,EAAe,IAAIG,GAAMC,EAAI,KAACN,EAAY,OAAOD,CAAa,EAAG,CAAE,QAAS,CAAC,CAAE,GAAIM,EAAG,EAAE,CAAE,CAAC,CAAE,CAAC,CACtG,EAC6B,OACrB,OAAIE,MAAID,EAAAA,KAAKJ,EAAgB,kBAAkB,EAAG,kBAAkB,GAAK,MAAQA,EAAe,OAAS,EAChGF,EAAY,KAAK,CACtB,GAAIO,EAAG,IAACD,EAAI,KAACJ,EAAgB,IAAI,EAAG,IAAI,EACxC,UAAWK,EAAG,IAACD,EAAI,KAACJ,EAAgB,WAAW,EAAG,WAAW,EAC7D,QAASA,EACT,SAAUK,EAAG,IAACD,EAAI,KAACJ,EAAgB,kBAAkB,EAAG,kBAAkB,EAC1E,UAAWK,EAAG,IAACD,EAAI,KAACJ,EAAgB,WAAW,EAAG,WAAW,EAC7D,YAAa,GACb,QAASM,EAAM,OAACN,EAAe,IAAIO,GAAU,CAAC,GAAGA,EAAO,OAAO,CAAC,EAAE,KAAI,EAAI,IAAI,CAC1F,CAAW,EAEMT,EAAY,KAAK,GAAGE,CAAc,CAGnD,CAAK,EACA,QACIQ,UAAQV,EAAa,YAAa,MAAM,CACjD,CACA,MAAMW,EAAiBC,EAAI,EAAK,EACzB,eAAeC,EAAmBC,EAAM,SAE7C,IAAIC,EADM,IAAI,IAAID,CAAI,EACH,aAAa,IAAI,IAAI,EACxCH,EAAe,MAAQ,GACvBK,EAAM,SAAS,uBAAwB,CAAE,SAAU,KAAM,eAAgBL,EAAe,KAAK,CAAE,EAC/F,MAAMM,EAAW,MAAMC,EAAM,IAAI,6BAA8B,CAC7D,OAAQ,CACN,UAAWH,CACZ,CACL,CAAG,IACGI,GAAAC,EAAAH,EAAS,OAAT,YAAAG,EAAe,SAAf,YAAAD,EAAuB,QAAS,IAClCR,EAAe,MAAQ,GACvBK,EAAM,SAAS,uBAAwB,CACrC,YAAaC,EAAS,KAAK,OAAO,CAAC,EACnC,eAAgBN,EAAe,KACrC,CAAK,EAEL,CACO,SAASU,EAAWC,EAAM,OAC/B,GAAIA,EAAK,aACPF,EAAAE,EAAK,UAAL,MAAAF,EAAc,QAAQjB,GACboB,EAAapB,EAAE,IAAI,OAG5B,QAAOoB,EAAaD,EAAK,IAAI,CAEjC,CACA,MAAMC,EAAeT,GAAQ,CAC3B,IAAIU,EAAM,IAAI,IAAIV,CAAI,EAEtB,MAAI,GADQ,CAAC,qBAAsB,kBAAkB,EAC3C,SAASU,EAAI,IAAI,GAAKA,EAAI,aAAa,IAAI,IAAI,GAAK,KAEhE"}