{"version":3,"sources":["src/app.js"],"names":["updateClipboard","id","clipboard","writeText","then","err","searchClient","algoliasearch","search","instantsearch","indexName","searchParameters","facetingAfterDistinct","attributesToSnippet","routing","stateMapping","stateMappings","singleIndex","addWidget","widgets","searchBox","container","placeholder","hits","templates","item","name","_highlightResult","value","country","sponsor","objectID","cord","_geoloc","lat","lon","cc","toLowerCase","url","pagination","refinementList","attribute","operator","limit","showMore","showMoreLimit","searchable","searchablePlaceholder","stats","start","tippy","setDefaults","arrow","arrowType","animateFill","animation","theme","delay","on","document","querySelectorAll","forEach","el","addEventListener","e","preventDefault","dataset"],"mappings":";AAGA,IAAMA,EAAkB,SAAAC,GACtBC,UAAUC,UAA0CF,gCAAAA,OAAAA,IAAMG,KACxD,aACA,SAASC,GACDA,MAAAA,KAMNC,EAAeC,cAArB,aAAA,oCAKMC,EAASC,cAAc,CAC3BC,UAD2B,OAE3BC,iBAAkB,CAChBC,uBAAuB,EACvBC,oBAAqB,CAAC,gBAExBC,QAAS,CACPC,aAAcN,cAAcO,cAAcC,YAAY,SAExDX,aAAAA,IAGFE,EAAOU,UACLT,cAAcU,QAAQC,UAAU,CAC9BC,UAAW,aACXC,YAAa,sBAIjBd,EAAOU,UACLT,cAAcU,QAAQI,KAAK,CACzBF,UAAW,QACXG,UAAW,CACTC,KAAM,SAAAA,GACEC,IAAAA,EACJD,EAAKE,kBAAoBF,EAAKE,iBAAiBD,KAC3CD,EAAKE,iBAAiBD,KAAKE,MAC3BH,EAAKC,KAELG,EACJJ,EAAKE,kBAAoBF,EAAKE,iBAAiBE,QAC3CJ,EAAKE,iBAAiBE,QAAQD,MAC9BH,EAAKI,QAELC,EACJL,EAAKE,kBAAoBF,EAAKE,iBAAiBG,QAC3CL,EAAKE,iBAAiBG,QAAQF,MAC9BH,EAAKK,QAEL7B,EACJwB,EAAKE,kBAAoBF,EAAKE,iBAAiBI,SAC3CN,EAAKE,iBAAiBI,SAASH,MAC/BH,EAAKM,SAELC,EAAUP,GAAAA,OAAAA,EAAKQ,QAAQC,IAAOT,KAAAA,OAAAA,EAAKQ,QAAQE,KAKrBV,MAAAA,0EAAAA,OAAAA,EAAKW,GACEX,gDAAAA,OAAAA,EAAKW,GAAGC,cAE5BZ,0DAAAA,OAAAA,EAAKa,IACZZ,+DAAAA,OAAAA,EAASG,MAAAA,OAAAA,EAGQC,wEAAAA,OAAAA,EAI0BE,qKAAAA,OAAAA,EAIzCP,4JAAAA,OAAAA,EAAKQ,QAAQC,IAAQT,MAAAA,OAAAA,EAAKQ,QAAQE,IAM3BlC,6MAAAA,OAAAA,EAEeA,4DAAAA,OAAAA,EA1BhC,0DAmCRO,EAAOU,UACLT,cAAcU,QAAQoB,WAAW,CAC/BlB,UAAW,iBAIfb,EAAOU,UACLT,cAAcU,QAAQqB,eAAe,CACnCnB,UAAW,mBACXoB,UAAW,UACXC,SAAU,MACVC,MAAO,GACPC,UAAU,EACVC,cAAe,GAEfC,YAAY,EACZC,sBAAuB,sBAI3BvC,EAAOU,UACLT,cAAcU,QAAQ6B,MAAM,CAC1B3B,UAAW,mBAIfb,EAAOyC,QAGPC,MAAMC,YAAY,CAChBC,OAAO,EACPC,UAAW,QACXC,aAAa,EACbC,UAAW,eACXC,MAAO,QACPC,MAAO,CAAC,GAAI,MAEdP,MAAM,YAGN1C,EAAOkD,GAAG,SAAU,WACDC,SAASC,iBAAiB,OAElCC,QAAQ,SAAAC,GACfZ,MAAM,YAENY,EAAGC,iBAAiB,QAAS,SAAAC,GAC3BA,EAAEC,iBACFjE,EAAgB8D,EAAGI,QAAQjE","file":"app.00d4a73f.js","sourceRoot":"..","sourcesContent":["/* global algoliasearch instantsearch clipboard tippy */\n\n// Copy command to clipboard\nconst updateClipboard = id => {\n clipboard.writeText(`python speedtest.py --server ${id}`).then(\n function() {},\n function(err) {\n throw err;\n }\n );\n};\n\n// Remove URL protocol\nconst searchClient = algoliasearch(\n process.env.ALGOLIA_APP_ID,\n process.env.ALGOLIA_SEARCH_KEY\n);\n\nconst search = instantsearch({\n indexName: process.env.ALGOLIA_INDEX,\n searchParameters: {\n facetingAfterDistinct: true,\n attributesToSnippet: ['extended:40'],\n },\n routing: {\n stateMapping: instantsearch.stateMappings.singleIndex('list'),\n },\n searchClient,\n});\n\nsearch.addWidget(\n instantsearch.widgets.searchBox({\n container: '#searchbox',\n placeholder: 'Search for nodeā€¦',\n })\n);\n\nsearch.addWidget(\n instantsearch.widgets.hits({\n container: '#hits',\n templates: {\n item: item => {\n const name =\n item._highlightResult && item._highlightResult.name\n ? item._highlightResult.name.value\n : item.name;\n\n const country =\n item._highlightResult && item._highlightResult.country\n ? item._highlightResult.country.value\n : item.country;\n\n const sponsor =\n item._highlightResult && item._highlightResult.sponsor\n ? item._highlightResult.sponsor.value\n : item.sponsor;\n\n const id =\n item._highlightResult && item._highlightResult.objectID\n ? item._highlightResult.objectID.value\n : item.objectID;\n\n const cord = `${item._geoloc.lat},${item._geoloc.lon}`;\n\n return `\n

\n \n \n ${name}, ${country}\n \n

\n
${sponsor}
\n
\n
\n \n ${item._geoloc.lat}, ${item._geoloc.lon}\n \n
\n \n #${id}\n \n
\n `;\n },\n },\n })\n);\n\nsearch.addWidget(\n instantsearch.widgets.pagination({\n container: '#pagination',\n })\n);\n\nsearch.addWidget(\n instantsearch.widgets.refinementList({\n container: '#refinement-list',\n attribute: 'country',\n operator: 'and',\n limit: 10,\n showMore: true,\n showMoreLimit: 30,\n // Make sure add `searchable(_tags)` to `attributesForFaceting`\n searchable: true,\n searchablePlaceholder: 'Search countries',\n })\n);\n\nsearch.addWidget(\n instantsearch.widgets.stats({\n container: '#search-stats',\n })\n);\n\nsearch.start();\n\n// Init Tippy tooltips\ntippy.setDefaults({\n arrow: true,\n arrowType: 'round',\n animateFill: false,\n animation: 'shift-toward',\n theme: 'light',\n delay: [50, 50],\n});\ntippy('.tooltip');\n\n// Events\nsearch.on('render', () => {\n const resultId = document.querySelectorAll('.id');\n\n resultId.forEach(el => {\n tippy('.tooltip');\n\n el.addEventListener('click', e => {\n e.preventDefault();\n updateClipboard(el.dataset.id);\n });\n });\n});\n"]}