{"version":3,"sources":["Newsletter.tsx"],"sourcesContent":["import { Component } from \"uix/components/Component.ts\";\nimport { template } from \"uix/html/template.ts\";\nimport Markdown from \"../Defaults/Markdown.tsx\";\nimport { include } from \"uix/base/decorators.ts\";\nimport { type Datex } from \"unyt_core/datex.ts\";\nimport { Icon } from \"../Defaults/Icon.tsx\";\n\n\n@template(function(this: NewsletterNew) {\n\treturn <div>\n\t\t<div>\n\t\t\t<div class=\"success\">\n\t\t\t\t<Icon name=\"fa-thumbs-up\"/>\n\t\t\t\t{this.strings.thankYou}\n\t\t\t</div>\n\t\t\t<div class=\"information\">\n\t\t\t\t<div id=\"error\" class=\"error hidden\">{this.strings.error} <a target=\"_blank\" href=\"https://newsletter.unyt.org\"><br/>{this.strings.tryAgain}</a></div>\n\t\t\t\t<h1>{this.strings.title}</h1>\n\t\t\t\t<span>{this.strings.description}</span>\n\t\t\t</div>\n\t\t\t<form onsubmit={()=>{}} class=\"input\" id=\"form\" onsubmit:frontend={((e: Event)=>{\n\t\t\t\t\ttry {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\treturn false;\n\t\t\t\t\t} catch (e) {}\n\t\t\t\t})}>\n\t\t\t\t<div>\n\t\t\t\t\t<input name=\"email\" type={\"email\"} placeholder={this.strings.mailPlaceholder} required/>\n\t\t\t\t\t<button onclick:frontend={() => use(this) && this.send()} type={\"submit\"}>{this.strings.subscribe}</button>\n\t\t\t\t</div>\n\t\t\t\t<label class=\"check\">\n\t\t\t\t\t<Markdown value={this.strings.tos}/>\n\t\t\t\t\t<input required type=\"checkbox\"/>\n\t\t\t\t\t<span class=\"checkmark\"></span>\n\t\t\t\t</label>\n\t\t\t</form>\n\t\t</div>\n\t</div>\n})\nexport class NewsletterNew extends Component {\n\t@include strings!: Record<string,Datex.RefOrValue<string>>;\n\t@standalone @id form!: HTMLFormElement;\n\t@standalone @id error!: HTMLDivElement;\n\n\t@standalone\n\toverride onDisplay() {\n\t\tthis.form.onsubmit = () => {}\n\t}\n\n\t@standalone\n\tasync send() {\n\t\tthis.form.reportValidity();\n\t\tif (!this.form.checkValidity())\n\t\t\treturn;\n\t\tthis.form.classList.add(\"disabled\");\n\t\tconst country = (navigator.language || navigator.userLanguage) === \"de-DE\" ? \"DE\" : \"EN\";\n\t\tconst data = Object.fromEntries(new FormData(this.form)) as Record<string, string>;\n\t\tdata.country = country;\n\t\tconst url = new URL(\"https://newsletter.unyt.org/subscribe\");\n\t\turl.search = new URLSearchParams(data).toString();\n\t\tthis.error.classList.add(\"hidden\");\n\t\ttry {\n\t\t\tconst isOnline = await fetch(\"https://newsletter.unyt.org\", {cache: \"no-cache\"});\n\t\t\tif (!isOnline.ok)\n\t\t\t\tthrow new Error(\"Invalid status or not reachable\");\n\t\t\ttry { await fetch(url, {cache: \"no-cache\"}); } catch (e) {}\n\t\t\tawait new Promise((r) => setTimeout(r, 500));\n\t\t\tthis.classList.add(\"active\");\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t\tthis.form.reset();\n\t\t\tthis.form.classList.remove(\"disabled\");\n\t\t\tthis.error.classList.remove(\"hidden\");\n\t\t}\n\t}\n}"],"names":["Component","strings","form","error","template","Markdown","include","Icon","div","class","name","thankYou","id","a","target","href","br","tryAgain","h1","title","span","description","onsubmit","e","preventDefault","input","type","placeholder","mailPlaceholder","required","button","use","send","subscribe","label","value","tos","NewsletterNew","standalone","onDisplay","reportValidity","checkValidity","classList","add","country","navigator","language","userLanguage","data","Object","fromEntries","FormData","url","URL","search","URLSearchParams","toString","isOnline","fetch","cache","ok","Error","Promise","r","setTimeout","console","reset","remove"],"mappings":"sBAuCmCA,YAClC,AAASC,eACT,AAAgBC,YAChB,AAAgBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA1CjB,SAASH,SAAS,QAAQ,8BAA8B;AACxD,SAASI,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,cAAc,2BAA2B;AAChD,SAASC,OAAO,QAAQ,yBAAyB;AAEjD,SAASC,IAAI,QAAQ,uBAAuB;OAG3CH,SAAS;IACT,qBAAO,KAACI;kBACP,cAAA,MAACA;;8BACA,MAACA;oBAAIC,OAAM;;sCACV,KAACF;4BAAKG,MAAK;;wBACV,IAAI,CAACT,OAAO,CAACU,QAAQ;;;8BAEvB,MAACH;oBAAIC,OAAM;;sCACV,MAACD;4BAAII,IAAG;4BAAQH,OAAM;;gCAAgB,IAAI,CAACR,OAAO,CAACE,KAAK;gCAAC;8CAAC,MAACU;oCAAEC,QAAO;oCAASC,MAAK;;sDAA8B,KAACC;wCAAK,IAAI,CAACf,OAAO,CAACgB,QAAQ;;;;;sCAC3I,KAACC;sCAAI,IAAI,CAACjB,OAAO,CAACkB,KAAK;;sCACvB,KAACC;sCAAM,IAAI,CAACnB,OAAO,CAACoB,WAAW;;;;8BAEhC,MAACnB;oBAAKoB,UAAU,KAAK;oBAAGb,OAAM;oBAAQG,IAAG;oBAAzC,qBAAoE,CAACW;wBACnE,IAAI;4BAEJ,OADCA,EAAEC,cAAc,IACV,CAAA;wBACP,EAAE,OAAOD,GAAG,CAAC;oBACd;;sCACA,MAACf;;8CACA,KAACiB;oCAAMf,MAAK;oCAAQgB,MAAM;oCAASC,aAAa,IAAI,CAAC1B,OAAO,CAAC2B,eAAe;oCAAEC,QAAQ;;8CACtF,KAACC;oCAAD,oBAA0B,IAAMC,IAAI,IAAI,KAAK,IAAI,CAACC,IAAI;oCAAIN,MAAM;8CAAW,IAAI,CAACzB,OAAO,CAACgC,SAAS;;;;sCAElG,MAACC;4BAAMzB,OAAM;;8CACZ,KAACJ;oCAAS8B,OAAO,IAAI,CAAClC,OAAO,CAACmC,GAAG;;8CACjC,KAACX;oCAAMI,QAAQ;oCAACH,MAAK;;8CACrB,KAACN;oCAAKX,OAAM;;;;;;;;;AAKjB;AACO,IAAA,AAAM4B,gBAAN,MAAMA,uBAAsBrC,aAAAA;;eACzBC,eACOC,YACAC;;gBAEfmC;;gBACQC;;;gBAIRD;;gBACKN;;;gBAVL1B;;gBAAQL;;;;oBACRqC;oBAAY1B;;;gBAAGV;;;;oBACfoC;oBAAY1B;;;gBAAGT;;;;WAHkBH;;;;;IACzBC,UAAAA,oBAAkD;IAC3CC,OAAAA,iBAAuB;IACvBC,QAAAA,kBAAuB;IAG9BoC,YAAY;QACpB,IAAI,CAACrC,IAAI,CAACoB,QAAQ,GAAG,KAAO;IAC7B;IAEA,MACMU,OAAO;QAEZ,IADA,IAAI,CAAC9B,IAAI,CAACsC,cAAc,IACpB,CAAC,IAAI,CAACtC,IAAI,CAACuC,aAAa,IAC3B;QACD,IAAI,CAACvC,IAAI,CAACwC,SAAS,CAACC,GAAG,CAAC;QACxB,IAAMC,UAAU,AAAmD,YAAlDC,CAAAA,UAAUC,QAAQ,IAAID,UAAUE,YAAY,AAAD,IAAiB,OAAO,MAC9EC,OAAOC,OAAOC,WAAW,CAAC,IAAIC,SAAS,IAAI,CAACjD,IAAI;QACtD8C,KAAKJ,OAAO,GAAGA;QACf,IAAMQ,MAAM,IAAIC,IAAI;QACpBD,IAAIE,MAAM,GAAG,IAAIC,gBAAgBP,MAAMQ,QAAQ,IAC/C,IAAI,CAACrD,KAAK,CAACuC,SAAS,CAACC,GAAG,CAAC;QACzB,IAAI;YAEH,IAAI,CAACc,AADY,CAAA,MAAMC,MAAM,+BAA+B;gBAACC,OAAO;YAAU,EAAC,EACjEC,EAAE,EACf,MAAM,AAAIC,MAAM;YACjB,IAAI;gBAAE,MAAMH,MAAMN,KAAK;oBAACO,OAAO;gBAAU;YAAI,EAAE,OAAOpC,GAAG,CAAC;YAC1D,MAAM,IAAIuC,QAAQ,CAACC,IAAMC,WAAWD,GAAG,OACvC,IAAI,CAACrB,SAAS,CAACC,GAAG,CAAC;QACpB,EAAE,OAAOpB,GAAG;YACX0C,QAAQ9D,KAAK,CAACoB,IACd,IAAI,CAACrB,IAAI,CAACgE,KAAK,IACf,IAAI,CAAChE,IAAI,CAACwC,SAAS,CAACyB,MAAM,CAAC,aAC3B,IAAI,CAAChE,KAAK,CAACuC,SAAS,CAACyB,MAAM,CAAC;QAC7B;IACD;;;;AACD;SApCA,AAAa9B,kBAAAA,aAoCZ","sourceRoot":"/lib/uix-components-new-0.1.15/Newsletter/","file":"Newsletter.tsx"}