diff --git a/js/dist/admin.js b/js/dist/admin.js index 50e92d6..33b584f 100644 --- a/js/dist/admin.js +++ b/js/dist/admin.js @@ -1,2 +1,2 @@ -(()=>{var e={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return e.d(a,{a}),a},d:(t,a)=>{for(var o in a)e.o(a,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:a[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};(()=>{"use strict";e.r(t);const a=flarum.core.compat["admin/app"];var o=e.n(a),r=["facebook","twitter","linkedin","reddit","whatsapp","telegram","vkontakte","odnoklassniki","my_mail","qq","qzone","native"];o().initializers.add("fof/share-social",(function(){var e=o().extensionData.for("fof-share-social");e.registerSetting({label:o().translator.trans("fof-share-social.admin.settings.canonical-urls"),setting:"fof-share-social.canonical-urls",type:"boolean"}).registerSetting({label:o().translator.trans("fof-share-social.admin.settings.plain-copy"),setting:"fof-share-social.plain-copy",type:"boolean"}).registerSetting((function(){return m("hr",null)})),r.forEach((function(t){return e.registerSetting({label:o().translator.trans("fof-share-social.lib.networks."+t),setting:"fof-share-social.networks."+t,type:"boolean"})}))}))})(),module.exports=t})(); +(()=>{var e={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return e.d(a,{a}),a},d:(t,a)=>{for(var o in a)e.o(a,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:a[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};(()=>{"use strict";e.r(t);const a=flarum.core.compat["admin/app"];var o=e.n(a),r=["facebook","twitter","linkedin","reddit","whatsapp","telegram","vkontakte","odnoklassniki","my_mail","qq","qzone","native"];o().initializers.add("fof/share-social",(function(){var e=o().extensionData.for("fof-share-social");e.registerSetting({label:o().translator.trans("fof-share-social.admin.settings.canonical-urls"),setting:"fof-share-social.canonical-urls",type:"boolean"}).registerSetting({label:o().translator.trans("fof-share-social.admin.settings.plain-copy"),setting:"fof-share-social.plain-copy",type:"boolean"}).registerSetting({label:o().translator.trans("fof-share-social.admin.settings.default-option"),help:o().translator.trans("fof-share-social.admin.settings.default-option-help"),setting:"fof-share-social.default-option",type:"select",options:r.reduce((function(e,t){return e[t]=o().translator.trans("fof-share-social.lib.networks."+t),e}),{"":""})}).registerSetting((function(){return m("hr",null)})),r.forEach((function(t){return e.registerSetting({label:o().translator.trans("fof-share-social.lib.networks."+t),setting:"fof-share-social.networks."+t,type:"boolean"})}))}))})(),module.exports=t})(); //# sourceMappingURL=admin.js.map \ No newline at end of file diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map index 82d5317..15691ec 100644 --- a/js/dist/admin.js.map +++ b/js/dist/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"admin.js","mappings":"MACA,IAAIA,EAAsB,CCA1BA,EAAyBC,IACxB,IAAIC,EAASD,GAAUA,EAAOE,WAC7B,IAAOF,EAAiB,QACxB,IAAM,EAEP,OADAD,EAAoBI,EAAEF,EAAQ,CAAEG,IACzBH,CAAM,ECLdF,EAAwB,CAACM,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDR,EAAwB,CAACc,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFf,EAAyBM,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GAAO,G,+BCL9D,MAAM,EAA+BC,OAAOC,KAAKC,OAAO,a,aCElDC,EAAW,CACf,WACA,UACA,WACA,SACA,WACA,WACA,YACA,gBACA,UACA,KACA,QACA,UAGFC,IAAAA,aAAiBC,IAAI,oBAAoB,WACvC,IAAMC,EAAMF,IAAAA,cAAiB,IAAK,oBAElCE,EACGC,gBAAgB,CACfC,MAAOJ,IAAAA,WAAeK,MAAM,kDAC5BC,QAAS,kCACTC,KAAM,YAEPJ,gBAAgB,CACfC,MAAOJ,IAAAA,WAAeK,MAAM,8CAC5BC,QAAS,8BACTC,KAAM,YAEPJ,iBAAgB,WACf,OAAOK,EAAA,UACT,IAEFT,EAASU,SAAQ,SAACC,GAAO,OACvBR,EAAIC,gBAAgB,CAClBC,MAAOJ,IAAAA,WAAeK,MAAM,iCAAiCK,GAC7DJ,QAAS,6BAA6BI,EACtCH,KAAM,WACN,GAEN,G","sources":["webpack://@fof/share-social/webpack/bootstrap","webpack://@fof/share-social/webpack/runtime/compat get default export","webpack://@fof/share-social/webpack/runtime/define property getters","webpack://@fof/share-social/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/share-social/webpack/runtime/make namespace object","webpack://@fof/share-social/external root \"flarum.core.compat['admin/app']\"","webpack://@fof/share-social/./src/admin/index.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","import app from 'flarum/admin/app';\n\nconst networks = [\n 'facebook',\n 'twitter',\n 'linkedin',\n 'reddit',\n 'whatsapp',\n 'telegram',\n 'vkontakte',\n 'odnoklassniki',\n 'my_mail',\n 'qq',\n 'qzone',\n 'native',\n];\n\napp.initializers.add('fof/share-social', () => {\n const set = app.extensionData.for('fof-share-social');\n\n set\n .registerSetting({\n label: app.translator.trans('fof-share-social.admin.settings.canonical-urls'),\n setting: 'fof-share-social.canonical-urls',\n type: 'boolean',\n })\n .registerSetting({\n label: app.translator.trans('fof-share-social.admin.settings.plain-copy'),\n setting: 'fof-share-social.plain-copy',\n type: 'boolean',\n })\n .registerSetting(function () {\n return
;\n });\n\n networks.forEach((network) =>\n set.registerSetting({\n label: app.translator.trans(`fof-share-social.lib.networks.${network}`),\n setting: `fof-share-social.networks.${network}`,\n type: 'boolean',\n })\n );\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","networks","app","add","set","registerSetting","label","trans","setting","type","m","forEach","network"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":"MACA,IAAIA,EAAsB,CCA1BA,EAAyBC,IACxB,IAAIC,EAASD,GAAUA,EAAOE,WAC7B,IAAOF,EAAiB,QACxB,IAAM,EAEP,OADAD,EAAoBI,EAAEF,EAAQ,CAAEG,IACzBH,CAAM,ECLdF,EAAwB,CAACM,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDR,EAAwB,CAACc,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFf,EAAyBM,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GAAO,G,+BCL9D,MAAM,EAA+BC,OAAOC,KAAKC,OAAO,a,aCGlDC,EAAW,CACf,WACA,UACA,WACA,SACA,WACA,WACA,YACA,gBACA,UACA,KACA,QACA,UAGFC,IAAAA,aAAiBC,IAAI,oBAAoB,WACvC,IAAMC,EAAMF,IAAAA,cAAiB,IAAK,oBAElCE,EACGC,gBAAgB,CACfC,MAAOJ,IAAAA,WAAeK,MAAM,kDAC5BC,QAAS,kCACTC,KAAM,YAEPJ,gBAAgB,CACfC,MAAOJ,IAAAA,WAAeK,MAAM,8CAC5BC,QAAS,8BACTC,KAAM,YAEPJ,gBAAgB,CACfC,MAAOJ,IAAAA,WAAeK,MAAM,kDAC5BG,KAAMR,IAAAA,WAAeK,MAAM,uDAC3BC,QAAS,kCACTC,KAAM,SACNE,QAASV,EAASW,QAChB,SAAC3B,EAAG4B,GAEF,OADA5B,EAAE4B,GAAWX,IAAAA,WAAeK,MAAM,iCAAiCM,GAC5D5B,CACT,GACA,CAAE,GAAI,OAGToB,iBAAgB,WACf,OAAOS,EAAA,UACT,IAEFb,EAASc,SAAQ,SAACF,GAAO,OACvBT,EAAIC,gBAAgB,CAClBC,MAAOJ,IAAAA,WAAeK,MAAM,iCAAiCM,GAC7DL,QAAS,6BAA6BK,EACtCJ,KAAM,WACN,GAEN,G","sources":["webpack://@fof/share-social/webpack/bootstrap","webpack://@fof/share-social/webpack/runtime/compat get default export","webpack://@fof/share-social/webpack/runtime/define property getters","webpack://@fof/share-social/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/share-social/webpack/runtime/make namespace object","webpack://@fof/share-social/external root \"flarum.core.compat['admin/app']\"","webpack://@fof/share-social/./src/admin/index.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","import app from 'flarum/admin/app';\nimport type { SelectSettingComponentOptions } from 'flarum/admin/components/AdminPage';\n\nconst networks = [\n 'facebook',\n 'twitter',\n 'linkedin',\n 'reddit',\n 'whatsapp',\n 'telegram',\n 'vkontakte',\n 'odnoklassniki',\n 'my_mail',\n 'qq',\n 'qzone',\n 'native',\n];\n\napp.initializers.add('fof/share-social', () => {\n const set = app.extensionData.for('fof-share-social');\n\n set\n .registerSetting({\n label: app.translator.trans('fof-share-social.admin.settings.canonical-urls'),\n setting: 'fof-share-social.canonical-urls',\n type: 'boolean',\n })\n .registerSetting({\n label: app.translator.trans('fof-share-social.admin.settings.plain-copy'),\n setting: 'fof-share-social.plain-copy',\n type: 'boolean',\n })\n .registerSetting({\n label: app.translator.trans('fof-share-social.admin.settings.default-option'),\n help: app.translator.trans('fof-share-social.admin.settings.default-option-help'),\n setting: 'fof-share-social.default-option',\n type: 'select',\n options: networks.reduce(\n (o, network) => {\n o[network] = app.translator.trans(`fof-share-social.lib.networks.${network}`);\n return o;\n },\n { '': '' } as SelectSettingComponentOptions['options']\n ),\n })\n .registerSetting(function () {\n return
;\n });\n\n networks.forEach((network) =>\n set.registerSetting({\n label: app.translator.trans(`fof-share-social.lib.networks.${network}`),\n setting: `fof-share-social.networks.${network}`,\n type: 'boolean',\n })\n );\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","networks","app","add","set","registerSetting","label","trans","setting","type","help","options","reduce","network","m","forEach"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js b/js/dist/forum.js index c13c8d2..a112315 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -1,2 +1,2 @@ -(()=>{var t={n:r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return t.d(e,{a:e}),e},d:(r,e)=>{for(var o in e)t.o(e,o)&&!t.o(r,o)&&Object.defineProperty(r,o,{enumerable:!0,get:e[o]})},o:(t,r)=>Object.prototype.hasOwnProperty.call(t,r),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},r={};(()=>{"use strict";t.r(r);const e=flarum.core.compat["forum/app"];var o=t.n(e);const n=flarum.core.compat["common/extend"],a=flarum.core.compat["forum/components/DiscussionPage"];var i=t.n(a);const c=flarum.core.compat["common/components/Button"];var u=t.n(c);const l=flarum.core.compat["common/Model"];var s=t.n(l);const f=flarum.core.compat["common/models/Discussion"];var p=t.n(f);function d(t,r){return d=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},d(t,r)}function h(t,r){t.prototype=Object.create(r.prototype),t.prototype.constructor=t,d(t,r)}const y=flarum.core.compat["common/components/Modal"];var v=t.n(y);const g=flarum.core.compat["common/helpers/icon"];var b=t.n(g);const w=flarum.core.compat["common/utils/string"];function k(t){return k=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},k(t)}function S(t,r,e){return S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,r,e){var o=[null];o.push.apply(o,r);var n=new(Function.bind.apply(t,o));return e&&d(n,e.prototype),n},S.apply(null,arguments)}function q(t){var r="function"==typeof Map?new Map:void 0;return q=function(t){if(null===t||(e=t,-1===Function.toString.call(e).indexOf("[native code]")))return t;var e;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,o)}function o(){return S(t,arguments,k(this).constructor)}return o.prototype=Object.create(t.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),d(o,t)},q(t)}function O(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,o=new Array(r);e/g,">")};function j(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,o=new Array(r);e=t.length?{done:!0}:{done:!1,value:t[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(e.split("."));!(o=i()).done;){var u=o.value;n=n?n[u]:void 0}var l=c({value:n,key:e});if(void 0===l){if(a)return t;throw new x(e)}return String(l)},s=/{{(\d+|[a-z$_][\w\-$]*?(?:\.[\w\-$]*?)*?)}}/gi;return s.test(t)&&(t=t.replace(s,(u=l,function(){return function(t){if("string"==typeof t)return _(t);for(var r=t[0],e=arguments.length,o=new Array(e>1?e-1:0),n=1;n=t.length?{done:!0}:{done:!1,value:t[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(o.entries());!(a=i()).done;){var c=a.value,u=c[0],l=c[1];r=r+_(String(l))+t[u+1]}return r}(u.apply(void 0,arguments))}))),t.replace(/{(\d+|[a-z$_][\w\-$]*?(?:\.[\w\-$]*?)*?)}/gi,l)}const M=flarum.core.compat["common/utils/ItemList"];var I=t.n(M),P=function(t){return{title:t.title,text:t.description,url:t.url}},B={facebook:"//facebook.com/sharer/sharer.php?u={url}",twitter:"//twitter.com/share?url={url}&text={title}",linkedin:"//linkedin.com/shareArticle?mini=true&url={url}&title={title}&summary={description}",reddit:"//www.reddit.com/submit?url={url}&title={title}",whatsapp:"//api.whatsapp.com/send/?phone&text={title}%20{url}",telegram:"//telegram.me/share/url?url={url}&text={title}",vkontakte:"//vk.com/share.php?url={url}&title={title}&description={description}",odnoklassniki:"//connect.ok.ru/offer?url={url}",my_mail:"//connect.mail.ru/share?url={url}&title={title}&description={description}",qq:"//connect.qq.com/widget/shareqq/iframe_index.html?url={url}&title={title}",qzone:"//sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={url}&summary={description}&title={title}",native:function(t){return navigator.share(P(t))}},U={vkontakte:"fab fa-vk",my_mail:"fas fa-at",qq:"fab fa-qq",qzone:"fas fa-star",native:"fas fa-share-square"},z=function(t){function r(){return t.apply(this,arguments)||this}h(r,t);var e=r.prototype;return e.oninit=function(r){t.prototype.oninit.call(this,r),this.networks=this.attrs.networks,this.discussion=this.attrs.discussion},e.className=function(){return"FofShareSocialModal Modal--small"},e.title=function(){return o().translator.trans("fof-share-social.forum.modal.title")},e.content=function(){return m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},m("div",{className:"Form-group"},this.shareItems().toArray())))},e.shareItems=function(){var t=this,r=new(I()),e=o().forum.attribute("fof-share-social.plain-copy");return this.networks.filter((function(r){return"native"!==r||(null==navigator.canShare?void 0:navigator.canShare(P(t.data())))})).map((function(e){return r.add("network-"+e,m(u(),{className:"Button Button--rounded Button--block Share--"+e,icon:(U[e]||"fab fa-"+e)+" fa-lg fa-fw",onclick:t.onclick.bind(t,e)},o().translator.trans("fof-share-social.lib.networks."+e)))})),e&&r.add("plain-copy",m("div",{className:"ShareUrl"},m("input",{className:"FormControl",type:"text",value:this.discussion.shareUrl()}),m(u(),{className:"Button Button--primary","aria-label":o().translator.trans("fof-share-social.forum.modal.copy_button"),onclick:this.copy.bind(this)},b()("fas fa-copy fa-check")))),r},e.onclick=function(t){var r=this.data(),e=B[t];if("function"==typeof e)return e(r);var n="width=1000, height= 500, top="+($(window).height()/2-250)+", left="+($(window).width()/2-500)+", status=no, scrollbars=no, resizable=no";for(var a in r)r[a]=encodeURIComponent(r[a]);window.open(A(e,r),o().title,n)},e.data=function(){var t;return{url:this.discussion.shareUrl(),title:o().title,description:this.discussion.firstPost()&&(0,w.truncate)((0,w.getPlainContent)(null==(t=this.discussion.firstPost())?void 0:t.contentHtml()),150,0)||""}},e.copy=function(){var t=document.querySelector(".ShareUrl input");t.select(),t.setSelectionRange(0,99999),document.execCommand("copy"),this.toggleCopyIcon()},e.toggleCopyIcon=function(){var t=document.querySelector(".ShareUrl button i");t.classList.toggle("fa-copy"),setTimeout((function(){t.classList.toggle("fa-copy")}),3e3)},r}(v());o().initializers.add("fof/share-social",(function(){p().prototype.shareUrl=s().attribute("shareUrl"),(0,n.extend)(i().prototype,"sidebarItems",(function(t){var r=this,e=o().forum.attribute("fof-share-social.networks");e.length&&t.add("share-social",m(u(),{class:"Button Button-icon Button--share",icon:"fas fa-share-alt",onclick:function(){return o().modal.show(z,{networks:e,discussion:r.discussion})}},o().translator.trans("fof-share-social.forum.discussion.share_button")),-1)}))}))})(),module.exports=r})(); +(()=>{var t={n:r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return t.d(e,{a:e}),e},d:(r,e)=>{for(var o in e)t.o(e,o)&&!t.o(r,o)&&Object.defineProperty(r,o,{enumerable:!0,get:e[o]})},o:(t,r)=>Object.prototype.hasOwnProperty.call(t,r),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},r={};(()=>{"use strict";t.r(r);const e=flarum.core.compat["forum/app"];var o=t.n(e);const n=flarum.core.compat["common/extend"],a=flarum.core.compat["forum/components/DiscussionPage"];var i=t.n(a);const c=flarum.core.compat["common/components/Button"];var s=t.n(c);const u=flarum.core.compat["common/Model"];var l=t.n(u);const f=flarum.core.compat["common/models/Discussion"];var p=t.n(f);const d=flarum.core.compat["common/components/SplitDropdown"];var h=t.n(d);function y(t,r){return y=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},y(t,r)}function v(t,r){t.prototype=Object.create(r.prototype),t.prototype.constructor=t,y(t,r)}const b=flarum.core.compat["common/components/Modal"];var g=t.n(b);const w=flarum.core.compat["common/helpers/icon"];var S=t.n(w);const k=flarum.core.compat["common/utils/ItemList"];var _=t.n(k);const A=flarum.core.compat["common/utils/classList"];var O=t.n(A);const j=flarum.core.compat["common/utils/string"];var q={facebook:"//facebook.com/sharer/sharer.php?u={url}",twitter:"//twitter.com/share?url={url}&text={title}",linkedin:"//linkedin.com/shareArticle?mini=true&url={url}&title={title}&summary={description}",reddit:"//www.reddit.com/submit?url={url}&title={title}",whatsapp:"//api.whatsapp.com/send/?phone&text={title}%20{url}",telegram:"//telegram.me/share/url?url={url}&text={title}",vkontakte:"//vk.com/share.php?url={url}&title={title}&description={description}",odnoklassniki:"//connect.ok.ru/offer?url={url}",my_mail:"//connect.mail.ru/share?url={url}&title={title}&description={description}",qq:"//connect.qq.com/widget/shareqq/iframe_index.html?url={url}&title={title}",qzone:"//sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={url}&summary={description}&title={title}",native:function(t){return navigator.share(M(t))}},x={vkontakte:"fab fa-vk",my_mail:"fas fa-at",qq:"fab fa-qq",qzone:"fas fa-star",native:"fas fa-share-square"},I=function(t){var r;return{url:t.shareUrl(),title:o().title,description:t.firstPost()&&(0,j.truncate)((0,j.getPlainContent)(null==(r=t.firstPost())?void 0:r.contentHtml()),150,0)||""}},M=function(t){return{title:t.title,text:t.description,url:t.url}};function P(t){return P=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},P(t)}function B(t,r,e){return B=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,r,e){var o=[null];o.push.apply(o,r);var n=new(Function.bind.apply(t,o));return e&&y(n,e.prototype),n},B.apply(null,arguments)}function E(t){var r="function"==typeof Map?new Map:void 0;return E=function(t){if(null===t||(e=t,-1===Function.toString.call(e).indexOf("[native code]")))return t;var e;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,o)}function o(){return B(t,arguments,P(this).constructor)}return o.prototype=Object.create(t.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),y(o,t)},E(t)}function U(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,o=new Array(r);e/g,">")};function C(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,o=new Array(r);e=t.length?{done:!0}:{done:!1,value:t[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(e.split("."));!(o=i()).done;){var s=o.value;n=n?n[s]:void 0}var u=c({value:n,key:e});if(void 0===u){if(a)return t;throw new T(e)}return String(u)},l=/{{(\d+|[a-z$_][\w\-$]*?(?:\.[\w\-$]*?)*?)}}/gi;return l.test(t)&&(t=t.replace(l,(s=u,function(){return function(t){if("string"==typeof t)return z(t);for(var r=t[0],e=arguments.length,o=new Array(e>1?e-1:0),n=1;n=t.length?{done:!0}:{done:!1,value:t[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(o.entries());!(a=i()).done;){var c=a.value,s=c[0],u=c[1];r=r+z(String(u))+t[s+1]}return r}(s.apply(void 0,arguments))}))),t.replace(/{(\d+|[a-z$_][\w\-$]*?(?:\.[\w\-$]*?)*?)}/gi,u)}function R(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,o=new Array(r);e=t.length?{done:!0}:{done:!1,value:t[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(a);!(e=c()).done;){var s=e.value;("native"!==s||null!=navigator.canShare&&navigator.canShare(I(t)))&&n.add(s,F({network:s,discussion:t,isRounded:r}))}return n.has(i)&&n.setPriority(i,1e3),n},H=function(t){function r(){return t.apply(this,arguments)||this}v(r,t);var e=r.prototype;return e.oninit=function(r){t.prototype.oninit.call(this,r),this.networks=this.attrs.networks,this.discussion=this.attrs.discussion},e.className=function(){return"FofShareSocialModal Modal--small"},e.title=function(){return o().translator.trans("fof-share-social.forum.modal.title")},e.content=function(){return m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},m("div",{className:"Form-group"},this.shareItems().toArray())))},e.shareItems=function(){var t=D(this.discussion,!0);return o().forum.attribute("fof-share-social.plain-copy")&&t.add("plain-copy",m("div",{className:"ShareUrl"},m("input",{className:"FormControl",type:"text",value:this.discussion.shareUrl()}),m(s(),{className:"Button Button--primary","aria-label":o().translator.trans("fof-share-social.forum.modal.copy_button"),onclick:this.copy.bind(this)},S()("fas fa-copy fa-check")))),t},e.onclick=function(t){return share(t)},e.copy=function(){var t=document.querySelector(".ShareUrl input");t.select(),t.setSelectionRange(0,99999),document.execCommand("copy"),this.toggleCopyIcon()},e.toggleCopyIcon=function(){var t=document.querySelector(".ShareUrl button i");t.classList.toggle("fa-copy"),setTimeout((function(){t.classList.toggle("fa-copy")}),3e3)},r}(g());o().initializers.add("fof/share-social",(function(){p().prototype.shareUrl=l().attribute("shareUrl"),(0,n.extend)(i().prototype,"sidebarItems",(function(t){var r=this,e=o().forum.attribute("fof-share-social.networks"),n=o().forum.attribute("fof-share-social.default"),a="native"===n,i=a&&(null==navigator.canShare?void 0:navigator.canShare(M(this.discussion)));if(!n||a&&!i)t.add("share-social",m(s(),{class:"Button Button-icon Button--share",icon:"fas fa-share-alt",onclick:function(){return o().modal.show(H,{networks:e,discussion:r.discussion})}},o().translator.trans("fof-share-social.forum.discussion.share_button")),-1);else{var c=D(this.discussion);if(a&&(c.get("native").children=o().translator.trans("fof-share-social.forum.discussion.share_button")),c.isEmpty())return;t.add("share-social",m(h(),{icon:"fas fa-share-alt",buttonClassName:"Button--share",accessibleToggleLabel:o().translator.trans("fof-share-social.forum.discussion.share_dropdown_accessible_label"),lazyDraw:!0},c.toArray()))}}))}))})(),module.exports=r})(); //# sourceMappingURL=forum.js.map \ No newline at end of file diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map index 2468ec3..74eb4fa 100644 --- a/js/dist/forum.js.map +++ b/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/share-social/webpack/bootstrap","webpack://@fof/share-social/webpack/runtime/compat get default export","webpack://@fof/share-social/webpack/runtime/define property getters","webpack://@fof/share-social/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/share-social/webpack/runtime/make namespace object","webpack://@fof/share-social/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/share-social/external root \"flarum.core.compat['forum/components/DiscussionPage']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/share-social/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/utils/string']\"","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://@fof/share-social/./node_modules/escape-goat/index.js","webpack://@fof/share-social/./node_modules/pupa/index.js","webpack://@fof/share-social/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/share-social/./src/forum/components/ShareModal.js","webpack://@fof/share-social/./src/forum/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","const _htmlEscape = string => string\n\t.replace(/&/g, '&')\n\t.replace(/\"/g, '"')\n\t.replace(/'/g, ''')\n\t.replace(//g, '>');\n\nconst _htmlUnescape = htmlString => htmlString\n\t.replace(/>/g, '>')\n\t.replace(/</g, '<')\n\t.replace(/�?39;/g, '\\'')\n\t.replace(/"/g, '\"')\n\t.replace(/&/g, '&');\n\nexport function htmlEscape(strings, ...values) {\n\tif (typeof strings === 'string') {\n\t\treturn _htmlEscape(strings);\n\t}\n\n\tlet output = strings[0];\n\tfor (const [index, value] of values.entries()) {\n\t\toutput = output + _htmlEscape(String(value)) + strings[index + 1];\n\t}\n\n\treturn output;\n}\n\nexport function htmlUnescape(strings, ...values) {\n\tif (typeof strings === 'string') {\n\t\treturn _htmlUnescape(strings);\n\t}\n\n\tlet output = strings[0];\n\tfor (const [index, value] of values.entries()) {\n\t\toutput = output + _htmlUnescape(String(value)) + strings[index + 1];\n\t}\n\n\treturn output;\n}\n","import {htmlEscape} from 'escape-goat';\n\nexport class MissingValueError extends Error {\n\tconstructor(key) {\n\t\tsuper(`Missing a value for ${key ? `the placeholder: ${key}` : 'a placeholder'}`, key);\n\t\tthis.name = 'MissingValueError';\n\t\tthis.key = key;\n\t}\n}\n\nexport default function pupa(template, data, {ignoreMissing = false, transform = ({value}) => value} = {}) {\n\tif (typeof template !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\` in the first argument, got \\`${typeof template}\\``);\n\t}\n\n\tif (typeof data !== 'object') {\n\t\tthrow new TypeError(`Expected an \\`object\\` or \\`Array\\` in the second argument, got \\`${typeof data}\\``);\n\t}\n\n\tconst replace = (placeholder, key) => {\n\t\tlet value = data;\n\t\tfor (const property of key.split('.')) {\n\t\t\tvalue = value ? value[property] : undefined;\n\t\t}\n\n\t\tconst transformedValue = transform({value, key});\n\t\tif (transformedValue === undefined) {\n\t\t\tif (ignoreMissing) {\n\t\t\t\treturn placeholder;\n\t\t\t}\n\n\t\t\tthrow new MissingValueError(key);\n\t\t}\n\n\t\treturn String(transformedValue);\n\t};\n\n\tconst composeHtmlEscape = replacer => (...args) => htmlEscape(replacer(...args));\n\n\t// The regex tries to match either a number inside `{{ }}` or a valid JS identifier or key path.\n\tconst doubleBraceRegex = /{{(\\d+|[a-z$_][\\w\\-$]*?(?:\\.[\\w\\-$]*?)*?)}}/gi;\n\n\tif (doubleBraceRegex.test(template)) {\n\t\ttemplate = template.replace(doubleBraceRegex, composeHtmlEscape(replace));\n\t}\n\n\tconst braceRegex = /{(\\d+|[a-z$_][\\w\\-$]*?(?:\\.[\\w\\-$]*?)*?)}/gi;\n\n\treturn template.replace(braceRegex, replace);\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","import app from 'flarum/forum/app';\nimport Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\nimport icon from 'flarum/common/helpers/icon';\nimport { truncate, getPlainContent } from 'flarum/common/utils/string';\n\nimport pupa from 'pupa';\nimport ItemList from 'flarum/common/utils/ItemList';\n\nconst navigatorData = ({ title, description, url }) => ({ title, text: description, url });\n\nconst share = {\n facebook: '//facebook.com/sharer/sharer.php?u={url}',\n twitter: '//twitter.com/share?url={url}&text={title}',\n linkedin: '//linkedin.com/shareArticle?mini=true&url={url}&title={title}&summary={description}',\n reddit: '//www.reddit.com/submit?url={url}&title={title}',\n whatsapp: '//api.whatsapp.com/send/?phone&text={title}%20{url}',\n telegram: '//telegram.me/share/url?url={url}&text={title}',\n\n vkontakte: '//vk.com/share.php?url={url}&title={title}&description={description}',\n odnoklassniki: '//connect.ok.ru/offer?url={url}',\n my_mail: '//connect.mail.ru/share?url={url}&title={title}&description={description}',\n qq: '//connect.qq.com/widget/shareqq/iframe_index.html?url={url}&title={title}',\n qzone: '//sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={url}&summary={description}&title={title}',\n\n native: (data) => navigator.share(navigatorData(data)),\n};\n\nconst shareIcons = {\n vkontakte: 'fab fa-vk',\n my_mail: 'fas fa-at',\n qq: 'fab fa-qq',\n qzone: 'fas fa-star',\n native: 'fas fa-share-square',\n};\n\nexport default class ShareModal extends Modal {\n oninit(vdom) {\n super.oninit(vdom);\n\n this.networks = this.attrs.networks;\n this.discussion = this.attrs.discussion;\n }\n\n className() {\n return 'FofShareSocialModal Modal--small';\n }\n\n title() {\n return app.translator.trans('fof-share-social.forum.modal.title');\n }\n\n content() {\n return (\n
\n
\n
{this.shareItems().toArray()}
\n
\n
\n );\n }\n\n shareItems() {\n const items = new ItemList();\n const plainCopy = app.forum.attribute('fof-share-social.plain-copy');\n\n {\n this.networks\n .filter((name) => name !== 'native' || navigator.canShare?.(navigatorData(this.data())))\n .map((network) =>\n items.add(\n `network-${network}`,\n \n {app.translator.trans(`fof-share-social.lib.networks.${network}`)}\n \n )\n );\n }\n\n if (plainCopy) {\n items.add(\n 'plain-copy',\n
\n \n \n {icon('fas fa-copy fa-check')}\n \n
\n );\n }\n\n return items;\n }\n\n onclick(network) {\n const data = this.data();\n const action = share[network];\n\n if (typeof action === 'function') {\n return action(data);\n }\n\n const width = 1000;\n const height = 500;\n const top = $(window).height() / 2 - height / 2;\n const left = $(window).width() / 2 - width / 2;\n const windowParams = `width=${width}, height= ${height}, top=${top}, left=${left}, status=no, scrollbars=no, resizable=no`;\n\n for (const dataKey in data) {\n data[dataKey] = encodeURIComponent(data[dataKey]);\n }\n\n window.open(pupa(action, data), app.title, windowParams);\n }\n\n data() {\n const url = this.discussion.shareUrl();\n const title = app.title;\n const description = (this.discussion.firstPost() && truncate(getPlainContent(this.discussion.firstPost()?.contentHtml()), 150, 0)) || '';\n\n return { url, title, description };\n }\n\n copy() {\n const copyText = document.querySelector('.ShareUrl input');\n copyText.select();\n copyText.setSelectionRange(0, 99999);\n document.execCommand('copy');\n this.toggleCopyIcon();\n }\n\n toggleCopyIcon() {\n const copyButton = document.querySelector('.ShareUrl button i');\n copyButton.classList.toggle('fa-copy');\n setTimeout(() => {\n copyButton.classList.toggle('fa-copy');\n }, 3000);\n }\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport DiscussionPage from 'flarum/forum/components/DiscussionPage';\nimport Button from 'flarum/common/components/Button';\nimport Model from 'flarum/common/Model';\nimport Discussion from 'flarum/common/models/Discussion';\n\nimport ShareModal from './components/ShareModal';\n\napp.initializers.add('fof/share-social', () => {\n Discussion.prototype.shareUrl = Model.attribute('shareUrl');\n\n extend(DiscussionPage.prototype, 'sidebarItems', function (items) {\n const networks = app.forum.attribute('fof-share-social.networks');\n\n if (!networks.length) return;\n\n items.add(\n 'share-social',\n \n app.modal.show(ShareModal, {\n networks,\n discussion: this.discussion,\n })\n }\n >\n {app.translator.trans('fof-share-social.forum.discussion.share_button')}\n ,\n -1\n );\n });\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","_getPrototypeOf","getPrototypeOf","_construct","Parent","args","Class","Reflect","construct","sham","Proxy","Boolean","valueOf","e","isNativeReflectConstruct","push","apply","instance","Function","bind","arguments","_wrapNativeSuper","_cache","Map","undefined","fn","toString","indexOf","TypeError","has","set","Wrapper","this","writable","configurable","_htmlEscape","string","replace","MissingValueError","_Error","_this","name","Error","pupa","template","data","_temp","_ref","_ref$ignoreMissing","ignoreMissing","_ref$transform","transform","_ref2","replacer","placeholder","_step","_iterator","_createForOfIteratorHelperLoose","split","done","property","transformedValue","String","doubleBraceRegex","test","strings","output","_len","length","values","Array","_key","entries","_step$value","index","htmlEscape","navigatorData","title","text","description","url","share","facebook","twitter","linkedin","reddit","whatsapp","telegram","vkontakte","odnoklassniki","my_mail","qq","qzone","native","navigator","shareIcons","ShareModal","_Modal","_proto","oninit","vdom","networks","attrs","discussion","className","app","trans","content","m","shareItems","toArray","items","ItemList","plainCopy","attribute","filter","canShare","map","network","add","Button","icon","onclick","type","shareUrl","copy","action","windowParams","$","window","height","width","dataKey","encodeURIComponent","open","_this$discussion$firs","firstPost","truncate","getPlainContent","contentHtml","copyText","document","querySelector","select","setSelectionRange","execCommand","toggleCopyIcon","copyButton","classList","toggle","setTimeout","Modal","Discussion","Model","extend","DiscussionPage","class","show"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/share-social/webpack/bootstrap","webpack://@fof/share-social/webpack/runtime/compat get default export","webpack://@fof/share-social/webpack/runtime/define property getters","webpack://@fof/share-social/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/share-social/webpack/runtime/make namespace object","webpack://@fof/share-social/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/share-social/external root \"flarum.core.compat['forum/components/DiscussionPage']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/components/SplitDropdown']\"","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/share-social/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/share-social/external root \"flarum.core.compat['common/utils/string']\"","webpack://@fof/share-social/./src/forum/util/share.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://@fof/share-social/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://@fof/share-social/./node_modules/escape-goat/index.js","webpack://@fof/share-social/./node_modules/pupa/index.js","webpack://@fof/share-social/./src/forum/util/networks.js","webpack://@fof/share-social/./src/forum/components/ShareModal.js","webpack://@fof/share-social/./src/forum/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/SplitDropdown'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/string'];","import app from 'flarum/forum/app';\nimport { getPlainContent, truncate } from 'flarum/common/utils/string';\nimport pupa from 'pupa';\n\nexport const networks = {\n facebook: '//facebook.com/sharer/sharer.php?u={url}',\n twitter: '//twitter.com/share?url={url}&text={title}',\n linkedin: '//linkedin.com/shareArticle?mini=true&url={url}&title={title}&summary={description}',\n reddit: '//www.reddit.com/submit?url={url}&title={title}',\n whatsapp: '//api.whatsapp.com/send/?phone&text={title}%20{url}',\n telegram: '//telegram.me/share/url?url={url}&text={title}',\n\n vkontakte: '//vk.com/share.php?url={url}&title={title}&description={description}',\n odnoklassniki: '//connect.ok.ru/offer?url={url}',\n my_mail: '//connect.mail.ru/share?url={url}&title={title}&description={description}',\n qq: '//connect.qq.com/widget/shareqq/iframe_index.html?url={url}&title={title}',\n qzone: '//sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={url}&summary={description}&title={title}',\n\n native: (data) => navigator.share(getNativeData(data)),\n};\nexport const networkIcons = {\n vkontakte: 'fab fa-vk',\n my_mail: 'fas fa-at',\n qq: 'fab fa-qq',\n qzone: 'fas fa-star',\n native: 'fas fa-share-square',\n};\n\nexport const data = (discussion) => {\n const url = discussion.shareUrl();\n const title = app.title;\n const description = (discussion.firstPost() && truncate(getPlainContent(discussion.firstPost()?.contentHtml()), 150, 0)) || '';\n\n return { url, title, description };\n};\n\nexport const getNativeData = ({ title, description, url }) => ({ title, text: description, url });\n\nexport const canNativeShare = (discussion) => {\n return navigator.canShare?.(getNativeData(discussion));\n};\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","const _htmlEscape = string => string\n\t.replace(/&/g, '&')\n\t.replace(/\"/g, '"')\n\t.replace(/'/g, ''')\n\t.replace(//g, '>');\n\nconst _htmlUnescape = htmlString => htmlString\n\t.replace(/>/g, '>')\n\t.replace(/</g, '<')\n\t.replace(/�?39;/g, '\\'')\n\t.replace(/"/g, '\"')\n\t.replace(/&/g, '&');\n\nexport function htmlEscape(strings, ...values) {\n\tif (typeof strings === 'string') {\n\t\treturn _htmlEscape(strings);\n\t}\n\n\tlet output = strings[0];\n\tfor (const [index, value] of values.entries()) {\n\t\toutput = output + _htmlEscape(String(value)) + strings[index + 1];\n\t}\n\n\treturn output;\n}\n\nexport function htmlUnescape(strings, ...values) {\n\tif (typeof strings === 'string') {\n\t\treturn _htmlUnescape(strings);\n\t}\n\n\tlet output = strings[0];\n\tfor (const [index, value] of values.entries()) {\n\t\toutput = output + _htmlUnescape(String(value)) + strings[index + 1];\n\t}\n\n\treturn output;\n}\n","import {htmlEscape} from 'escape-goat';\n\nexport class MissingValueError extends Error {\n\tconstructor(key) {\n\t\tsuper(`Missing a value for ${key ? `the placeholder: ${key}` : 'a placeholder'}`, key);\n\t\tthis.name = 'MissingValueError';\n\t\tthis.key = key;\n\t}\n}\n\nexport default function pupa(template, data, {ignoreMissing = false, transform = ({value}) => value} = {}) {\n\tif (typeof template !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\` in the first argument, got \\`${typeof template}\\``);\n\t}\n\n\tif (typeof data !== 'object') {\n\t\tthrow new TypeError(`Expected an \\`object\\` or \\`Array\\` in the second argument, got \\`${typeof data}\\``);\n\t}\n\n\tconst replace = (placeholder, key) => {\n\t\tlet value = data;\n\t\tfor (const property of key.split('.')) {\n\t\t\tvalue = value ? value[property] : undefined;\n\t\t}\n\n\t\tconst transformedValue = transform({value, key});\n\t\tif (transformedValue === undefined) {\n\t\t\tif (ignoreMissing) {\n\t\t\t\treturn placeholder;\n\t\t\t}\n\n\t\t\tthrow new MissingValueError(key);\n\t\t}\n\n\t\treturn String(transformedValue);\n\t};\n\n\tconst composeHtmlEscape = replacer => (...args) => htmlEscape(replacer(...args));\n\n\t// The regex tries to match either a number inside `{{ }}` or a valid JS identifier or key path.\n\tconst doubleBraceRegex = /{{(\\d+|[a-z$_][\\w\\-$]*?(?:\\.[\\w\\-$]*?)*?)}}/gi;\n\n\tif (doubleBraceRegex.test(template)) {\n\t\ttemplate = template.replace(doubleBraceRegex, composeHtmlEscape(replace));\n\t}\n\n\tconst braceRegex = /{(\\d+|[a-z$_][\\w\\-$]*?(?:\\.[\\w\\-$]*?)*?)}/gi;\n\n\treturn template.replace(braceRegex, replace);\n}\n","import app from 'flarum/forum/app';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Button from 'flarum/common/components/Button';\nimport classList from 'flarum/common/utils/classList';\nimport { data, networkIcons, networks } from './share';\nimport pupa from 'pupa';\n\nexport const getNetworkButton = ({ network, discussion, isRounded = false }) => {\n return (\n \n {app.translator.trans(`fof-share-social.lib.networks.${network}`)}\n \n );\n};\n\nexport const onNetworkButtonClick = (network, discussion) => {\n const payload = data(discussion);\n const action = networks[network];\n\n if (typeof action === 'function') {\n return action(payload);\n }\n\n const width = 1000;\n const height = 500;\n const top = $(window).height() / 2 - height / 2;\n const left = $(window).width() / 2 - width / 2;\n const windowParams = `width=${width}, height= ${height}, top=${top}, left=${left}, status=no, scrollbars=no, resizable=no`;\n\n for (const dataKey in payload) {\n payload[dataKey] = encodeURIComponent(payload[dataKey]);\n }\n\n window.open(pupa(action, payload), app.title, windowParams);\n};\n\nexport const getNetworkButtons = (discussion, isRounded) => {\n const list = new ItemList();\n const networks = app.forum.attribute('fof-share-social.networks');\n const def = app.forum.attribute('fof-share-social.default');\n\n for (const network of networks) {\n // Do not add native share option if not supported\n if (network === 'native' && !navigator.canShare?.(data(discussion))) continue;\n\n list.add(network, getNetworkButton({ network, discussion, isRounded }));\n }\n\n if (list.has(def)) {\n list.setPriority(def, 1000);\n }\n\n return list;\n};\n","import app from 'flarum/forum/app';\nimport Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\nimport icon from 'flarum/common/helpers/icon';\n\nimport { getNetworkButtons } from '../util/networks';\n\nexport default class ShareModal extends Modal {\n oninit(vdom) {\n super.oninit(vdom);\n\n this.networks = this.attrs.networks;\n this.discussion = this.attrs.discussion;\n }\n\n className() {\n return 'FofShareSocialModal Modal--small';\n }\n\n title() {\n return app.translator.trans('fof-share-social.forum.modal.title');\n }\n\n content() {\n return (\n
\n
\n
{this.shareItems().toArray()}
\n
\n
\n );\n }\n\n shareItems() {\n const items = getNetworkButtons(this.discussion, true);\n const plainCopy = app.forum.attribute('fof-share-social.plain-copy');\n\n if (plainCopy) {\n items.add(\n 'plain-copy',\n
\n \n \n {icon('fas fa-copy fa-check')}\n \n
\n );\n }\n\n return items;\n }\n\n onclick(network) {\n return share(network);\n }\n\n copy() {\n const copyText = document.querySelector('.ShareUrl input');\n copyText.select();\n copyText.setSelectionRange(0, 99999);\n document.execCommand('copy');\n this.toggleCopyIcon();\n }\n\n toggleCopyIcon() {\n const copyButton = document.querySelector('.ShareUrl button i');\n copyButton.classList.toggle('fa-copy');\n setTimeout(() => {\n copyButton.classList.toggle('fa-copy');\n }, 3000);\n }\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport DiscussionPage from 'flarum/forum/components/DiscussionPage';\nimport Button from 'flarum/common/components/Button';\nimport Model from 'flarum/common/Model';\nimport Discussion from 'flarum/common/models/Discussion';\nimport SplitDropdown from 'flarum/common/components/SplitDropdown';\n\nimport ShareModal from './components/ShareModal';\nimport { getNativeData } from './util/share';\nimport { getNetworkButtons } from './util/networks';\n\nconst getNetworks = () => {\n let cache = null;\n\n return (networks, def) => {\n if (cache) return cache;\n\n cache = [...networks];\n const index = cache.indexOf(def);\n\n if (index !== -1) {\n cache.splice(index, 1);\n cache.unshift(def);\n }\n\n return cache;\n };\n};\n\napp.initializers.add('fof/share-social', () => {\n Discussion.prototype.shareUrl = Model.attribute('shareUrl');\n\n extend(DiscussionPage.prototype, 'sidebarItems', function (items) {\n const networks = app.forum.attribute('fof-share-social.networks');\n const def = app.forum.attribute('fof-share-social.default');\n\n const isNativeShare = def === 'native';\n const canNativeShare = isNativeShare && navigator.canShare?.(getNativeData(this.discussion));\n\n if (def && (!isNativeShare || canNativeShare)) {\n const list = getNetworkButtons(this.discussion);\n\n // Use default share button text for native sharing\n if (isNativeShare) {\n list.get('native').children = app.translator.trans('fof-share-social.forum.discussion.share_button');\n }\n\n if (list.isEmpty()) return;\n\n items.add(\n 'share-social',\n \n {list.toArray()}\n \n );\n } else {\n items.add(\n 'share-social',\n \n app.modal.show(ShareModal, {\n networks,\n discussion: this.discussion,\n })\n }\n >\n {app.translator.trans('fof-share-social.forum.discussion.share_button')}\n ,\n -1\n );\n }\n });\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","networks","facebook","twitter","linkedin","reddit","whatsapp","telegram","vkontakte","odnoklassniki","my_mail","qq","qzone","native","data","navigator","share","getNativeData","networkIcons","discussion","_discussion$firstPost","url","shareUrl","title","app","description","firstPost","truncate","getPlainContent","contentHtml","_ref","text","_getPrototypeOf","getPrototypeOf","_construct","Parent","args","Class","Reflect","construct","sham","Proxy","Boolean","valueOf","e","isNativeReflectConstruct","push","apply","instance","Function","bind","arguments","_wrapNativeSuper","_cache","Map","undefined","fn","toString","indexOf","TypeError","has","set","Wrapper","this","writable","configurable","_htmlEscape","string","replace","MissingValueError","_Error","_this","name","Error","pupa","template","_temp","_ref$ignoreMissing","ignoreMissing","_ref$transform","transform","_ref2","replacer","placeholder","_step","_iterator","_createForOfIteratorHelperLoose","split","done","property","transformedValue","String","doubleBraceRegex","test","strings","output","_len","length","values","Array","_key","entries","_step$value","index","htmlEscape","getNetworkButton","network","_ref$isRounded","isRounded","m","Button","className","classList","icon","onclick","onNetworkButtonClick","trans","payload","action","windowParams","$","window","height","width","dataKey","encodeURIComponent","open","getNetworkButtons","list","ItemList","attribute","def","canShare","add","setPriority","ShareModal","_Modal","_proto","oninit","vdom","attrs","content","shareItems","toArray","items","type","copy","copyText","document","querySelector","select","setSelectionRange","execCommand","toggleCopyIcon","copyButton","toggle","setTimeout","Modal","Discussion","Model","extend","DiscussionPage","isNativeShare","canNativeShare","class","show","children","isEmpty","SplitDropdown","buttonClassName","accessibleToggleLabel","lazyDraw"],"sourceRoot":""} \ No newline at end of file